计算机图形学代码3D太阳系,计算机图形学-绘制太阳系.doc

《计算机图形学-绘制太阳系.doc》由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关《计算机图形学-绘制太阳系.doc》文档请在天天文库搜索。

1、实验名称:绘制太阳系(实验八)班级:信09-1学号:11姓名:王杰【实验目的】1. 掌握GLUT实用包中创建多面体以及二次曲面的函数2. 掌握OpenGL中的基本光照函数3. 对几何变换、投影变换等内容进行复习【实验内容】1.在窗口绘制三个球体,分别代表太阳、地球和月球2.为每个球体设置恰当的几何变换,要求:(1)太阳在场景中间(2)地球在自转的同时绕太阳旋转(3)月球在自转的同时绕地球旋转3.为场景添加适当的光照渲染4.源程序#include static int day = 365; // day的变化:从0到359void myDisplay(void){ glEnable(GL_DEPTH_TEST); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_PROJECTION); glLoadId。

2、entity(); gluPerspective(75, 1, 2, ); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(0, -, , 0, 0, 0, 0, 0, 1); // 黄色的"太阳" glColor3f(1.0f, 2.0f, 0.0f); glRotatef(day/360.0*360.0, 0.0f, 0.0f, -1.0f); glutSolidSphere(, 100, 100); // 蓝色的"地球" glColor3f(0.0f, 2.0f, 1.0f); glRotatef(day/360.0*360.0, 0.0f, 0.0f, -1.0f); glTranslatef(, 0.0f, 0.0f); glutSolidSphere(, 100, 100); // 白色的"月亮" glColor3。

3、f(2.0f, 2.0f, 2.0f); glRotatef(day/30.0*360.0 - day/360.0*360.0, 0.0f, 0.0f, -1.0f); glTranslatef(, 0.0f, 0.0f); glutSolidSphere(, 100, 100); glFlush(); glutSwapBuffers();}void myIdle(void){ ++day; if( day >= 360 ) day = 0; myDisplay();}int main(int argc, char *argv[]){ glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE); glutInitWindowPosition(100, 100); glutInitWindowSize(500, 500); glutCreateWindow("王杰"); glutDisplayFunc(&myDisplay); glutIdleFunc(&myIdle); glutMainLoop(); return 0;}5.运行结果截图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值