游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2524|回复: 5

急急~~关于旋转问题!

[复制链接]

17

主题

51

帖子

51

积分

注册会员

Rank: 2

积分
51
发表于 2004-4-27 16:03:00 | 显示全部楼层 |阅读模式
有一个点:pos,现在我知道一个方向vDir(x,y,z),这个方向已经正规化了,然后知道围绕vDir旋转了一个角度fAngle,得到一个新的点pos1。
我现在想知道如果让pos“按照次序依次”围绕:Z,X,Y轴旋转,仍然得到pos1,那么围绕Z,X,Y轴的旋转角度分别是多少?

所有角度用弧度表示就行了。

17

主题

51

帖子

51

积分

注册会员

Rank: 2

积分
51
 楼主| 发表于 2004-4-27 16:11:00 | 显示全部楼层

Re:急急~~关于旋转问题!

或者已知一个旋转矩阵:matRot。要得到依次围绕Z,Y,X轴的旋转角度也可以。

27

主题

169

帖子

169

积分

注册会员

Rank: 2

积分
169
发表于 2004-4-27 16:23:00 | 显示全部楼层

Re:急急~~关于旋转问题!

quaternions -----------------<Euler Angles

m11 = w^2 + x^2 - y^2 - Z^2
m21 = 2xy + 2wz
m31 = 2xz - 2wy
m32 = 2yx + 2wx
m33 = w^2 - x^2 - y^2 + z^2

哈哈,我喜欢下面的东西哦
roll = arctan(m32/m33)

pitch = arcsin(-m31)

yaw = arctan(m21/m11)

好了,希望能帮助你

17

主题

51

帖子

51

积分

注册会员

Rank: 2

积分
51
 楼主| 发表于 2004-4-27 16:31:00 | 显示全部楼层

Re:急急~~关于旋转问题!

恩。谢谢~~~我马上去试试!非常感谢。

ps:对于旋转来说,旋转的先后次序是有关系的。你给出的这个roll, pitch, yaw的先后次序是怎么回事的?赫赫~我去试试

27

主题

169

帖子

169

积分

注册会员

Rank: 2

积分
169
发表于 2004-4-27 20:07:00 | 显示全部楼层

Re:急急~~关于旋转问题!

你所说的m21 <->m12,m31 <->m13,等等,你把你的那个matrix 做一次Transpose,看看,是不是和我说的一样,呵呵,都怪我没说清楚,哈哈,不知道你用的是DX or OpenGL ,因为DX用的是row vector 而 opengl 用的是column vector ,所以要以不同的环境做Transpose,是不是,再次谢谢你的热心了。

5

主题

255

帖子

255

积分

中级会员

Rank: 3Rank: 3

积分
255
发表于 2004-4-27 21:22:00 | 显示全部楼层

Re:急急~~关于旋转问题!

呵呵
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-1 22:25

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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