查看: 4876|回复: 14

OSG中表征旋转的四元组的问题

[复制链接]

该用户从未签到

发表于 2008-7-9 10:37:04 | 显示全部楼层 |阅读模式
在osg中,osg::quat的构建主要有两种方法,一种就是对每一个轴给出一个旋转角度进行构建,另一种就是如下所示的:
    osg::quat(angle,osg::Vec3(x,y,z)) (其中x,y,z的值都在0~1之间) 如sg::quat(0.2,osg::Vec3(0.7f,0.7f,0.0))
我的问题是,这里的osg::Vec3(0.7f,0.7f,0.0f)在XYZ轴中做何解释呢。请各位朋友给予解释一下,谢谢!

该用户从未签到

发表于 2008-7-9 14:21:15 | 显示全部楼层
沿空间中指定的任意一个向量轴,旋转一定角度

该用户从未签到

发表于 2008-7-11 12:03:35 | 显示全部楼层
原帖由 gjczhhbz 于 2008-7-9 10:37 发表
在osg中,osg::quat的构建主要有两种方法,一种就是对每一个轴给出一个旋转角度进行构建,另一种就是如下所示的:
    osg::quat(angle,osg::Vec3(x,y,z)) (其中x,y,z的值都在0~1之间) 如sg::quat(0.2,osg::Vec3(0. ...

1、“其中x,y,z的值都在0~1之间”,这个说法不太对,应该是满足x^2+y^2+z^2==1,也就是说它是单位长度的向量。
2、osg::quat(angle,osg::Vec3(x,y,z)) 指的是绕由(0,0,0)到(x,y,z)构成的轴逆时针旋转angle.

该用户从未签到

发表于 2010-1-3 22:04:00 | 显示全部楼层
2、osg::quat(angle,osg::Vec3(x,y,z)) 指的是绕由(0,0,0)到(x,y,z)构成的轴逆时针旋转angle.
lab_zj 发表于 2008-7-11 12:03

这种说法是不是就是轴、角的说法呢?可以按照这么理解吗?看起来似乎很好理解了,不过四元数好像没这么容易。我看很多人说不能这么理解,插值时会有问题。

该用户从未签到

发表于 2010-1-4 08:56:28 | 显示全部楼层
是的,,轴角说话只是直观的说话,,其实它是极坐标下的!~~                            

该用户从未签到

发表于 2010-1-4 11:01:09 | 显示全部楼层
任意一个四元数都可以等价于绕某个轴旋转一定角度的结果,但是插值却不能简单地这样去做;OSG可以用Quat::slerp函数实现球面插值

该用户从未签到

发表于 2010-1-4 11:47:43 | 显示全部楼层
嗯,原来角轴理解四元数竟然不对。。。还没考虑过插值啊,了解下

该用户从未签到

发表于 2010-1-6 19:26:53 | 显示全部楼层
但是 物体转动中心怎么设定?

只有了转动轴

该用户从未签到

发表于 2010-1-7 08:57:10 | 显示全部楼层
8# back

我不明白您的意思

该用户从未签到

发表于 2010-1-7 09:51:09 | 显示全部楼层
绕轴旋转啊,又不是绕点旋转~

该用户从未签到

发表于 2010-1-7 10:29:09 | 显示全部楼层
....   绕轴旋转我知道   但是轴的位置   即轴与旋转平面的交点    能改变么?

空间一个刚体转动,要分析它的转动轴(只是一个向量),也要分析它的转动中心(一个位置点)。

该用户从未签到

发表于 2010-1-7 10:40:20 | 显示全部楼层
本帖最后由 back 于 2010-1-7 10:59 编辑
沿空间中指定的任意一个向量轴,旋转一定角度
array 发表于 2008-7-9 14:21



向量轴只是表示转动的方向,即使用右手定则,四指环绕转动,大拇指为转动轴的方向。     

111.jpg

转动中心在转动平面内处于不同的位置,那么物体转动的效果是不一样的。

该用户从未签到

发表于 2010-1-7 11:04:05 | 显示全部楼层
四元数可以转换为物体以自身中心为轴心,绕某个向量轴旋转一定角度,您不妨去阅读一下有关四元数的知识。

如果想要从欧拉角度转换的话,可以先计算旋转矩阵,然后使用getRotate计算这个矩阵对应的四元数的值

该用户从未签到

发表于 2010-1-7 15:52:21 | 显示全部楼层
那转动中心应该在该点与转动轴的垂直交点~

该用户从未签到

发表于 2010-1-8 12:42:58 | 显示全部楼层
那转动中心应该在该点与转动轴的垂直交点~
tianxiao888 发表于 2010-1-7 15:52


....
不太理解您的意思
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表