|
在装入地球模型后,在(纬度,经度,海拔高度)上放车模型,在(纬度,经度,海拔高度+相机高度)上放相机,相机位置基本正确,但是,按如下方式设置的相机的姿态角,却什么都看不见,请问怎样设置相机的姿态角? 谢谢!
// 用来设置camera的平移与旋转的矩阵。
double delta_height( 10. ), cameraHeight(18000.);
osg::Matrix cameraRotateMatrix;
osg::Matrix cameraTransMatrix;
cameraRotateMatrix.makeRotate(osg:egreesToRadians( -(90. -纬度值) ), osg::Vec3( 1., 0., 0. ));
cameraRotateMatrix.makeRotate(osg::DegreesToRadians( -(90. -经度值) ), osg::Vec3( 0., 0., 1. ));
masterCamera->setProjectionMatrixAsPerspective( 40., 1., 0.01, 100000000. );
while( !viewer.done() )
{
cameraTransMatrix.makeTranslate( (-1.)*cameraPosition.x(), (-1.)*cameraPosition.y(), (-1.)*(cameraPosition.z()+cameraHeight) );
masterCamera->setViewMatrix( cameraRotateMatrix*cameraTransMatrix );
cameraHeight -= delta_height;
viewer.frame();
}
return 1;
[ 本帖最后由 dolphins 于 2009-3-26 09:46 编辑 ] |
|