查看: 1230|回复: 3

视口跳转问题?请教

[复制链接]

该用户从未签到

发表于 2010-12-14 17:49:23 | 显示全部楼层 |阅读模式
我用 osg::Matrixd mat = mViewer->getCameraManipulator()->getInverseMatrix();  得到矩阵
  osg::Vec3 pos=mat.getTrans();
  osg:uat rot=mat.getRotate();

  保存了pos和 rot 的 7 个值到文本了。

现在有这 7 个只怎么算才可以得到正确的矩阵 m ,
用mViewer->getCameraManipulator()->setByInverseMatrix(m);
这个方法正确正确设置视口的 位置 ?这个矩阵 m 用这7 个只怎么得到呢?有方法吗? 谢谢了 - -

该用户从未签到

发表于 2010-12-14 18:38:11 | 显示全部楼层
用mViewer->getCameraManipulator()->setByInverseMatrix(m);
这个方法正确正确设置视口的 位置 ?
是不能设置的,除非你自己写个操作器,否则系统带的操作器会覆盖你所写的矩阵。至于后一个问题请参考矩阵类!

该用户从未签到

 楼主| 发表于 2010-12-15 09:02:29 | 显示全部楼层
用mViewer->getCameraManipulator()->setByInverseMatrix(m);
这个方法正确正确设置视口的 位置 ?
是不能设置的,除非你自己写个操作器,否则系统带的操作器会覆盖你所写的矩阵。至于后一个问题请参考矩阵类!
fenma3422 发表于 2010-12-14 18:38


这个是 正确设置操作器的 方法吧,可以的。我试过了。 我只是不知道 这个矩阵 怎么算才正确。

该用户从未签到

发表于 2010-12-15 10:55:01 | 显示全部楼层
如果自定义漫游奇,在漫游器里重载getInverseMatrix,把求的视点矩阵的逆矩阵传出,viewer会自动更新~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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