游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5565|回复: 12

请教一个关于平移旋转矩阵旋转轴的问题

[复制链接]

64

主题

855

帖子

856

积分

高级会员

Rank: 4

积分
856
QQ
发表于 2005-6-17 11:20:00 | 显示全部楼层 |阅读模式
已知一个物体绕某根轴进行旋转,旋转矩阵是M,我现在想让物体的旋转轴平移到指定坐标P(x,y,z)处,请问如何对M进行变换?谢谢!

20

主题

473

帖子

502

积分

高级会员

Rank: 4

积分
502
发表于 2005-6-17 11:28:00 | 显示全部楼层

Re:请教一个关于平移旋转矩阵旋转轴的问题

先将物体变换到p,然后旋转,然后在把物体变换回初始位置
T(-p) * M * T(p)

64

主题

855

帖子

856

积分

高级会员

Rank: 4

积分
856
QQ
 楼主| 发表于 2005-6-17 12:18:00 | 显示全部楼层

Re:请教一个关于平移旋转矩阵旋转轴的问题

变换到P?反向平移P?还是把物体移动到P位置?

似乎不对啊。

如果把旋转轴移动到物体所在位置( P==物体所在位置 ),那么
1、如果T(-p)指物体移动到P,则T(-P)代表不对物体做任何变化,同理T(P)也如此,则T(-p) * M * T(p)仍然==M

2、如果T(-P)指物体反向移动P,则T(-P)以后,物体被移动到原点,然后再乘以M也不代表物体绕自己旋转吧?

64

主题

855

帖子

856

积分

高级会员

Rank: 4

积分
856
QQ
 楼主| 发表于 2005-6-17 12:36:00 | 显示全部楼层

Re:请教一个关于平移旋转矩阵旋转轴的问题

我觉得从几何上讲应该先将物体移动(P_Old - P),旋转完毕后再将物体移回原来的位置,可是原旋转轴的位置P_Old不知道如何求出。。。

63

主题

871

帖子

891

积分

高级会员

Rank: 4

积分
891
QQ
发表于 2005-6-17 13:23:00 | 显示全部楼层

Re:请教一个关于平移旋转矩阵旋转轴的问题

绕x轴旋转的东西乘以一个平移矩阵就会

绕平行x轴的轴转了

20

主题

473

帖子

502

积分

高级会员

Rank: 4

积分
502
发表于 2005-6-17 13:31:00 | 显示全部楼层

Re:请教一个关于平移旋转矩阵旋转轴的问题

绕一个中心点旋转的特点就是这个中心点本身不旋转
这样如果是绕p旋转,那么首先在旋转轴平面上把p点移动到原点
然后用旋转矩阵M来旋转,再做一次反向的位移就可以了
T(-p)的定义是移动(0-p)

64

主题

855

帖子

856

积分

高级会员

Rank: 4

积分
856
QQ
 楼主| 发表于 2005-6-17 13:57:00 | 显示全部楼层

Re: 请教一个关于平移旋转矩阵旋转轴的问题

我需要达到下图的效果,使物体绕新的旋转轴P进行旋转。

我觉得从几何上应该先将物体上移,距离为| P-原旋转轴 |,然后绕原旋转轴旋转,再往下平移物体,平移距离为| P-原旋转轴 |。这样才能达到右图的效果啊。
sf_2005617135655.jpg

64

主题

855

帖子

856

积分

高级会员

Rank: 4

积分
856
QQ
 楼主| 发表于 2005-6-17 14:03:00 | 显示全部楼层

Re:请教一个关于平移旋转矩阵旋转轴的问题

肯定是需要平移,这个平移矩阵应该是通过 “P-原旋转轴” 这个向量得到,我的问题就在于原旋转轴向量没法求出,因为只是已知P点向量、绕原旋转轴的旋转矩阵M

20

主题

473

帖子

502

积分

高级会员

Rank: 4

积分
502
发表于 2005-6-17 14:07:00 | 显示全部楼层

Re:请教一个关于平移旋转矩阵旋转轴的问题

兄弟
按你图示
原旋转轴和P都有针对原点的偏移,这其实不是一码事吗?
你能生成针对原旋转轴的旋转矩阵M,为什么换个位置就不行了呢:)

我说的都是针对原点的处理,所有的转换都相对于原点
既然你的M有位移量,那么41,42,43三项就是相对于旋转轴的偏移阿

64

主题

855

帖子

856

积分

高级会员

Rank: 4

积分
856
QQ
 楼主| 发表于 2005-6-17 14:30:00 | 显示全部楼层

Re:请教一个关于平移旋转矩阵旋转轴的问题

T(-p)的定义是移动(0-p)
————————————————————
那么物体应该先沿着 原点---〉P  的方向移动咯?然后再按照M进行旋转?可我怎么觉得应该先沿着  P--->原旋转轴  的方向移动呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-26 02:12

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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