游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3367|回复: 13

这种情况下怎么求旋转矩阵

[复制链接]

1

主题

15

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2005-9-22 20:52:00 | 显示全部楼层 |阅读模式
一个向量,知道它需要绕X轴、Y轴、Z轴旋转的3个角度,这个旋转矩阵怎么求,能用四元数直接表示这个旋转就更好了~谢谢~!

33

主题

118

帖子

173

积分

注册会员

Rank: 2

积分
173
发表于 2005-9-22 23:58:00 | 显示全部楼层

Re:这种情况下怎么求旋转矩阵

将三个旋转矩阵乘到一起就是你要求的旋转矩阵了,注意一下顺序。当然可以使用四元数直接表示这个旋转,不过公式稍微复杂点,你找一下资料吧。

9

主题

198

帖子

198

积分

注册会员

Rank: 2

积分
198
发表于 2005-9-23 00:25:00 | 显示全部楼层

Re:这种情况下怎么求旋转矩阵

旋转有三种表示方式,
1 Euler Angle, 就如你所述各个轴的旋转度数都知道。
2 Matrix 就是传统的矩阵方程
3 Quaternion 就是4元数的表述

这3种方式的互相转换一般的图形类数学书中都会提到,你可以去找找。

1

主题

15

帖子

15

积分

新手上路

Rank: 1

积分
15
 楼主| 发表于 2005-9-23 11:24:00 | 显示全部楼层

Re:这种情况下怎么求旋转矩阵

谢谢各位大大的帮忙,二楼的大大所提的,"注意顺序",我看一般都是按Z,Y,X顺序依次乘的,换其它的顺序,如,X,Y,Z,我试了下,得出的旋转矩阵及四元数都不相同,但他们的旋转效果是不是一样的?
也就是说,不注意顺序的话,是不是也可以?

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2005-9-23 12:28:00 | 显示全部楼层

Re:这种情况下怎么求旋转矩阵

不一定的.......
因为矩阵的乘法一般来说不据有可逆性,哈哈

18

主题

971

帖子

982

积分

高级会员

Rank: 4

积分
982
发表于 2005-9-23 12:30:00 | 显示全部楼层

Re:这种情况下怎么求旋转矩阵

当然如果你只是用单轴旋转x,y,z的话倒是无所谓的,因为这些matrix是可逆、同构的,可交换乘法顺序,建议读数学书,(PS,偶是学数学的,要多拉些人来学数学才行)

11

主题

123

帖子

123

积分

注册会员

Rank: 2

积分
123
发表于 2005-9-23 13:20:00 | 显示全部楼层

Re:这种情况下怎么求旋转矩阵

Directx中有一个直接的函数yawpitch..记不得了

1

主题

15

帖子

15

积分

新手上路

Rank: 1

积分
15
 楼主| 发表于 2005-9-23 15:08:00 | 显示全部楼层

Re:这种情况下怎么求旋转矩阵

不能用DX的,能用的话D3DXMatrixRotationYawPitchRoll就搞定了,大家以后对这些函数还是不要太依赖了.用Z,Y,X的顺序是可以的,晚点有时间的话我试试其它的顺序,这里谢谢各位了.

121

主题

2029

帖子

2034

积分

金牌会员

Rank: 6Rank: 6

积分
2034
QQ
发表于 2005-9-23 15:25:00 | 显示全部楼层

Re:这种情况下怎么求旋转矩阵

欧拉 to 四元数

11

主题

123

帖子

123

积分

注册会员

Rank: 2

积分
123
发表于 2005-9-24 14:02:00 | 显示全部楼层

Re:这种情况下怎么求旋转矩阵

为什么不能用啊!我昨天还用这个函数解决了象CS中跟着人的武器的旋转,跟着移动呢!
这个函数的顺序不受影响,当然你可以拆散了用,那样你自己就可以随意控制先后顺序了.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-27 23:44

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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