OSG中的Ellipsoid到Sphere

时间:2016-09-22 12:44:22

标签: openscenegraph

我一直在练习OSG提供的一些openSceneGraph示例。其中一个例子,我在椭圆体上看到了文字。

osgText::Text* createText(osg::EllipsoidModel* ellipsoid, double latitude, double longitude, double height, const std::string& str)
{
    double X, Y, Z;
    ellipsoid->convertLatLongHeightToXYZ(osg::DegreesToRadians(latitude), osg::DegreesToRadians(longitude), height, X, Y, Z);

这在我的情况下运作良好。然后我想对球体做同样的事情。在这个例子中,椭圆体基于纬度,长度和高度绘制。我想用半径绘制球体,这取决于窗口大小/屏幕大小。不幸的是,我没能看到哪个将屏幕坐标转换为osg :: Sphere类中的球体大小。

有人可以帮我解决这个问题。可能有一些东西可以转换这个,可能是因为我的经验不足而没有遇到过。

干杯, 因娜。

1 个答案:

答案 0 :(得分:0)

osg :: Sphere不是像osg :: EllipsoidModel这样的地理空间模型。

创建一个osg :: EllipsoidModel,Radii(赤道和极地)与你想要的球体半径相同,并使用osg :: EllipsoidModel。