3.6 XNA数学库中的转换函数
下面我们总结一下XNA数学库中有关变换的函数:
// 创建一个缩放矩阵: XMMATRIX XMMatrixScaling( FLOAT ScaleX, ScaleY, FLOAT ScaleZ); // 缩放因子 // 从向量中的分量中创建一个缩放矩阵: XMMATRIX XMMatrixScalingFromVector( FXMVECTOR Scale); // 缩放因子(sx,sy,sz) // 创建一个绕x轴旋转的矩阵 : Rx XMMATRIX XMMatrixRotationX( FLOAT Angle); // 顺时针的旋转角度θ // 创建一个绕y轴旋转的矩阵: Ry XMMATRIX XMMatrixRotationY( FLOAT Angle); // 顺时针的旋转角度θ // 创建一个绕z轴旋转的矩阵: Rz XMMATRIX XMMatrixRotationZ( FLOAT Angle); // 顺时针的旋转角度θ // 创建一个绕任意轴旋转的矩阵 : Rn XMMATRIX XMMatrixRotationAxis( FXMVECTOR Axis, // 旋转轴 FLOAT Angle); // 顺时针的旋转角度θ // 创建一个平移矩阵: XMMATRIX XMMatrixTranslation( FLOAT OffsetX, FLOAT OffsetY, FLOAT OffsetZ); // 平移因子 // 从向量的分量中创建一个平移矩阵: XMMATRIX XMMatrixTranslationFromVector( FXMVECTOR Offset); // 平移因子(tx , ty ,tz) // 计算向量-矩阵乘积vM: XMVECTOR XMVector3Transform( FXMVECTOR V, // Input v CXMMATRIX M); // Input M // 计算向量-矩阵乘积vM,其中vw = 1,用于变换点的坐标: XMVECTOR XMVector3TransformCoord( FXMVECTOR V, // Input v CXMMATRIX M); // Input M // 计算向量-矩阵乘积vM,其中vw = 0,用于变换向量: XMVECTOR XMVector3TransformNormal( FXMVECTOR V, // Input v CXMMATRIX M); // Input M
对于最后两个函数XMVector3TransformCoord和XMVector3TransformNormal,你无需显式地指定w坐标。XMVector3TransformCoord总是令使用vw = 1,而XMVector3TransformNormal总是令vw = 0。
文件下载(已下载 1004 次)发布时间:2014/10/8 下午8:01:19 阅读次数:4893