对于下面的代码(选自《OSG海军教程》第十课第一节 使用自定义矩阵来放置相机,但数据有更改):
tankXform->setPosition( osg::Vec3(0,60,8) );
// 相机位于坦克后方 60个单元,上方 7个单元。
T.makeTranslate(0, 0,15 );//沿Z平移+15
A= R * T;//设R是绕Y轴旋转+20度的矩阵
C= osg::Matrixf:: makeRotate( -M_PI/2.0, 1, 0, 0 )//C是绕X轴旋转-90度
while( !viewer.done() )
{ //

本文通过分析《OSG海军教程》中的代码示例,详细解释了OpenSceneGraph(OSG)中视点坐标系的变化过程。内容涉及矩阵变换、OpenGL坐标系以及如何设置Camera的视图矩阵。通过Z轴正向的假想坐标系来理解实际的OpenGL坐标变换,包括沿Z轴平移、绕Y轴和X轴旋转,并强调setViewMatrix()仅改变视点坐标系而不影响其他坐标系。最终结论是,虽然可以借助Z向上的坐标系简化理解,但实际操作仍需基于OpenGL坐标系进行。
最低0.47元/天 解锁文章
1057

被折叠的 条评论
为什么被折叠?



