|
发表于 2011-10-28 17:23:55
|
显示全部楼层
本帖最后由 xuganggm 于 2011-10-28 17:54 编辑
个人看法,不一定对:
在四元数中,Quat 的轴,只有三个分量,因此,它不能表示偏移。直线的方程是由6个分量来表示的。
你需要在旋转轴上取一点(如 (0.0,0.0,10.0) ),作为新的坐标原点,将原来的坐标先转换为新坐标系中。把转换后的结果用四元数转换一下,然后再转换到原来坐标系中。
Y_AXIS+osg::Vec3(0.0,0.0,10.0) = osg::Vec3(0.0,1.0,10.0),因此是不对的。应该就是 Y_AXIS。因为 Y_AXIS 平移时是平行的,方向在新坐标系中不变
当然可以把矩阵相乘,最后由一个变换矩阵来实现。 |
|