OpenGL 画圆球

本文介绍了使用OpenGL通过GL_TRIANGLE_STRIP绘制圆球的方法,通过计算球面上的点并逐圈向下构建三角形来实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值