查看: 2841|回复: 3

关于美国海军例子中“ 使用自定义矩阵来放置相机 ”

[复制链接]

该用户从未签到

发表于 2008-6-17 14:22:15 | 显示全部楼层 |阅读模式
http://www.osgchina.org/projects ... s/CameraControl.php
使用自定义矩阵来放置相机 例子中,osg::Matrixd i = myCameraMatrix.inverse(myCameraMatrix);
             viewer.setViewByMatrix( (
                Producer::Matrix(i.ptr() ))
                * Producer::Matrix::rotate( -M_PI/2.0, 1, 0, 0 ) );
viewer.setViewByMatrix 为什么要用逆矩阵?

该用户从未签到

发表于 2008-6-17 21:02:20 | 显示全部楼层
原因很简单,视图矩阵是变换矩阵的逆矩阵~~~~所以要调用转化为逆矩阵的inverse()方法~~~~~

该用户从未签到

发表于 2008-9-26 16:00:14 | 显示全部楼层
关于这个,我想问下,相机的位置矩阵该怎么设置?
比如我想把相机放在(10,10,10),该怎么写?

该用户从未签到

发表于 2008-9-26 16:03:15 | 显示全部楼层
相机的观察矩阵就是它的位置姿态矩阵的逆矩阵。
那么您已知位置姿态矩阵的话,只要设置setViewMatrix为它的逆矩阵就可以了。当然前提是您不使用场景漫游器,否则setViewMatrix的值会被重设的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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