当前位置: 代码迷 >> 综合 >> DirectX9 数学知识
  详细解决方案

DirectX9 数学知识

热度:24   发布时间:2023-12-22 06:05:09.0

目前使用Direct3D开发三维图形程序,可以采用COM接口的方式,也可以采用.NET类库的方式(Managed Direct3D)

 

FLOAT D3DXVec3Length( // Returns the magnitude.
CONST D3DXVECTOR3* pV // The vector to compute the length of.
);

D3DXVECTOR3 *D3DXVec3Normalize(
D3DXVECTOR3* pOut, // Result.
CONST D3DXVECTOR3* pV // The vector to normalize.
);

FLOAT D3DXVec3Dot( // Returns the result.
CONST D3DXVECTOR3* pV1, // Left sided operand.
CONST D3DXVECTOR3* pV2 // Right sided operand.
);//向量的点积

 D3DXVECTOR3 *D3DXVec3Cross(
D3DXVECTOR3* pOut, // Result.
CONST D3DXVECTOR3* pV1, // Left sided operand.
CONST D3DXVECTOR3* pV2 // Right sided operand.
);//向量的叉积

 

D3DXMATRIX *D3DXMatrixIdentity(
D3DXMATRIX *pout // 将矩阵转换为单位矩阵
);

D3DXMATRIX *D3DXMatrixTranspose(
D3DXMATRIX *pOut, // 输出的转置矩阵
CONST D3DXMATRIX *pM // 原矩阵
);

D3DXMATRIX *D3DXMatrixInverse(
D3DXMATRIX *pOut, // 输出的逆矩阵
FLOAT *pDeterminant, // 除非是必需的,一般设为0
CONST D3DXMATRIX *pM // 原矩阵
);

 

D3DXMATRIX *D3DXMatrixTranslation(
D3DXMATRIX* pOut, // 返回平移后的矩阵.
FLOAT x, // x轴移动的单位
FLOAT y, // y轴移动的单位
FLOAT z // z轴移动的单位
);  

D3DXMATRIX *D3DXMatrixScaling(
D3DXMATRIX* pOut, // 返回缩放后的矩阵
FLOAT sx, // x轴缩放的比例
FLOAT sy, // y轴缩放的比例
FLOAT sz // z轴缩放的比例.
);

D3DXMATRIX *D3DXMatrixRotationX(
D3DXMATRIX* pOut, // 返回旋转后的矩阵
FLOAT Angle // Angle是旋转的弧度
);

 

 FLOAT D3DXPlaneDotCoord(
     CONST D3DXPLANE *pP, // 平面
     CONST D3DXVECTOR3 *pV // 点
);//点和平面的关系

 

D3DXPLANE *D3DXPlaneFromPointNormal(
D3DXPLANE* pOut, // Result.
CONST D3DXVECTOR3* pPoint, // Point on the plane.
CONST D3DXVECTOR3* pNormal // The normal of the plane.
);//点和法线构造平面

 

D3DXPLANE *D3DXPlaneFromPoints(
D3DXPLANE* pOut, // Result.
CONST D3DXVECTOR3* pV1, // Point 1 on the plane.
CONST D3DXVECTOR3* pV2, // Point 2 on the plane.
CONST D3DXVECTOR3* pV3 // Point 3 on the plane.
);//三点构造平面

 

D3DXPLANE *D3DXPlaneTransform(
D3DXPLANE *pOut, // Result
CONST D3DXPLANE *pP, // Input plane.
CONST D3DXMATRIX *pM // Transformation matrix.
);

 

 

  相关解决方案