D3DXVec3Length 函数
--------------------------------------------------------------------------------
返回 3-D向量长度。
定义:
FLOAT D3DXVec3Length(
CONST D3DXVECTOR3 *pV);参数:
pV
[in] 指向 D3DXVECTOR3 结构的源向量。
返回值:
向量的长度。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/23/148285.aspx
--------------------------------------------------------------------------------
D3DXVec3LengthSq 函数
--------------------------------------------------------------------------------
返回 3-D向量的长度的平方。
定义:
FLOAT D3DXVec3LengthSq(
CONST D3DXVECTOR3 *pV);参数:
pV
[in] 指向 D3DXVECTOR3 结构的源向量。
返回值:
向量的长度平方。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
--------------------------------------------------------------------------------
D3DXVec3Lerp 函数
--------------------------------------------------------------------------------
操作两个 3-D 向量的线性内插值。
定义:
D3DXVECTOR3 *D3DXVec3Lerp(
D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2, FLOAT s);参数:
pOut
[in, out] 指向 D3DXVECTOR3 结构的操作结果。
pV1
[in] 指向 D3DXVECTOR3 结构的源向量。
pV2
[in] 指向 D3DXVECTOR3 结构的源向量。
s
[in] 两个向量插值参数。
返回值:
指向 D3DXVECTOR3 结构的线性插值结果。
说明:
这个函数用下面的公式进行线性插值: V1 s(V2-V1).
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXVec3Lerp作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/23/148287.aspx
--------------------------------------------------------------------------------
D3DXVec3Maximize 函数
--------------------------------------------------------------------------------
返回一个 3-D 向量,它是由两个向量中最大分量组成。
定义:
D3DXVECTOR3 *D3DXVec3Maximize(
D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2);参数:
pOut
[in, out] 指向D3DXVECTOR3 结构的操作结果。
pV1
[in] 指向 D3DXVECTOR3 结构的源向量。
pV2
[in] 指向 D3DXVECTOR3 结构的源向量。
返回值:
指向 D3DXVECTOR3 结构的两向量中最大分量组成的向量。
说明:
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXVec3Maximize作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/23/148291.aspx
--------------------------------------------------------------------------------
D3DXVec3Minimize 函数
--------------------------------------------------------------------------------
返回一个 3-D 向量,它是由两个向量中最小分量组成。
定义:
D3DXVECTOR3 *D3DXVec3Minimize(
D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2);参数:
pOut
[in, out] 指向 D3DXVECTOR3 结构的操作结果。
pV1
[in] 指向 D3DXVECTOR3 结构的源向量。
pV2
[in] 指向D3DXVECTOR3 结构的源向量。
返回值:
指向D3DXVECTOR3 结构的向量,它是由两个向量中最小分量组成。
说明:
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXVec3Minimize作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
--------------------------------------------------------------------------------
D3DXVec3Normalize 函数
--------------------------------------------------------------------------------
返回3D向量的规格化向量。
定义:
D3DXVECTOR3 *WINAPI D3DXVec3Normalize(
D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV);参数:
pOut
[in, out] 指向 D3DXVECTOR3 结构的操作结果。
pV
[in] 指向D3DXVECTOR3 结构的源向量。
返回值:
指向D3DXVECTOR3 结构的规格化后的向量。
说明:
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXVec3Normalize作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
--------------------------------------------------------------------------------
D3DXVec3Project 函数
--------------------------------------------------------------------------------
把对象的向量从对象空间投影到屏幕空间。
定义:
D3DXVECTOR3 *WINAPI D3DXVec3Project(
D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV, CONST D3DVIEWPORT9 *pViewport, CONST D3DXMATRIX *pProjection, CONST D3DXMATRIX *pView, CONST D3DXMATRIX *pWorld);参数:
pOut
[in, out] 指向 D3DXVECTOR3 结构的操作结果。
pV
[in] 指向D3DXVECTOR3 结构的源向量。
pViewport
[in] 指向 D3DVIEWPORT9 结构,它是表示视口。
pProjection
[in] 指向 D3DXMATRIX 结构,它是投影矩阵。
pView
[in] 指向 D3DXMATRIX 结构,它是视变换矩阵。
pWorld
[in] 指向 D3DXMATRIX 结构,它是世界变换矩阵。
返回值:
指向 D3DXVECTOR3 结构的向量,它是把对象的向量从对象空间投影到屏幕空间的结果。
说明:
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXVec3Project作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/23/148294.aspx
--------------------------------------------------------------------------------
D3DXVec3Add 函数
--------------------------------------------------------------------------------
两个3-D向量相加。
定义:
D3DXVECTOR3 *D3DXVec3Add(
D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2);参数:
pOut
[in, out] 指向D3DXVECTOR3 结构的操作结果。
pV1
[in] 指向 D3DXVECTOR3 结构的源向量。
pV2
[in] 指向 D3DXVECTOR3 结构的源向量。
返回值:
指向D3DXVECTOR3 结构的两个3D向量的和。
说明:
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXVec3Add作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/22/147043.aspx
--------------------------------------------------------------------------------
D3DXVec3Subtract 函数
--------------------------------------------------------------------------------
两个3-D向量相减。
定义:
D3DXVECTOR3 *D3DXVec3Subtract(
D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2);参数:
pOut
[in, out] 指向 D3DXVECTOR3 结构的操作结果。
pV1
[in] 指向 D3DXVECTOR3 结构的源向量。
pV2
[in] 指向 D3DXVECTOR3 结构的源向量。
返回值:
指向 D3DXVECTOR3 结构的两个向量相减后的差向量。
说明:
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXVec3Subtract作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/24/149679.aspx
--------------------------------------------------------------------------------
D3DXVec3Dot 函数
--------------------------------------------------------------------------------
计算两个3-D向量的点乘。
定义:
FLOAT D3DXVec3Dot(
CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2);参数:
pV1
[in] 指向 D3DXVECTOR3 结构的源向量。
pV2
[in] 指向 D3DXVECTOR3 结构的源向量。
返回值:
两个3D向量的点乘。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/22/147066.aspx
--------------------------------------------------------------------------------
D3DXVec3Cross 函数
--------------------------------------------------------------------------------
计算两个3-D向量叉乘。
Syntax
D3DXVECTOR3 *D3DXVec3Cross(
D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2);参数:
pOut
[in, out] 指向 D3DXVECTOR3 结构的操作结果。
pV1
[in] 指向 D3DXVECTOR3 结构的源向量。
pV2
[in] 指向 D3DXVECTOR3 结构的源向量。
返回值:
指向D3DXVECTOR3 结构的两个向量叉乘结果。
说明:
这个函数返回两个向量叉乘结果。
例子说明如下:
D3DXVECTOR3 v;
v.x = pV1->y * pV2->z - pV1->z * pV2->y;
v.y = pV1->z * pV2->x - pV1->x * pV2->z;
v.z = pV1->x * pV2->y - pV1->y * pV2->x;
*pOut = v;
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXVec3Cross作为其它函数的参数使用。 D3DXVECTOR3 v; v.x = pV1->y * pV2->z - pV1->z * pV2->y; v.y = pV1->z * pV2->x - pV1->x * pV2->z; v.z = pV1->x * pV2->y - pV1->y * pV2->x; *pOut = v;
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/22/147064.aspx
D3DXVec3Hermite 函数
--------------------------------------------------------------------------------
进行Hermite样条插值,这里是3D向量插值。
定义:
D3DXVECTOR3 *WINAPI D3DXVec3Hermite(
D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pT1, CONST D3DXVECTOR3 *pV2, CONST D3DXVECTOR3 *pT2, FLOAT s);Parameters
pOut
[in, out] 指向 D3DXVECTOR3 结构的操作结果。
pV1
[in] 指向 D3DXVECTOR3 结构的位置向量。
pT1
[in] 指向 D3DXVECTOR3 结构的切向量。
pV2
[in] 指向 D3DXVECTOR3 结构的位置向量。
pT2
[in] 指向 D3DXVECTOR3 结构的切向量。
s
[in] 权重系数,看说明。
返回值:
指向 D3DXVECTOR3结构的Hermite样条插值。
说明:
D3DXVec3Hermite函数用Hermite 进行从(positionA, tangentA) 到 (positionB, tangentB) 插值,Hermite插值是导数值个数相等的情况下的插值多项式及插值余项。
因为样条很方面平滑地连接进去,又平滑地连接出来。坡度主要是由Q(s)属性来决定:
Q(s) = As3 Bs2 Cs D (并且 Q'(s) = 3As2 2Bs C) a) Q(0) = v1, so Q'(0) = t1b) Q(1) = v2, so Q'(1) = t2
v1就是 pV1,v2就是pV2, t1是pT1, t2是pT2。
这些参数是用解出 A, B, C, D。
D = v1 (from a)
C = t1 (from a)
3A 2B = t2 - t-1 (substituting for C)
A B = v2 - v1 - t1 (substituting for C and D)
从上面算出A,B,C,D就可以写出Q(s)来。
A = 2v1 - 2v2 t2 t1 B = 3v2 - 3v1 - 2t1 - t2C = t1 D = v1
然后就是:
Q(s) = (2v1 - 2v2 t2 t1)s3 (3v2 - 3v1 - 2t1 - t2)s2 t1s v1.
//重新整理后:
Q(s) = (2s3 - 3s2 1)v1 (-2s3 3s2)v2 (s3 - 2s2 s)t1 (s3 - s2)t2.
Hermite插值在控制动画方面非常有用,因为它通过每个控制点,因为那些点就相当于每个关键帧,并且它是位置及切线已明确,所以你可以很方便匹配每段曲线的起点与终点创建C2连续的曲线。
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXVec3Hermite作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/22/147087.aspx
--------------------------------------------------------------------------------
D3DXVec3Scale 函数
--------------------------------------------------------------------------------
缩放3-D向量。
定义:
D3DXVECTOR3 *D3DXVec3Scale(
D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV, FLOAT s);参数:
pOut
[in, out] 指向 D3DXVECTOR3 结构的操作结果。
pV
[in] 指向 D3DXVECTOR3 结构的向量。
s
[in] 缩放系数。
返回值:
指向D3DXVECTOR3 结构的缩放后的向量。
说明:
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXVec3Scale作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/24/149674.aspx
--------------------------------------------------------------------------------
D3DXVec3BaryCentric 函数
--------------------------------------------------------------------------------
返回三个3-D坐标向量组成的三角形的重心坐标点。
定义:
D3DXVECTOR3 *WINAPI D3DXVec3BaryCentric(
D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2, CONST D3DXVECTOR3 *pV3, FLOAT f, FLOAT g);参数:
pOut
[out, retval] 指向 D3DXVECTOR3 结构的操作结果。
pV1
[in] 指向 D3DXVECTOR3 结构的源向量。
pV2
[in] 指向 D3DXVECTOR3 结构的源向量。
pV3
[in] 指向 D3DXVECTOR3 结构的源向量。
f
[in] 重量系数,看说明。
g
[in] 重量系数,看说明。
返回值:
指向 D3DXVECTOR3 结构的重心坐标。
说明:
D3DXVec3BaryCentric 函数主要用来说明三个点的关系。这个函数用下面的公式计算: V1 f(V2-V1) g(V3-V1).
任何在V1V2V3 三角形平面里的点,都可以用重心坐标 ( f,g)表示出来。参数f 控制V2 有多少重量,参数g 控制V3点有多少重量。最后1- f- g 控制V1有多少重量。
注意有下面的关系:
· 如果(f>=0 && g>=0 && 1-f-g>=0),那重心点在V1V2V3内。
· 如果(f==0 && g>=0 && 1-f-g>=0),那么重心点在V1V3上。
· 如果(f>=0 && g==0 && 1-f-g>=0),那么重心点在V1V2上。
· 如果(f>=0 && g>=0 && 1-f-g==0),那么重心点在V2V3上。
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXVec3BaryCentric作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/22/147054.aspx
--------------------------------------------------------------------------------
D3DXVec3CatmullRom 函数
--------------------------------------------------------------------------------
在3-D向量之间进行Catmull-Rom插值。
定义:
D3DXVECTOR3 *WINAPI D3DXVec3CatmullRom(
D3DXVECTOR3 *pOut, CONST D3DXVECTOR3 *pV0, CONST D3DXVECTOR3 *pV1, CONST D3DXVECTOR3 *pV2, CONST D3DXVECTOR3 *pV3, FLOAT s);参数:
pOut
[in, out] 指向 D3DXVECTOR3 结构的操作结果。
pV0
[in] 指向 D3DXVECTOR3 结构的位置向量。
pV1
[in] 指向 D3DXVECTOR3 结构的位置向量。
pV2
[in] 指向 D3DXVECTOR3 结构的位置向量。
pV3
[in] 指向 D3DXVECTOR3 结构的位置向量。
s
[in] 权重系数。看说明。
返回值:
指向 D3DXVECTOR3 结构的Catmull-Rom插值结果。
说明:
比如给四点 (p1, p2, p3, p4),要找一个函数Q(s)满足下面的条件:
Q(s) 是一个三次函数。
Q(s) 是当s范围从0到1时在p2 和p3 之间插值。
Q(s) 是当s为0时,它平行于p1 到 p3的连接线。
Q(s) 是当s为1时,它平行p2 到 p4的连线。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/22/147055.aspx
--------------------------------------------------------------------------------
D3DXVec3Transform 函数
--------------------------------------------------------------------------------
用矩阵把向量(x, y, z, 1)进行变换。
定义:
D3DXVECTOR4 *WINAPI D3DXVec3Transform(
D3DXVECTOR4 *pOut, CONST D3DXVECTOR3 *pV, CONST D3DXMATRIX *pM);Parameters
pOut
[in, out] 指向 D3DXVECTOR4 结构的操作结果。
pV
[in] 指向 D3DXVECTOR3 结构的源向量。
pM
[in] 指向 D3DXMATRIX 结构的变换矩阵。
返回值:
指向D3DXVECTOR4 结构的变换后的向量。
说明:
这个函数用矩阵pM来变换向量pV (x, y, z, 1)。
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXVec3Transform作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/24/149683.aspx
--------------------------------------------------------------------------------
D3DXVec3TransformCoord 函数
--------------------------------------------------------------------------------
用矩阵变换3-D向量,并且用w = 1投影结果。
定义:
D3DXVECTOR3 *WINAPI D3DXVec3TransformCoord(
D3DXVECTOR3 *pOut,
CONST D3DXVECTOR3 *pV,
CONST D3DXMATRIX *pM
);
Parameters
pOut
[in, out] 指向 D3DXVECTOR3 结构的操作结果。
pV
[in] 指向 D3DXVECTOR3 结构的向量。
pM
[in] 指向 D3DXMATRIX 结构的变换矩阵。
Return Value
指向 D3DXVECTOR3 结构的变换后的向量。
说明:
这个函数用矩阵pM变换3-D向量pV (x, y, z, 1),并且用w = 1投影结果。
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXVec3TransformCoord作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/25/150516.aspx
--------------------------------------------------------------------------------
D3DXVec3TransformNormal 函数
--------------------------------------------------------------------------------
用矩阵变换3-D向量标准形式。
定义:
D3DXVECTOR3 *WINAPI D3DXVec3TransformNormal(
D3DXVECTOR3 *pOut,
CONST D3DXVECTOR3 *pV,
CONST D3DXMATRIX *pM
);
Parameters
pOut
[in, out] 指向 D3DXVECTOR3 结果的操作结果。
pV
[in] 指向 D3DXVECTOR3 结构的向量。
pM
[in] 指向 D3DXMATRIX 结构的矩阵。
返回值:
指向 D3DXVECTOR3 结构的变换后的向量。
说明:
这个函数用矩阵pM变换向量pV标准形式 (x, y, z, 0),不是齐次坐标形式。
如果一个非仿射矩阵变换,那么这个矩阵要作逆运算后再转置才传给本函数。
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXVec3TransformNormal作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/25/150523.aspx
--------------------------------------------------------------------------------
D3DXVec3Unproject 函数
--------------------------------------------------------------------------------
把向量从屏幕空间投影到对象空间。
定义:
D3DXVECTOR3 *WINAPI D3DXVec3Unproject(
D3DXVECTOR3 *pOut,
CONST D3DXVECTOR3 *pV,
CONST D3DVIEWPORT9 *pViewport,
CONST D3DXMATRIX *pProjection,
CONST D3DXMATRIX *pView,
CONST D3DXMATRIX *pWorld
);
Parameters
pOut
[in, out] 指向 D3DXVECTOR3 结构的操作结果。
pV
[in] 指向 D3DXVECTOR3 的向量。
pViewport
[in] 指向 D3DVIEWPORT9 结构的视口。
pProjection
[in] 指向 D3DXMATRIX 结构的投影矩阵。
pView
[in] 指向 D3DXMATRIX 结构的视变换矩阵。
pWorld
[in] 指向 D3DXMATRIX 结构的世界变换矩阵。
返回值:
指向 D3DXVECTOR3 结构的向量,它是把向量从屏幕空间投影到对象空间的结果。
说明:
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXVec3Unproject作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/25/150535.aspx
D3DXMatrixMultiply 函数
--------------------------------------------------------------------------------
两个矩阵相乘。
定义:
D3DXMATRIX *WINAPI D3DXMatrixMultiply(
D3DXMATRIX *pOut, CONST D3DXMATRIX *pM1, CONST D3DXMATRIX *pM2);参数:
pOut
[in, out] 指向D3DXMATRIX 结构的矩阵乘积。
pM1
[in] 指向D3DXMATRIX 结构的源矩阵。
pM2
[in] 指向D3DXMATRIX 结构的源矩阵。
返回值:
指向 D3DXMATRIX 结构的两个矩阵相乘的积矩阵。
说明:
本函数主要让两个矩阵相乘,表达的意思就是矩阵1变换后,接着就是矩阵2变换。如公式(Out = M1 * M2),其实在C++里,完全可以像公式那里操作,不用这个函数。
返回值是跟参数pOut 值是一样的。通过这种方法可以让D3DXMatrixMultiply 作为其它函数的参数。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/09/129135.aspx
--------------------------------------------------------------------------------
D3DXMatrixIdentity 函数
--------------------------------------------------------------------------------
创建一个单位矩阵。
定义:
D3DXMATRIX *D3DXMatrixIdentity(
D3DXMATRIX *pOut);参数:
pOut
[in, out] 指向D3DXMATRIX结构的返回单位矩阵。
返回值:
指向D3DXMATRIX 结构的单位矩阵。
说明:
单位矩阵就是除了[1,1][2,2][3,3][4,4]对角线系数为1外,其它系数全部为0。当用单位矩阵去乘以任何其它顶点向量时,都不会改变,但可方便地修改单位矩阵为旋转,平移和缩放矩阵。
返回值是跟pOut 参数返回值是一样的,这样可以让本函数成为其它函数的参数。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/09/129019.aspx
--------------------------------------------------------------------------------
D3DXMatrixTranspose 函数
--------------------------------------------------------------------------------
把一个矩阵转置并返回这个矩阵。
定义:
D3DXMATRIX *WINAPI D3DXMatrixTranspose(
D3DXMATRIX *pOut, CONST D3DXMATRIX *pM);参数:
pOut
[in, out] 指向D3DXMATRIX 结构的操作结果矩阵。
pM
[in] 指向D3DXMATRIX 结构的源矩阵。
返回值:
指向D3DXMATRIX 结构的转置矩阵。
说明:
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXMatrixTranspose作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/11/132060.aspx
--------------------------------------------------------------------------------
D3DXMatrixInverse 函数
--------------------------------------------------------------------------------
计算矩阵的逆矩阵。
定义:
D3DXMATRIX *WINAPI D3DXMatrixInverse(
D3DXMATRIX *pOut, FLOAT *pDeterminant, CONST D3DXMATRIX *pM);参数:
pOut
[in, out] 指向D3DXMATRIX结构的逆矩阵。
pDeterminant
[in, out] 指向FLOAT 类型的对角线[1,1][2,2][3,3][4,4]积,如果不需要,可以设置为 NULL。
pM
[in] 指向 D3DXMATRIX 结构源矩阵。
返回值:
指向D3DXMATRIX 结构的逆矩阵。如果没有逆矩阵,就返回NULL值。
返回值是跟pOut 参数的返回值是一样的,这样可以让本函数成为其它函数的参数。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/09/129062.aspx
--------------------------------------------------------------------------------
D3DXMatrixScaling 函数
--------------------------------------------------------------------------------
创建一个沿着X,Y和Z轴方向缩放矩阵。
定义:
D3DXMATRIX *WINAPI D3DXMatrixScaling(
D3DXMATRIX *pOut, FLOAT sx, FLOAT sy, FLOAT sz);参数:
pOut
[in, out] 指向D3DXMATRIX 结构的操作结果矩阵。
sx
[in] 沿着X轴的缩放系数。
sy
[in] 沿着Y轴的缩放系数。
sz
[in] 沿着Z轴的缩放系数。
返回值:
指向D3DXMATRIX 的缩放矩阵。
说明:
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXMatrixScaling作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/11/132022.aspx
--------------------------------------------------------------------------------
D3DXMatrixRotationX 函数
--------------------------------------------------------------------------------
创建绕着X轴旋转矩阵。
定义:
D3DXMATRIX *WINAPI D3DXMatrixRotationX(
D3DXMATRIX *pOut, FLOAT Angle);参数:
pOut
[in, out] 指向D3DXMATRIX 结构的操作结果矩阵。
Angle
[in] 绕着X轴旋转的角度(单位是弧度)。角度计算方法是当朝着旋转轴的原点看去时,顺时针方向为正值。
返回值:
指向D3DXMATRIX 结构的绕着X轴旋转矩阵。
说明:
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXMatrixRotationX作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/11/131998.aspx
--------------------------------------------------------------------------------
D3DXMatrixRotationY 函数
--------------------------------------------------------------------------------
创建绕着Y轴旋转矩阵。
定义:
D3DXMATRIX *WINAPI D3DXMatrixRotationY(
D3DXMATRIX *pOut, FLOAT Angle);参数:
pOut
[in, out] 指向D3DXMATRIX 结构的操作结果矩阵。
Angle
[in] 绕着Y轴旋转的角度(单位是弧度)。角度计算方法是当朝着旋转轴的原点看去时,顺时针方向为正值。
返回值:
指向D3DXMATRIX 结构的绕着Y轴旋转矩阵。
说明:
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXMatrixRotationY作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/11/132005.aspx
--------------------------------------------------------------------------------
D3DXMatrixRotationZ 函数
--------------------------------------------------------------------------------
创建绕着Z轴旋转矩阵。
定义:
D3DXMATRIX *WINAPI D3DXMatrixRotationZ(
D3DXMATRIX *pOut, FLOAT Angle);Parameters
pOut
[in, out] 指向D3DXMATRIX 结构的操作结果矩阵。
Angle
[in] 绕着Z轴旋转的角度(单位是弧度)。角度计算方法是当从Z正轴朝着Z轴的原点看去时,顺时针方向为正值。
返回值:
指向D3DXMATRIX 结构的绕着Z轴旋转矩阵。
说明:
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXMatrixRotationZ作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/11/132016.aspx
--------------------------------------------------------------------------------
D3DXMatrixRotationAxis 函数
--------------------------------------------------------------------------------
创建一个可以绕着任意轴旋转的旋转矩阵。
定义:
D3DXMATRIX *WINAPI D3DXMatrixRotationAxis(
D3DXMATRIX *pOut, CONST D3DXVECTOR3 *pV, FLOAT Angle);参数:
pOut
[in, out] 指向D3DXMATRIX 结构的操作结果矩阵。
pV
[in] 指向任意轴向量。请参考 D3DXVECTOR3。
Angle
[in] 绕着任意轴旋转的角度(单位是弧度)。角度计算方法是当朝着旋转轴的原点看去时,顺时针方向为正值。
返回值:
指向绕着任意轴旋转的旋转矩阵。
说明:
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXMatrixRotationAxis作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/11/131978.aspx
--------------------------------------------------------------------------------
D3DXMatrixRotationYawPitchRoll 函数
--------------------------------------------------------------------------------
用指定的绕Y轴角度,绕X轴角度和Z轴角度创建旋转矩阵。
定义:
D3DXMATRIX *WINAPI D3DXMatrixRotationYawPitchRoll(
D3DXMATRIX *pOut, FLOAT Yaw, FLOAT Pitch, FLOAT Roll);参数:
pOut
[in, out] 指向D3DXMATRIX 结构的操作结果矩阵。
Yaw
[in] 绕着Y轴旋转角度(单位弧度)。
Pitch
[in] 绕着X轴旋转角度(单位弧度)。
Roll
[in] 绕着Z轴旋转角度(单位弧度)。
返回值:
指向D3DXMATRIX 结构的绕着Y,X和Z轴旋转的旋转矩阵。
说明:
这样可以让函数D3DXMatrixRotationYawPitchRoll作为其它函数的参数使用。
这个矩阵的变换顺序是先绕着Z轴旋转,接着是绕着X轴旋转,最后是绕着Y轴旋转。这些都是相对于物体的本地坐标系来说的。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/11/132008.aspx
D3DXMatrixRotationQuaternion 函数
--------------------------------------------------------------------------------
从一个四元组创建一个旋转矩阵。
定义:
D3DXMATRIX *WINAPI D3DXMatrixRotationQuaternion(
D3DXMATRIX *pOut, CONST D3DXQUATERNION *pQ);参数:
pOut
[in, out] 指向D3DXMATRIX 结构的操作结果矩阵。
pQ
[in] 指向 D3DXQUATERNION 结构的四元组。
返回值:
指向从四元组创建的D3DXMATRIX的旋转矩阵。
说明:
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXMatrixRotationQuaternion作为其它函数的参数使用。
要想知道由向量( x, y, z )和角度怎么样计算四元组,可以看结构D3DXQUATERNION相关内容。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/11/131990.aspx
--------------------------------------------------------------------------------
D3DXQuaternionIdentity 函数
--------------------------------------------------------------------------------
返回单位四元数。
定义:
D3DXQUATERNION *D3DXQuaternionIdentity(
D3DXQUATERNION *pOut);参数:
pOut
[in, out] 指向 D3DXQUATERNION 结构的操作结果。
返回值:
指向D3DXQUATERNION 结构的单位四元数。
说明:
如果四元数是 (x, y, z, w),那么D3DXQuaternionIdentity 函数返回的四元数是 (0, 0, 0, 1)。
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXQuaternionIdentity作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/14/136152.aspx
--------------------------------------------------------------------------------
D3DXQuaternionIsIdentity 函数
--------------------------------------------------------------------------------
检查一个四元数是否是单位四元数。
定义:
BOOL D3DXQuaternionIsIdentity(
CONST D3DXQUATERNION *pQ);参数:
pQ
[in] 指向D3DXQUATERNION 结构的要测试四元数。
返回值:
如果四元数是单位四元数,就返回TRUE,否则返回FALSE。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/14/136155.aspx
--------------------------------------------------------------------------------
D3DXQuaternionLength 函数
--------------------------------------------------------------------------------
返回四元数的长度。
定义:
FLOAT D3DXQuaternionLength(
CONST D3DXQUATERNION *pQ);参数:
pQ
[in] 指向 D3DXQUATERNION 结构的源四元数。
返回值:
四元数的长度。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/14/136160.aspx
--------------------------------------------------------------------------------
D3DXQuaternionLengthSq 函数
--------------------------------------------------------------------------------
返回四元数的长度的平方。
定义:
FLOAT D3DXQuaternionLengthSq(
CONST D3DXQUATERNION *pQ);参数:
pQ
[in] 指向 D3DXQUATERNION 结构的源四元数。
返回值:
四元数的长度的平方。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/14/136172.aspx
--------------------------------------------------------------------------------
D3DXQuaternionNormalize 函数
--------------------------------------------------------------------------------
计算一个单位长度的四元数。
定义:
D3DXQUATERNION *WINAPI D3DXQuaternionNormalize(
D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ);参数:
pOut
[in, out] 指向 D3DXQUATERNION 结构的操作结果。
pQ
[in] 指向 D3DXQUATERNION 结构的源四元数。
返回值:
指向 D3DXQUATERNION 结构的单位长度的四元数。
说明:
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXQuaternionNormalize作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/15/137681.aspx
--------------------------------------------------------------------------------
D3DXQuaternionConjugate 函数
--------------------------------------------------------------------------------
返回共轭的四元数。
定义:
D3DXQUATERNION *D3DXQuaternionConjugate(
D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ);参数:
pOut
[in, out] 指向 D3DXQUATERNION 结构的操作结果。
pQ
[in] 指向 D3DXQUATERNION 结构的输入四元数。
返回值:
指向D3DXQUATERNION 结构的共轭的四元数。
说明:
如果四元数为 (x, y, z, w),那么经函数 D3DXQuaternionConjugate 处理后,就会返回四元数(-x, -y, -z, w)。
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXQuaternionConjugate作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/13/134825.aspx
--------------------------------------------------------------------------------
D3DXQuaternionMultiply 函数
--------------------------------------------------------------------------------
两个四元数相乘。
定义:
D3DXQUATERNION *WINAPI D3DXQuaternionMultiply(
D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ1, CONST D3DXQUATERNION *pQ2);参数:
pOut
[in, out] 指向 D3DXQUATERNION 结构的操作结果。
pQ1
[in] 指向 D3DXQUATERNION 结构的源四元数。
pQ2
[in] 指向 D3DXQUATERNION 结构的源四元数。
返回值:
指向 D3DXQUATERNION 结构的两个四元数的积。
说明:
结果表达的意思就是Q1旋转后接着就是Q2旋转 (Out = Q1 * Q2)。D3DXQuaternionMultiply 函数旋转操作与D3DXMatrixMultiply 有相同意思。
D3DXQuaternionMultiply 函数连接四元数变换顺序跟D3DXMatrixMultiply 函数是一样。比如:mX 和 mY 表示跟qX 和 qY同样的旋转矩阵, 那么这样操作结构跟四元数操作结果是一致的。
D3DXMatrixMultiply(&m, &mX, &mY);D3DXQuaternionMultiply(&q, &qX, &qY);四元数的乘法操作是不可适合交换
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXQuaternionMultiply作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/15/137680.aspx
--------------------------------------------------------------------------------
D3DXQuaternionDot 函数
--------------------------------------------------------------------------------
返回两个四元数点乘结果。
定义:
FLOAT D3DXQuaternionDot(
CONST D3DXQUATERNION *pQ1, CONST D3DXQUATERNION *pQ2);参数:
pQ1
[in] 指向 D3DXQUATERNION 结构的四元数。
pQ2
[in] 指向D3DXQUATERNION 结构的四元数。
返回值:
两个四元数的点积。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/13/134856.aspx
--------------------------------------------------------------------------------
D3DXQuaternionExp 函数
--------------------------------------------------------------------------------
计算四元数的指数。
定义:
D3DXQUATERNION *WINAPI D3DXQuaternionExp(
D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ);参数:
pOut
[in, out] 指向 D3DXQUATERNION 结构的操作结果。
pQ
[in] 指向D3DXQUATERNION 结构的四元数。
返回值:
指向 D3DXQUATERNION 结构的四元数的指数。
说明:
这个函数是把一个纯四元数转换成一个单位的四元数。D3DXQuaternionExp 在计算纯四元数时会忽略w分量(w == 0)。
如果四元数如下:q = (0, theta * v); 这个函数计算指数结果为:exp(Q) = (cos(theta), sin(theta) * v)其中v 是四元数的向量。
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXQuaternionExp作为其它函数的参数使用。
D3DXQuaternionSquadSetup 函数也能设置四元数的控制点。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/13/134858.aspx
--------------------------------------------------------------------------------
D3DXQuaternionLn 函数
--------------------------------------------------------------------------------
计算自然对数。
定义:
D3DXQUATERNION *WINAPI D3DXQuaternionLn(
D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ);参数:
pOut
[in, out] 指向 D3DXQUATERNION 结构的操作结果。
pQ
[in]指向 D3DXQUATERNION 结构的源四元数。
返回值:
指向 D3DXQUATERNION 结构的四元数自然对数。
说明:
函数 D3DXQuaternionLn 仅能计算单位四元数的自然对数:
如果单位四元数是:Q == (cos(theta), sin(theta) * v) 其中 |v| = 1那么Q的自然对数就是 ln(Q) = (0, theta * v)函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXQuaternionLn作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/14/136179.aspx
--------------------------------------------------------------------------------
D3DXQuaternionInverse 函数
--------------------------------------------------------------------------------
共轭变换并规格化四元数。
定义:
D3DXQUATERNION *WINAPI D3DXQuaternionInverse(
D3DXQUATERNION *pOut, CONST D3DXQUATERNION *pQ);参数:
pOut
[in, out] 指向 D3DXQUATERNION 结构的操作结果。
pQ
[in] 指向D3DXQUATERNION 的源四元数。
返回值:
指向 D3DXQUATERNION 结构的逆四元数。
说明:
一个单位四元数定义如下:Q == (cos(theta), sin(theta) * v) 其中 |v| = 1Q 的自然对数是 ln(Q) = (0, theta * v)函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXQuaternionInverse作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/14/136154.aspx
--------------------------------------------------------------------------------
D3DXQuaternionRotationMatrix 函数
--------------------------------------------------------------------------------
从一个旋转矩阵创建一个四元数。
定义:
D3DXQUATERNION *WINAPI D3DXQuaternionRotationMatrix(
D3DXQUATERNION *pOut, CONST D3DXMATRIX *pM);参数:
pOut
[in, out] 指向 D3DXQUATERNION 结构的操作结果。
pM
[in] 指向 D3DXMATRIX 结构的旋转矩阵。
返回值:
指向 D3DXQUATERNION 结构的旋转四元数。
说明:
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXQuaternionRotationMatrix作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/15/137706.aspx
--------------------------------------------------------------------------------
D3DXQuaternionRotationAxis 函数
--------------------------------------------------------------------------------
创建一个绕着任意轴旋转的四元数。
定义:
D3DXQUATERNION *WINAPI D3DXQuaternionRotationAxis(
D3DXQUATERNION *pOut, CONST D3DXVECTOR3 *pV, FLOAT Angle);参数:
pOut
[in, out] 指向 D3DXQUATERNION 结构的操作结果。
pV
[in] 指向 D3DXVECTOR3 结构的四元数旋转轴向量。
Angle
[in] 旋转角度(单位弧度)。当从旋转轴正方看原时的顺时针方向为正方向角度。
返回值:
指向 D3DXQUATERNION structure rotated around the specified axis.
说明
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXQuaternionRotationAxis作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/15/137688.aspx
--------------------------------------------------------------------------------
D3DXQuaternionRotationYawPitchRoll 函数
--------------------------------------------------------------------------------
用绕Y轴角度,绕X轴角度和Z轴角度创建旋转的四元数。
定义:
D3DXQUATERNION *WINAPI D3DXQuaternionRotationYawPitchRoll(
D3DXQUATERNION *pOut, FLOAT Yaw, FLOAT Pitch, FLOAT Roll);Parameters
pOut
[in, out] 指向 D3DXQUATERNION 结构的操作结果。
Yaw
[in] 绕着Y轴旋转角度(单位弧度)。
Pitch
[in] 绕着X轴旋转角度(单位弧度)。
Roll
[in] 绕着Z轴旋转角度(单位弧度)。
返回值:
指向 D3DXQUATERNION 结构的旋转的四元数。
说明:
函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXQuaternionRotationYawPitchRoll作为其它函数的参数使用。
函数信息:
Header
d3dx9math.h
Import library
d3dx9.lib
Minimum operating systems
Windows 98
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/caimouse/archive/2004/10/15/137708.aspx
你可以通过这个链接引用该篇文章:http://dracly.bokee.com/viewdiary.41921073.html