点 vVertex( x , y , z ) 为CVector3类型的3维顶点向量,是一个自身物体坐标系的坐标值。现在要想得到vVertex在世界坐标系的值,必然要乘以各种变换后的世界坐标系矩阵,但这个世界坐标系的矩阵是4X4的矩阵,可是三维向量是不能和4X4的矩阵相乘,只能和3X3的矩阵相乘,请问有什么好的解决方法?
我是这样的,将三维顶点“变成”四维vVertex( x , y , z , 1 )。
本来三维向量( x , y , z ) 本质就是四维齐次坐标( x , y , z , 1 )的一种简写吗,呵呵。
然后按4维向量( x , y , z , 1 )乘以4X4矩阵的公式计算,得出的结果还是4维向量=( x , y , z , w ). 可是我需要的结构还是一个3维向量,难道这样? 结果 = ( x/w , y/w , z/w )