■D3DX_PI
■向量或点D3DXVECTOR3
☆ FLOAT D3DXVec3Length(CONST D3DXVECTOR3* pV) 计算向量长度
☆ D3DXVECTOR3* WINAPI D3DXVec3Normalize(D3DXVECTOR3* pOut,CONST D3DXVECTOR3* pV) 向量单位化
☆ FLOAT D3DXVec3Dot(CONST D3DXVECTOR3* pV1,CONST D3DXVECTOR3* pV2) 计算向量点积
☆ D3DXVECTOR3* D3DXVec3Cross(D3DXVECTOR3* pOut,CONST D3DXVECTOR3* pV1,CONST D3DXVECTOR3* pV2) 计算向量的差积
■平面D3DXPLANE
☆ D3DXPLANE* WINAPI D3DXPlaneFromPoints(D3DXPLANE* pOut,CONST D3DXVECTOR3* pV1,CONST D3DXVECTOR3* pV2,CONST D3DXVECTOR3* pV3) 三点确定一个平面
☆ D3DXPLANE* WINAPI D3DXPlaneFromPointNormal(D3DXPLANE* pOut,CONST D3DXVECTOR3* pV,CONST D3DXVECTOR3* pNormal) 一点和一个法向量确定一个平面
☆ D3DXVECTOR3* WINAPI D3DXPlaneIntersectLine(D3DXVECTOR3* pOut,CONST D3DXPLANE* pP,CONST D3DXVECTOR3* pV1,CONST D3DXVECTOR3* pV2) 求直线和平面的交点
☆ FLOAT D3DXPlaneDotCoord(CONST D3DXPLANE* pP,CONST D3DXVECTOR3* pV) 确定点和平面的关系(>0表示在面的前方,<0在后方, =0在平面上)
☆ D3DXPLANE* WINAPI D3DXPlaneNormalize(D3DXPLANE* pOut,CONST D3DXPLANE* pP) 平面的单位化
■4*4矩阵D3DXMATRIX
☆ D3DXMATRIX* WINAPI D3DXMatrixInverse(D3DXMATRIX* pOut,FLOAT* pDeterminant,CONST D3DXMATRIX* pM) 矩阵求逆
☆ D3DXMATRIX* WINAPI D3DXMatrixTranspose(D3DXMATRIX* pOut,CONST D3DXMATRIX* pM) 矩阵转置
■坐标变换
☆ D3DXMATRIX* WINAPI D3DXVec3TransformCoord(D3DXVECTOR3* pOut,CONST D3DXVECTOR3* pV,CONST D3DXMATRIX* pM) 变换点向量
☆ D3DXMATRIX* WINAPI D3DXVec3TransformNormal(D3DXVECTOR3* pOut,CONST D3DXVECTOR3* pV,CONST D3DXMATRIX* pM) 变化方向向量
☆ D3DXMATRIX* WINAPI D3DXMatrixTranslation(D3DXMATRIX* pOut,FLOAT x,FLOAT y,FLOAT z) 获得平移变换矩阵
☆ D3DXMATRIX* WINAPI D3DXMatrixScaling(D3DXMATRIX* pOut,FLOAT sx,FLOAT sy,FLOAT sz) 获得缩放变换矩阵
☆ D3DXMATRIX* WINAPI D3DXMatrixRotationX(D3DXMATRIX* pOut,FLOAT Angle) 获得X轴方向的旋转变换矩阵
☆ D3DXMATRIX* WINAPI D3DXMatrixRotationY(D3DXMATRIX* pOut,FLOAT Angle) 获得Y轴方向的旋转变换矩阵
☆ D3DXMATRIX* WINAPI D3DXMatrixRotationZ(D3DXMATRIX* pOut,FLOAT Angle) 获得Z轴方向的旋转变换矩阵
■向量或点D3DXVECTOR3
☆ FLOAT D3DXVec3Length(CONST D3DXVECTOR3* pV) 计算向量长度
☆ D3DXVECTOR3* WINAPI D3DXVec3Normalize(D3DXVECTOR3* pOut,CONST D3DXVECTOR3* pV) 向量单位化
☆ FLOAT D3DXVec3Dot(CONST D3DXVECTOR3* pV1,CONST D3DXVECTOR3* pV2) 计算向量点积
☆ D3DXVECTOR3* D3DXVec3Cross(D3DXVECTOR3* pOut,CONST D3DXVECTOR3* pV1,CONST D3DXVECTOR3* pV2) 计算向量的差积
■平面D3DXPLANE
☆ D3DXPLANE* WINAPI D3DXPlaneFromPoints(D3DXPLANE* pOut,CONST D3DXVECTOR3* pV1,CONST D3DXVECTOR3* pV2,CONST D3DXVECTOR3* pV3) 三点确定一个平面
☆ D3DXPLANE* WINAPI D3DXPlaneFromPointNormal(D3DXPLANE* pOut,CONST D3DXVECTOR3* pV,CONST D3DXVECTOR3* pNormal) 一点和一个法向量确定一个平面
☆ D3DXVECTOR3* WINAPI D3DXPlaneIntersectLine(D3DXVECTOR3* pOut,CONST D3DXPLANE* pP,CONST D3DXVECTOR3* pV1,CONST D3DXVECTOR3* pV2) 求直线和平面的交点
☆ FLOAT D3DXPlaneDotCoord(CONST D3DXPLANE* pP,CONST D3DXVECTOR3* pV) 确定点和平面的关系(>0表示在面的前方,<0在后方, =0在平面上)
☆ D3DXPLANE* WINAPI D3DXPlaneNormalize(D3DXPLANE* pOut,CONST D3DXPLANE* pP) 平面的单位化
■4*4矩阵D3DXMATRIX
☆ D3DXMATRIX* WINAPI D3DXMatrixInverse(D3DXMATRIX* pOut,FLOAT* pDeterminant,CONST D3DXMATRIX* pM) 矩阵求逆
☆ D3DXMATRIX* WINAPI D3DXMatrixTranspose(D3DXMATRIX* pOut,CONST D3DXMATRIX* pM) 矩阵转置
☆ D3DXMATRIX * D3DXMatrixIdentity (D3DXMATRIX *pout) // 将矩阵转换为单位矩阵
■坐标变换
☆ D3DXMATRIX* WINAPI D3DXVec3TransformCoord(D3DXVECTOR3* pOut,CONST D3DXVECTOR3* pV,CONST D3DXMATRIX* pM) 变换点向量
☆ D3DXMATRIX* WINAPI D3DXVec3TransformNormal(D3DXVECTOR3* pOut,CONST D3DXVECTOR3* pV,CONST D3DXMATRIX* pM) 变化方向向量
☆ D3DXMATRIX* WINAPI D3DXMatrixTranslation(D3DXMATRIX* pOut,FLOAT x,FLOAT y,FLOAT z) 获得平移变换矩阵
☆ D3DXMATRIX* WINAPI D3DXMatrixScaling(D3DXMATRIX* pOut,FLOAT sx,FLOAT sy,FLOAT sz) 获得缩放变换矩阵
☆ D3DXMATRIX* WINAPI D3DXMatrixRotationX(D3DXMATRIX* pOut,FLOAT Angle) 获得X轴方向的旋转变换矩阵
☆ D3DXMATRIX* WINAPI D3DXMatrixRotationY(D3DXMATRIX* pOut,FLOAT Angle) 获得Y轴方向的旋转变换矩阵
☆ D3DXMATRIX* WINAPI D3DXMatrixRotationZ(D3DXMATRIX* pOut,FLOAT Angle) 获得Z轴方向的旋转变换矩阵
☆ D3DXMATRIX* WINAPI D3DXMatrixRotationAxis(D3DXMATRIX* pOut,CONST D3DXVECTOR3* pV,FLOAT Angle) 获得pV轴方向的旋转变换矩阵
注意: D3DX 库也提供 D3DXVec3TransformCoordArray 和 D3DXVec3TransformNormalArray 来分别 变
换一个点数组和向量数组
换一个点数组和向量数组