这儿介绍在3D场景中如何转换一个几何体。转换利用矩阵,使用xna数学库提供的函数来实现。
转换
在d3d中使用4x4的矩阵来做转换。这是因为它们使用4维度,3空间,x,y,z和1个变化,这1个变化是用字母w表示,w一般为0或1.当想要转换一个物体时,获取它的3D向量,v=[x,y,z],将w添加进去,因此就能够被4x4的矩阵乘了,所以它看起来像v=[x,y,z,1]。将w设为1,那就意味着它将会被转换。随后用4x4的矩阵M乘于v。vM的结果就是v'。v*M=v'。
xna函数库内的矩阵是XMMATRIX类型的。
[M11,M12,M13,M14]
v'[x', y', z', 1]=v[x, y, z, 1] x M[M21,M22,M23,M24]
[M31,M32,M33,M34]
[M41,M42,M43,M44]
x'=(x*M11) + (y*M21) + (z*M31) + (1*M