游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1369|回复: 2

平移矩阵时为何Mesh偏离轴一段距离

[复制链接]

125

主题

364

帖子

396

积分

中级会员

Rank: 3Rank: 3

积分
396
QQ
发表于 2006-2-5 19:44:00 | 显示全部楼层 |阅读模式
如题,用默认的Teapot 绕Y轴旋转,然后 用

D3DXMatrixTranslation(&matMoveRight9, 27.0, 0.0, 0.0);
        D3DXMatrixTranslation(&matMoveLeft9, -28.0, 1.0, 0.0);
平移,结果导致 偏离 Y轴。


由于 D3DXMatrixMultiply(Out,A,B)
和 D3DXMatrixMultiply(Out,B,A)顺序不同会导致不同的结果,所以
要保持 让轴和 Mesh同时移动就需要 颠倒下顺序,

这样可以得到预料的结果,但是其内在原理是什么,请大侠指点。

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2006-2-5 21:03:00 | 显示全部楼层

Re:平移矩阵时为何Mesh偏离轴一段距离

不知汝所云,吾晕矣。
哪来的AB???哪来的Out?matMove干啥的?Teapot什么时候乘?你都没说清楚!

14

主题

131

帖子

136

积分

注册会员

Rank: 2

积分
136
发表于 2006-2-6 17:44:00 | 显示全部楼层

Re:平移矩阵时为何Mesh偏离轴一段距离

矩阵的左乘和右乘是完全不同的,线形代数里说的很清楚,因为D3D的向量是行形式,所以矩阵是右乘向量,那么如果有两个矩阵要对向量进行变换,则后变换矩阵还是遵循右乘规律。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-23 09:19

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表