关于从入门three.js到做出3d地球这件事(第五篇: 以点成面矢量地球)有图解

关于从入门three.js到做出3d地球这件事(第五篇: 以点成面矢量地球)

本篇效果图:
关于从入门three.js到做出3d地球这件事(第五篇: 以点成面矢量地球)有图解

注: 本人画工较差哈哈哈哈哈哈...

一. geojson基本概念

     本篇我们要绘制一个矢量地球, 那我们先要知道矢量地球是由什么组成的, 比如说要绘制'中国', 那么我们只要知道中国边界上所有的点的坐标, 再逐一把这些点链接起来就是一个中国的轮廓了, 由于每个点相距很近所以虽然我们是用直线链接但依然可以形成圆滑的球面效果, 简单理解geojson就是这样一组数据, 它里面有绘制各个国家轮廓所需的所有的的信息, 深入理解你会发现geojson里面还有各种分组信息, 但我们本篇主要讲绘制最基本的国家轮廓就不展开讨论了, 让我们先绘制一款平面地图。
     这是我之前写过的一篇详细介绍geojson的文章,有兴趣的同学可以去了解下, 会有助于你更好的理解地图: 记一次前端"揭开绘制地图的神秘面纱"分享会
     本章设计的数学知识都是初级的, 再往后会涉及到矩阵之类的知识, 到时候我也会用最通俗的方式解释给你听, 绝不止于概念而是最通俗的方式方便你理解, 本篇后面会有详细的经纬度转xyz的讲解与图解。

二. 经纬度

     这里的概念很基础也很重要, 如果不熟悉的话要仔细看哦。

经度

     经度是地球上一个地点离一根被称为本初子午线的南北方向走线以东或以西的度数。本初子午线的经度是0°,地球上其它地点的经度是向东到180°或向西到180°, 做为本初子午线的那条线是人选出来的, 每15°一个时区(时区引起的bug我在之前分享过: 时区相关bug)。
     如图所示, 在计算机里面是用正负数来区东经与西经, 东经为正数西经为负数, 度数范围是[-180, 180]
关于从入门three.js到做出3d地球这件事(第五篇: 以点成面矢量地球)有图解

纬度

     过椭球面上某点作法线,该点法线与赤道平面的线面角,其数值在0至90度之间。位于赤道以北的点的纬度叫北纬,记为N;位于赤道以南的点的纬度称南纬,记为S。
     如图所示, 在计算机里面是用正负数来区北纬与南纬, 北纬为正数南纬为负数, 度数范围是[-90, 90]

关于从入门three.js到做出3d地球这件事(第五篇: 以点成面矢量地球)有图解

扩展知识: 测量经纬度

     在地球上任何地点,只要有只表,有根竹竿,一根卷尺,就可知道当地经纬度。但表必须与该国标准时校对, 具体方法在百度百科有兴趣的可以做下实验。

三. 还记得三角函数么

     大郎不要怕我们毕业这么久也不用背诵了, 只要知道怎么用就行, 我们一起来复习一下:

上一篇:Three.js 学习网站 | 踏得


下一篇:Three.js学习笔记(一)