09 2012 档案

摘要:在3d世界中,我们需要不停的在各个空间里面转换坐标,比如把物体由模型空间转化到世界空间,把世界空间中的点转换到摄像机的视图空间。我们知道,坐标转换可以用向量与一个转换矩阵相乘来达到转换目的。但要注意的是如果选择的是行向量,则是矩阵放在右边相乘,如果是列向量,则需要把矩阵放在向量左边相乘。如果不考虑位移,则我们可以用一个3X3矩阵来表示旋转或者缩放操作。 如果我们用行向量来表示某个模型空间中的某个点p(px py pz),假设模型经过旋转后,新的轴在世界空间中表示为 r(表示左右轴),u(表示向上的轴)f(表示向前的轴),则旋转矩阵为 rx ry rz ux uy uzfx fy fzp与矩.. 阅读全文
posted @ 2012-09-13 20:26 qzzlw 阅读(8676) 评论(2) 推荐(0)
摘要:5.5 四元数 最后一种方位表示可以用轴角表示的变种,实际上我们用他表示旋转的时候,也可以简化的从绕轴旋转的角度来看待这种表示法,这就是四元数,由爱尔兰数学家William Hamilton爵士与19世纪发明。并由Ken Shoemake在20世纪80年代引入计算机图形领域。四元数由四个数组成,并且没有万向锁的问题。并且在数学上面的连接操作非常简单。因此如果正确构造的话,它在旋转向量计算方面非常有效。 虽然任何一个四元数都可以用来表示旋转。但是我们主要使用的还是单位四元素。所谓的单位四元数即是w2+ v*v=1,其中w是向量分部,v是数量分部。使用单位四元数的理由有三个:一是使得旋转和转换计算 阅读全文
posted @ 2012-09-10 23:03 qzzlw 阅读(634) 评论(0) 推荐(0)
摘要:最近在看Essential Mathmatics for games and interactive application,在网上没有找到中文版,只能看英文版,如果有中文版的话,看起来进度会快很多,看英文版的话,进度就要慢一些。目前已经看到第五章了,如果有时间,看能不能边看边译吧。 阅读全文
posted @ 2012-09-05 23:19 qzzlw 阅读(201) 评论(0) 推荐(0)
摘要:unity3d中新增了自动寻路组件,试用一下非常简单,首先将场景烘焙好后。在运行时调用NavMesh的CalculatePath静态方法,传入起始点,和目标点,如果两点之间存在一条路径的话,则将返回的路径信息保存在NavMeshPath当中,NavMeshPath的corners属性就是一连串的连接点信息。需要注意的是第一个点是起始点。有了这些路径关键点信息,就可以控制自己的角色,逐个点的移动,最后到达目标位置。 阅读全文
posted @ 2012-09-05 23:16 qzzlw 阅读(2819) 评论(1) 推荐(0)