学习交流欢迎加群:789723098,博主会将一些demo整理共享
很多学习WebGL的小伙伴,刚开始一直都是学怎么画立方体,等到立方体画的炉火纯青的时候,却被另一个东西难住了,那就是球。what,还会被一个球难住?下面就给大家介绍一种画球的算法:
我们的地球现在被划分为很多经线和纬线,如下图所示:
由下面的图,我们来推导一下计算球面上点的坐标:
假设图中圆的半径R=1,由图可算出红点的坐标:x = R*cos theta, y = R * sin theta;那角度theta又是怎样得到的呢?
其实很简单,如果将一个球的经纬线都取为由5,再将其投影到平面圆,就得到在圆的边上的交点总共有10个,两个半圆,一半5个,其所对应的5个圆心角都是相等的,这个角即theta, 所以theta = PI/5, 如果取最中间的那条线为第一条线,那么第一条线上的交点所对的圆心角theta = 0; 如下图所示: