OpenGl太阳地球月亮运动系统

本文详细介绍了如何使用OpenGL创建一个太阳地球月亮的运动系统。通过平移和旋转的知识,实现了太阳静止,地球自转并公转,以及月亮绕地球运动的效果。涉及的关键函数包括glTranslatef和glRotatef,通过控制它们的参数实现不同物体的运动轨迹。
摘要由CSDN通过智能技术生成

    在讲解这个运动系统,首先我们的来讲解OpenGl里有关几个图形变换的知识,这里就以球为例,我们需要知道将球平移,旋转的2个知识。因为系统必须用到平移和旋转。


1 平移变换:

glTranslatef(x,y,z);    //x,y,z都是float类型

x,y,z的含义就是将图形平移到世界坐标系(三维坐标系)的(x,y,z)的位置上;

例:将球平移到(3,3,3)的位置上,只写关键代码:

 glPushMatrix();			//入栈
 glColor3f(1.0f,0,0);			//设置颜色,这里是红色
 glTranslatef(3,3,3);			//将球平移到(3,3,3)的位置
 glutSolidSphere(1.0,20,20);		//这是画球的函数,这里是为了大家容易理解,
					//所以就调用一个函数。实际上可以用GL_TRIANGLE_FAN(三角形)画出一个球。
					//建议初学者搞懂第二种方式,我可能以后会在博客写这一讲内容。
 glPopMatrix();				//出栈

平移后的界面:

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值