查看: 2422|回复: 2

请教一个关于图片旋转的问题.

[复制链接]

该用户从未签到

发表于 2008-2-25 16:18:36 | 显示全部楼层 |阅读模式
我建了一个HudCamera,然后挂了几个图片在上面模拟按钮.现在想做一个时钟,分针和钟表盘都是用图片,但是在旋转分针时有问题了.
我分针(图片)Z坐标是-0.1. 下面是伪代码
           osg::MatrixTransform* _matrix = new osg::MatrixTransform();
        钟表盘->AddChild(_matrix);
        osg:uat q;
        osg:ositionAttitudeTransform* _trans = new osg::PositionAttitudeTransform();
        _matrix->addChild(_trans);
        _trans->addChild(分针);
        q.makeRotate(0.3f,osg::Vec3(0,0,1));
        _trans->setAttitude(q);
旋转的时候并不是以图片的中点,而是以空间的某一点在旋转.围Z轴旋转后,图片是旋转了,但是也向右和下平移了一段距离.
而且把这一句q.makeRotate(0.3f,osg::Vec3(0,0,1));该为q.makeRotate(0.3f,osg::Vec3(0,1,1));同时绕y轴和z轴旋转,效果也一样,只是平移的距离更大了.
应该怎样解决? 我想让图片中点对应空间的一点作旋转.用了_trans->setPivotPoint()也没有用,不知道怎么设置该点.希望能得到帮助

该用户从未签到

发表于 2009-12-8 21:01:58 | 显示全部楼层
这个问题我希望得到王锐的答复!有请王锐!

该用户从未签到

发表于 2009-12-8 23:15:01 | 显示全部楼层
setPivotPoint就可以,具体该如何设置,这取决于您自己的功能设计。

此外我不希望玩这种“点名”的游戏,论坛是大家共同讨论的地方,不是单纯的Q&A;如果将所有的回答工作都指定给某个人的的话,那么不仅会迅速消磨回答者的热情,并且也只能招致大家的反感
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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