osg里一行代码就搞定了!
osg::Vec3d eye = osg::Vec3d(0,0,0) * cv->getCurrentCamera()->getInverseViewMatrix();
这里解释一下,先求视图矩阵的逆矩阵,该矩阵的最后一行的前三个元素就是相机的位置(x, y, z)
上面的三维向量osg::Vec3d(0,0,0)与四维的矩阵相乘时,先把三维向量扩展为四维向量(补1)后再相乘。
osg里一行代码就搞定了!
osg::Vec3d eye = osg::Vec3d(0,0,0) * cv->getCurrentCamera()->getInverseViewMatrix();
这里解释一下,先求视图矩阵的逆矩阵,该矩阵的最后一行的前三个元素就是相机的位置(x, y, z)
上面的三维向量osg::Vec3d(0,0,0)与四维的矩阵相乘时,先把三维向量扩展为四维向量(补1)后再相乘。