自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 基于Assimp的骨骼动画实现

原文链接:http://www.nicemxp.com/articles/31emmm...模型资源是在淘宝花5个大洋买的。实际有很多模型,带动画的只有6个,实际最后用3DMax导出fbx的模型assimp只有两个加载出来是正常的。感觉assimp加载fbx不太友好,网上也有很多人有这种情况(不知道是不是自己写的代码有问题)。 assimp加载骨骼动画网上有很详细的教程,地址:h...

2019-07-04 15:49:01 3699 3

原创 3D图形学学习总结(十二)—纹理滤波

原文链接:http://www.nicemxp.com/articles/29 双线性纹理滤波 之前进行的纹理映射过程中,包括仿射纹理映射和透视纹理映射,采用的都是点采样,即使用纹理坐标u和v,丢弃了它的小数部分(或者进行四舍五入)。 这样做的问题就是本来可以用作绘制更高的图像信息被丢弃了,这就是双线性滤波的作用,不丢弃小数部分,而是根据纹理坐标u,v采集纹理图中...

2019-04-07 21:47:51 914 1

原创 3D图形学学习总结(十一)—深度缓存

原文链接:http://www.nicemxp.com/articles/28 在前面的学习中,总是用一个箱子来进行各种测试,但是在世界中如果有很多个物体,然后将物体都加入渲染列表中后,发现渲染出来的效果跟想象中的不一样。 这是因为渲染接口接受到渲染列表中的三角形面是无序的,没有顺序先后之分,总是把新收到的三角形渲染到屏幕上并覆盖到屏幕本来像素点的颜色。也许我们可以为插...

2019-04-07 15:54:55 684

原创 3D图形学学习总结(十)—纹理映射透视矫正

原文链接:http://www.nicemxp.com/articles/27 之前的总结中介绍过仿射纹理映射,仿射纹理映射中纹理坐标是根据三角形屏幕坐标线性插值得到的,但是三角形在3d空间中映射到屏幕坐标时是与三角形的z轴分量相关的。所以直接直接通过屏幕坐标线性插值得到的纹理坐标是有误差的。 我们可以看一下仿射纹理映射: 这是将一个纹理图直接根据平面坐标...

2019-04-07 13:50:36 2260

原创 3D图形学学习总结(九)—3D裁剪

原文链接:http://www.nicemxp.com/articles/26 在渲染管线中,物体经过世界变换,相机变换,物体剔除,剩下的物体就是我们要进行渲染的,我们把这些物体加入渲染列表中,之后我们应该继续进行透视变化。 但是进行透视变换之前,我们应该会想到有些物体虽然没有被剔除,但是只有一部分在视景体中,另一部分还在视景体外,这样组成物体网格的三角形加入渲染列表中...

2019-04-06 22:42:50 2599

原创 四元数的一些整理

原文链接:http://www.nicemxp.com/articles/30四元数在3d图形学中主要用来进行球面线性插值,可以让相机在球面上圆滑的移动,避免了相机通过欧拉角计算的一些弊端,如万向死锁。所以记录下四元数的一些知识和想法,本文只是一段自己学习过程中的理解思路,可能有些不理解的地方自己理解的也有问题,具体的推导过程太多这里不记录,可以自己根据性质推导或者查看相关资料。四元数在数...

2019-04-04 20:29:08 1184

原创 3D图形学学习总结(八)—简单光照

原文链接:http://www.nicemxp.com/articles/25游戏中通常会通过光照的原理来模拟计算光照,越逼真的光照需要的计算越复杂,但是在基于软件渲染的条件下只能模拟一些简单的基础光照,让游戏看起来更自然些。下面记录些简单光照模型。一、环境光环境光是世界中来自四面八方的光,它没有确切的来源,而是各种光经过各种物体反射后的结果,我们正常能看见物体就是因为环境光在物体上被...

2019-02-23 18:05:31 688

原创 3D图形学学习总结(七)—高洛德着色和仿射纹理映射

原文链接:http://www.nicemxp.com/articles/24gouraud着色和仿射纹理映射,两种算法非常相似,都是一种插值计算的算法,下面记录下原理。Gouraud着色着色是一种游戏物体线框或者网格的填充模式,因为游戏的物体线框和网格都是由三角形组成的,所以着色就是对三角形进行填充,是在二维空间中进行的,gouraud着色是根据三角形顶点的颜色,进行插值计算来完成三...

2019-01-30 16:24:08 1066 1

原创 3D图形学学习总结(六)—背面消除与物体剔除

原文链接:http://www.nicemxp.com/articles/23物体从局部坐标最后渲染到屏幕上我们已经基本了解了,但是在3d流水线中我们不能把世界中所有的物体和物体所有的面都渲染出来,这样在视景体中物体的背面或者不在视景体中的物体,对他们进行计算都是做无用功,所以有了物体的背面消除和物体剔除。背面消除物体的背面消除很简单,在世界坐标中进行,即相机坐标转换操作之前,物体的面...

2018-11-15 16:14:27 1751 1

