OpenGL 画圆球
只需要两个点,然后使用GL_TRIANGLE_STRIP(按顺序依次组成三角形)方式画三角形就可以了
从上至下,一圈一圈往下计算
球面点计算公式
// x=x0+r sinθcosφ
// y=y0+r sinθsinφ
// z=z0+r cosθ
θ为yz平面
GLfloat * calculateBallVertex(GLfloat r)
{
// x=x0+r sinθcosφ
// y=y0+r sinθsinφ
// z=z0+r cosθ
GLfloat radius = 0.8 * r;
// GLfloat delta = 2 * M_PI / 100;
GLfloat *dest = (GLfloat *) malloc(sizeof(GLfloat) * 2 * kRow * kCol * 3);
GLfloat k = kHeight * 1.0 / kWidth;
float step_z = M_PI / kRow ; //z方向每次步进的角度(上下,纬度)
float step_xy = 2*M_PI/ kCol; //x,y平面每次步进的角度(经度)
float x[2],y[2],z[2]; //用来存坐标
float angle_z = 0; //起始角度
float angle_xy = 0;
int i=0, j=0;
// 90 --> -90
for(i =