这个问题早在本科毕设的时候就困扰了好久,一直没有明白
过了一年多代码能力长进了点再回头看这个问题尝试了下竟然解决了,留存一下方法
在椭球体类中
class EllipsoidModel : public Object
有着这样一个函数
inline osg::Vec3d EllipsoidModel::computeLocalUpVector(double X, double Y, double Z) const
{
// Note latitude is angle between normal to ellipsoid surface and XY-plane
double latitude;
double longitude;
double altitude;
convertXYZToLatLongHeight(X,Y,Z,latitude,longitude,altitude);
// Compute up vector
return osg::Vec3d( cos(longitude) * cos(latitude),
sin<