一、简介
用Three创建三维地球(sphere),将经纬度转换为笛卡尔坐标在球面进行展示。
二、流程
1、SphereGeometry 生成
SphereGeometry的构造函数如下
SphereGeometry(radius : Float, widthSegments : Integer, heightSegments : Integer, phiStart : Float, phiLength : Float, thetaStart : Float, thetaLength : Float)
radius — 球体半径,默认为1。
widthSegments — 水平分段数(沿着经线分段),最小值为3,默认值为8。
heightSegments — 垂直分段数(沿着纬线分段),最小值为2,默认值为6。
phiStart — 指定水平(经线)起始角度,默认值为0。。
phiLength — 指定水平(经线)扫描角度的大小,默认值为 Math.PI * 2。
thetaStart — 指定垂直(纬线)起始角度,默认值为0。
thetaLength — 指定垂直(纬线)扫描角度大小,默认值为 Math.PI。
主要看 phiStart 和 thetaStart,分别是球体横向的起点,与纵向的起点。其中横向的起点是X轴的负半轴,纵向的起点是Y轴正半轴,如图所示,也就是说如果对球体进行贴图,那么贴图的左半边是起点对应的X轴的负半轴,贴图的上边对应的是Y轴的正半轴,知道这一点后就可以对球面进行贴图了
2、球面贴图
贴图用的是墨卡托投影的世界地图