osg::CoordinateSystemNode 地心坐标转换

Osg::CoordinateSystemNode继承自group,主要作用是为他的子对象绑定一个坐标系统。通过不用的坐标格式(proj4,WKT,USGS等)来确定坐标转化公式

定义 Osg::CoordinateSystemNode
osg::ref_ptr<osg::CoordinateSystemNode> csn;

csn = new osg::CoordinateSystemNode;
csn->setEllipsoidModel(new osg::EllipsoidModel()); //默认设置一个地球

osg::Matrixd mt;//定义矩阵
csn->getEllipsoidModel()->computeLocalToWorldTransformFromLatLongHeight(osg::DegreesToRadians(纬度), osg::DegreesToRadians(经度), 高度, mt);
node->setMatrix(mt);
//设置物体航向
node = new osg::MatrixTransform;

node ->setMatrix(osg::Matrixd::scale(osg::Vec3(1.0, 1.0, 1.0)) * osg::Matrixd::rotate(-2.4, osg::Vec3(0, 1, 0)));
node ->getOrCreateStateSet()->setMode(GL_RESCALE_NORMAL, osg::StateAttribute::ON);//给obj增加法线 不加就黑色物体
posted @ 2022-03-23 14:48  fishpro  阅读(335)  评论(0编辑  收藏  举报