osgearth操作器EarthManipulator解析

仅作参考(自己理解,有错不负责):

EarthManipulator操作器内部封装4个矩阵实现位置及姿态的变换(参考源码):

osg::Matrixd EarthManipulator::getMatrix() const
{
    return osg::Matrixd::translate(-_offset_x,-_offset_y,_distance)*
           osg::Matrixd::rotate(_rotation)*
           osg::Matrixd::rotate(_centerRotation)*
           osg::Matrixd::translate(_center);
}

其中第一个translate将相机移动至世界坐标原点位置;

第二个rotate表示相机绕北天东坐标系旋转;

第三个rotate表示相机根据位置(经纬坐标)调整自己的视口,使相机移动时始终拥有固定的北天东偏转角度;

第四个translate表示相机从球心至视点位置的矩阵;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值