首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

D3DXVec3Transform()、D3DXVec3TransformCoord()、D3DXVec4Transform()有什么区别?解决思路

2013-01-05 
D3DXVec3Transform()、D3DXVec3TransformCoord()、D3DXVec4Transform()有什么区别?我E文很差,对齐次坐标也不

D3DXVec3Transform()、D3DXVec3TransformCoord()、D3DXVec4Transform()有什么区别?
我E文很差,对齐次坐标也不太理解。所以上面的三个函数我搞不清怎样用。请大侠们指点一下,谢谢 !
我在空间中定义了八个点,构成一个长方体;我想让这个长方体移动和绕自己的轴旋转,八个顶点也作相应的变换。
现在,绕轴旋转后得到一个矩阵V,那八个顶点该使用哪个函数去变换,并保证长方体不变形?
我现在的理解是:三个函数输出的实质上都是四元数矢量,只不过D3DXVec3TransformCoord()输出的W分量变成了1,所以它简化为输出个三元数矢量,它只能用来旋转方向矢量,不能用来旋转点;D3DXVec3Transform()和D3DXVec4Transform()的变换都是不失真的变换,可以用来变换点的位置。不知我理解的对不对。
如果我的理解正确的话,我是不是该使用四元数矢量定义空间的点?那么这个点的W分量又该怎样确定?如:点P(1,2,3,W),W的值应该是squal(1*1+2*2+3*3)吗?
我是菜鸟,不懂的太多了,请大侠们不吝赐教,谢谢!
[解决办法]
D3DXVec3Transform() 应该调用 三元向量;
D3DXVec4Transform() 应该调用 四元向量。
熟悉哪个用哪个,四元应该更通用,应用更广一些。 三元应该做不了所有事。

热点排行