原创 3D图形学学习总结(五)—屏幕坐标变换

原文链接:http://www.nicemxp.com/articles/22物体顶点v经过透视变换后在视平面上的投影坐标(xper, yper),现在要将视平面坐标变换到屏幕上,需要经过屏幕坐标变换,缩放投射到屏幕上。屏幕宽度:SCREEN_WIDTH,屏幕宽度:SCREEN_HEIGHT,如图:注意,屏幕的y轴坐标是反转了的,我们现在进行映射变换。物体顶点的透视坐标(经过归...

2018-11-06 22:38:57 2081

原创 3D图形学学习总结(四)—透视坐标变换

原文链接:http://www.nicemxp.com/articles/21经过相机坐标变换后,相机位置已经变换到了原点处,朝向指向正Z轴,如图:如图是左手坐标系下3D系统俯视图,相机视野为90度,视景体内物体的顶点需要投射到视平面上完成透视变换,如果我们知道了视距d可以很容易算出顶点在视平面投影的坐标,如图:图示是3D系统的侧视图,YOZ平面下根据相似三角形定理可以很容易得...

2018-11-06 20:14:04 5417 1

原创 3D图形学学习总结(三)—相机坐标转换(UVN相机)

原文链接:http://www.nicemxp.com/articles/20在很多情况下,欧拉相机是可行的,但是会存在一些问题,如万向头死锁。UVN相机是使用注视目标和向量u,v,n定义的。它与欧拉相机模型的差别是如何定义相机朝向,欧拉相机使用角度,而UVN相机使用向量。定义相机的朝向:右向量u( ux, uy, uz),上向量v( vx, vy, vz),注视向量n( nx, ny, ...

2018-11-06 15:54:05 4297

原创 3D图形学学习总结(二)—相机坐标转换(欧拉相机)

原文链接:http://www.nicemxp.com/articles/19物体放置到世界中后,在欧拉相机模型下转换成相机坐标。欧拉相机模型是使用位置和旋转角度(欧拉角度)定义的,其中旋转角度决定了相机的朝向。相机位置在(camx, camy, camz),观察角度为(0,angy,0),即相机绕y轴顺时针旋转angy。如图:如图所示,要想转换成相机坐标,首先将相机移动到原点...

2018-11-05 20:29:39 3325

原创 3D图形学学习总结(一)—世界坐标转换

原文链接:http://www.nicemxp.com/articles/18一个在局部模型坐标下的立方体,如图:该立方体共8个顶点,在局部坐标中的坐标可以在图中看到,如果把该立方体放入世界坐标系中(world_x,world_y,world_z)处,即局部坐标的中心点(0,0,0)移动到(world_x,world_y,world_z),那么它的8个顶点也要跟着移动,以v0点为例...

2018-11-02 20:07:19 2618

原创 3D图形学学习总结总览

原文链接:http://www.nicemxp.com/articles/173D图形学学习总结(一)—世界坐标转换3D图形学学习总结(二)—相机坐标转换(欧拉相机)3D图形学学习总结(三)—相机坐标转换(UVN相机)3D图形学学习总结(四)—透视坐标变换3D图形学学习总结(五)—屏幕坐标变换3D图形学学习总结(六)—背面消除与物体剔除3D图形学学习总结(七)—Gour...

2018-11-02 18:15:33 734 2

原创 常用排序算法总结

整理了下一些常用的排序算法。原文访问链接:http://www.nicemxp.com/articles/16一、冒泡排序冒泡排序:一排n个元素的序列,通过两两比较交换位置保持大的(或者小的)在右侧,这样经过n-1轮这样的操作完成排序。源码:#define SWAP(a,b) {a=a+b;b=a-b;a=a-b;}// 冒泡排序void BubbleSort(int sr...

2018-10-20 14:39:47 100

原创 深入理解字符串(编码,解码,乱码问题)

原文链接:http://www.nicemxp.com/articles/14背景:写python的时候,一旦涉及到中文字符串,总会遇到各种编码乱码问题,虽然总是可以通过Goggle,百度等解决,但是知其然而不知其所以然的感觉不太好,因此系统的学习,收集整理了关于字符串编码解码等知识。包括字符集,字符编码的概念。ASCII,GB2312,GBK字符集和ASCII,EUC-CN,CP936编码。...

2017-07-06 14:43:49 2704 1

原创 破解图片防盗链

原文链接:http://www.nicemxp.com/articles/13背景:想要在自己的网站上直接使用XX网站的图片链接,但是XX网站采用了图片防盗链,自己的网站上无法直接使用。图片防盗链实现的原理:图片防盗链技术是指在通过链接访问图片时,检查了图片访问请求的头部信息中的referer,如果请求中的referer信息不满足被访问网站的设置则无法获取图片。知道了原理后想办法如...

2017-06-24 15:32:52 6362 2

原创 python爬虫之爬取捧腹网段子

