OpenGL绘制球体

OpenGL绘制球体

于(0,0,0) 绘制一个半径R=1 的球体函数:
sphere_entry


void sphere_entry(int du, int dv){
   

	float gu = 3.1415926535 / du , gv = 2.0*3.1415926535 / (dv-1);

	float x, y, z ,r ;

	glPushMatrix();
#define MAKE_R(z2) sqrt(1.0 - (z2))
#define MAKE_Z(z_step) cos((z_step) *gu)
#define MAKE_Y(x_step,r) (r)*sin((x_step)* gv)
#define MAKE_X(x_step,r) (r)*cos((x_step)* gv)
	// 球体
	glBegin(GL_QUADS);
	for (int z_step = 0 ; z_step < du; ++z_step) {
   
		for (int x_step = 0; x_step < dv; ++x_step) {
   

			z = MAKE_Z(z_step);
			r = MAKE_R(z*z);
			x = MAKE_X(x_step, r);
			y = MAKE_Y(x_step, r);
			glVertex3f(x, y, z);

			z 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值