目前使用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.
);