原文链接:http://www.nicemxp.com/articles/12背景:抓取捧腹网首页的段子和搞笑图片链接如图:地址:https://www.pengfu.com/首页中有很多子页面:这里抓取前10页的段子和图片链接。首先写一个获取页面的接口,捧腹网页面可以直接获取,不需要做特殊处理,代码如下:# -*- coding:utf-8 -*-...

2017-06-23 16:14:12 794

原创 python爬虫之爬取腾讯新闻

原文链接:http://www.nicemxp.com/articles/11本文目的抓取腾讯新闻首页中要闻页签下的所有新闻标题和链接。如图:地址:http://news.qq.com/top_index.shtml要闻页签中一般会有几个分页:所以要爬取要闻下的所有新闻标题和链接就需要一个一个分页的爬取。下面开始写代码。首先获取腾讯新闻页面内容,写一个获取页面的接口...

2017-06-11 16:00:34 13915 6

原创 一个简单的CSS加载动画

最新学习css,之前看过诺基亚手机的一个加载动画,所以想做一个类似的动画,动画效果如下:源码:html: animate CSS:.animate-continer { background: rgb(50, 50, 50); opacity: 0.4; overflow: hidden;}.ani

2017-05-05 21:00:49 1910

原创 Django本地配置ckeditor(windows系统)

原文链接:http://www.nicemxp.com/articles/9使用Django搭建博客时,还不太清楚通过什么方式来进行博客文章的编辑录入,经过查找资料得知可以通过富文本编辑器编辑文本,会自动生成html格式的文本。最后选择了简单的ckeditor作为博客的文章编辑工具。先安装django-ckeditor,cmd下键入pip install django-ckeditor,安装...

2017-05-05 18:24:18 1536 1

原创 阿里云ECS(win server2008)部署Django

原文链接:http://www.nicemxp.com/articles/8自己用Django搭建了个博客网站,在本地部署好后准备部署到云服务器上,以下记录部署过程以及遇到的问题。一、安装IIS和FTPIIS是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网...

2017-05-05 10:21:13 3999

原创 Apache+mod_wsgi本地部署Django(windows系统)

原文链接:http://www.nicemxp.com/articles/7本地Apache+mod_wsgi部署Django搭建博客网站,开始用Django内置的manage.py runserver 0.0.0.0:8080来本地搭建,本地数据库,逻辑和模板都写好并跑通后上网查找接下来需要将自己的程序托管到Apache,Apache的组件中mod_wsgi对python的支持最好,所以...

2017-04-21 20:34:49 8665 2

原创 Django本地配置mysql(windows系统)

原文链接:http://www.nicemxp.com/articles/5一、本地安装MySql数据库存储引擎首先需要在本机安装mysql 下载地址:https://dev.mysql.com/downloads/mysql/根据自己本机的操作系统下载对应版本。下面是我的安装步骤以及遇到的问题:我下载的是mysql-5.7.18-winx64,将其解压到C盘根目录,路径:C:\mys...

2017-04-12 11:45:09 5345

原创 lua的sort排序

原文链接:http://www.nicemxp.com/articles/4之前使用lua的排序table.sort时总是会遇到报错,如:attempt to compare number with nil 或者 invalid order function for sortingtable.sort需要两个参数,一个是table表一个是排序函数这个排序函数有两个参数,a和b 在a需要...

2017-04-08 20:29:45 2975

原创 chrome javascript程序拓展(自动订餐插件)

原文链接:http://www.nicemxp.com/articles/3背景:公司加班第二天可以有免费加班餐,但是很多同学总是忘记去订餐页面订餐。内容是想写一个脚本,在进入公司OA网站时脚本开始运行,将后台的加班餐数据在首页中图形化方便订餐。脚本写好后上网查找通过什么方式可以在访问OA首页时自动运行我写的脚本。之前模糊的听说过浏览器插件是用来做类似功能的,就上网查了许多关于浏...

2017-03-25 16:27:06 483

原创 selenium+python自动登录脚本

原文链接:http://www.nicemxp.com/articles/2os:windows前提:Python,selenium,IEDriverServer.exe,ie浏览器首先安装Python2.7安装成功后,计算机联网状态下在cmd命令行下输入:pip install -U seleniumselenium安装后,在selenium官网下载IEDriverSe...

2017-02-07 20:24:52 5030

原创 将C/C++注册到LUA环境中使用

原文链接:http://www.nicemxp.com/articles/1刚刚学习lua,学习到如何将C/C++函数接口注册到lua环境中,使之可以在lua被调用。在http://www.lua.org/ftp/点击打开链接处下载lua-5.1.5源码使用C语言写一个base64编码的函数接口,函数参数为输入字符串,输入字符串长度,输出字符串长度。返回值为编码后的字符串注册到lu...

2016-09-30 16:20:15 2083

原创 博客开通 记

时间:2016/9/19一直想有一个自己的博客,用来记录自己的学习与生活,今天博客新开通,以后会在此记录自己的学习体会,生活经历。期待日后可以有一个自己的博客网站— nice_xp

2016-09-19 23:10:21 209

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除