《计算机图形学模拟太阳系源代码》由会员分享,可在线阅读,更多相关《计算机图形学模拟太阳系源代码(8页珍藏版)》请在人人文库网上搜索。

1、include #include #include #include /行星GLfloat rot0 = 30.0;GLfloat rot1 = 0.0;GLfloat rot2 = 0.0;GLfloat rot3 = 0.0;GLfloat rot4 = 0.0;GLfloat rot5 = 0.0;GLfloat rot6 = 0.0;GLfloat rot7 = 0.0;GLfloat rot8 = 0.0;/卫星GLfloat rot9 = 0.0;GLfloat rot10 = 0.0;GLfloat rot11 = 0.0;void init()glClearColor(0.0,。

2、0.0,0.0,0.0);glClearDepth(1.0);glShadeModel(GL_FLAT);void display()glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);glColor3f(1.0,1.0,1.0);glLoadIdentity();/gluLookAt(0, 10, 10, 0,0,0,0, 1,0);/glRotatef(45.0,0.0,0.0,1.0);glTranslatef(0.0,0.0,-20.0);glRotatef(90.0,1.0,0.0,0);glPushMatrix();/绘制太阳glC。

3、olor3f(1.0,0.0,0.0);glutSolidSphere(2.0,32,32);/绘制地球glPushMatrix();glColor3f(0.0,0.0,1.0);/ 绘制辅助轨道glRotatef(90,1.0,0,0.0);glutSolidTorus(0.02, 5.0, 10, 64);glRotatef(-90,1.0,0,0.0);/ 设置地球公转速度glRotatef(rot0,0.0,1.0,0.0);/ 设置地球半径glTranslatef(5.0,0.0,0.0);/ 设置地球自转速度/glRotatef(rot1,0.0,1.0,0.0);/ 绘制地球gl。

4、utSolidSphere(0.4,32,32);/ 绘制地球的卫星-月亮glColor3f(0.5,0.6,0.5);/ 抵消地球自转影响/glRotatef(-rot1,0.0,1.0,0.0);/ 绘制辅助轨道glRotatef(90,1.0,0,0.0);glRotatef(-90,1.0,0,0.0);/ 设置月亮公转速度glRotatef(rot9,0.0,1.0,0.0);/ 设置月亮公转半径glTranslatef(0.6,0.0,0.0);/ 绘制月亮glutSolidSphere(0.1,10,8);glPopMatrix();/ 绘制水星glPushMatrix();gl。

5、Color3f(0.0,1.0,1.0);/ 绘制辅助轨道glRotatef(90,1.0,0,0.0);glutSolidTorus(0.02, 2.5, 10, 64);glRotatef(-90,1.0,0,0.0);/ 设置水星公转速度glRotatef(rot1,0.0,1.0,0.0);/ 设置水星公转半径glTranslatef(2.5,0.0,0.0);/ 设置水星自传glRotatef(rot3,0.0,1.0,0.0);/ 绘制水星glutSolidSphere(0.2,32,32);glPopMatrix();/绘制金星glPushMatrix();glColor3f(0。

6、.0,1.0,0.0);/绘制辅助轨道glRotatef(90,1.0,0,0.0);glutSolidTorus(0.02, 3.4, 10, 64);glRotatef(-90,1.0,0,0.0);/ 设置金星公转速度glRotatef(rot2,0.0,3.0,0.0);/ 设置金星公转半径glTranslatef(3.4,0.0,0.0);/ 设置金星自传glRotatef(rot0,0.0,1.0,0.0);/ 绘制金星glutSolidSphere(0.3,32,32);glPopMatrix();/绘制火星glPushMatrix();glColor3f(1.0,0.0,0.0。

7、);/绘制辅助轨道glRotatef(90,1.0,0,0.0);glutSolidTorus(0.02, 6.6, 10, 64);glRotatef(-90,1.0,0,0.0);/ 设置火星公转速度glRotatef(rot3,0.0,4.0,0.0);/ 设置火星公转半径glTranslatef(6.6,0.0,0.0);/ 设置火星自传glRotatef(rot7,0.0,2.0,0.0);/ 绘制火星glutSolidSphere(0.5,32,32);glPopMatrix();/绘制木星glPushMatrix();glColor3f(2.0,0.1,1.0);/绘制辅助轨道g。

8、lRotatef(90,1.0,0,0.0);glutSolidTorus(0.02, 8.5, 10, 64);glRotatef(-90,1.0,0,0.0);/ 设置木星公转速度glRotatef(rot4,0.0,0.4,0.0);/ 设置木星公转半径glTranslatef(8.5,0.0,0.0);/ 设置木星自传glRotatef(rot3,0.0,0.3,0.0);/ 绘制木星glutSolidSphere(1.0,32,32);/ 绘制木星卫星-木卫1glColor3f(0.4,0.3,0.5);/ 抵消地球自转影响/glRotatef(-rot1,0.0,1.0,0.0);。

9、/ 绘制辅助轨道glRotatef(90,1.0,0,0.0);glRotatef(-90,1.0,0,0.0);/ 设置木卫1公转速度glRotatef(rot10,0.0,1.0,0.0);/ 设置木卫1公转半径glTranslatef(1.3,0.0,0.0);/ 绘制木卫1glutSolidSphere(0.1,10,8);/ 绘制木星卫星-木卫2glColor3f(0.5f,0.5f,0.5f);/ 抵消地球自转影响/glRotatef(-rot1,0.0,1.0,0.0);/ 绘制辅助轨道glRotatef(90,1.0,0,0.0);glRotatef(-90,1.0,0,0.0。

10、);/ 设置木卫2公转速度glRotatef(rot11,0.0,1.0,0.0);/ 设置木卫2公转半径glTranslatef(1.2,0.0,0.0);/ 绘制木卫2glutSolidSphere(0.08,10,8);glPopMatrix();/绘制土星glPushMatrix();glColor3f(1.0f, 1.0f, 0.0f);/绘制辅助轨道glRotatef(90,1.0,0,0.0);glutSolidTorus(0.02, 12.5, 10, 64);glRotatef(-90,1.0,0,0.0);/ 设置土星公转速度glRotatef(rot5,0.0,0.4,0。

11、.0);/ 设置土星公转半径glTranslatef(12.5,0.0,0.0);/ 设置土星自传glRotatef(rot3,0.0,0.3,0.0);/ 绘制土星glutSolidSphere(0.85,32,32);/绘制土星光环glRotatef(90,1.0,0,0.0);glutSolidTorus(0.1, 1.25, 10, 64);glRotatef(-90,1.0,0,0.0);glRotatef(90,1.0,0,0.0);glutSolidTorus(0.07, 1.65, 10, 64);glRotatef(-90,1.0,0,0.0);glPopMatrix();g。

12、lPopMatrix();/绘制天王星glPushMatrix();glColor3f(0.0f, 1.0f, 1.0f);/绘制辅助轨道glRotatef(90,1.0,0,0.0);glutSolidTorus(0.02, 15.5, 10, 64);glRotatef(-90,1.0,0,0.0);/ 设置天王星公转速度glRotatef(rot6,0.0,0.4,0.0);/ 设置天王星公转半径glTranslatef(15.5,0.0,0.0);/ 设置天王星自传glRotatef(rot1,0.0,0.3,0.0);/ 绘制天王星glutSolidSphere(0.15,32,32。

13、);glPopMatrix();/绘制海王星glPushMatrix();glColor3f(0.0f, 0.0, 8.0f);/绘制辅助轨道glRotatef(90,1.0,0,0.0);glutSolidTorus(0.02, 17.5, 10, 64);glRotatef(-90,1.0,0,0.0);/ 设置海王星公转速度glRotatef(rot7,0.0,0.4,0.0);/ 设置海王星公转半径glTranslatef(17.5,0.0,0.0);/ 设置海王星自传glRotatef(rot3,0.0,0.3,0.0);/ 绘制海王星glutSolidSphere(0.145,32。

14、,32);glPopMatrix();/绘制冥王星glPushMatrix();glColor3f(0.5f, 0.5f, 0.5f);/绘制辅助轨道glRotatef(90,1.0,0,0.0);glutSolidTorus(0.02, 19.5, 10, 64);glRotatef(-90,1.0,0,0.0);/ 设置冥王星公转速度glRotatef(rot8,0.0,0.4,0.0);/ 设置冥王星公转半径glTranslatef(19.5,0.0,0.0);/ 设置冥王星自传glRotatef(rot2,0.0,0.3,0.0);/ 绘制冥王星glutSolidSphere(0.14。

15、5,32,32);glPopMatrix();glutSwapBuffers();glFlush();void idle()rot0+=0.1;if(rot0=360.0)rot0-=360.0;rot1+=0.416;if(rot1=360.0)rot1-=360.0;rot2+=0.1631;if(rot2=360.0)rot2-=360.0;rot3+=0.053;if(rot3=360.0)rot3-=360.0;rot4+=0.0083;if(rot4=360.0)rot4-=360.0;rot5+=0.0034;if(rot5=360.0)rot5-=360.0;rot6+=0.0。

16、0119;if(rot6=360.0)rot6-=360.0;rot7+=0.00069;if(rot7=360.0)rot7-=360.0;rot8+=0.0008;if(rot8=360.0)rot8-=360.0;rot9+=1.0;if(rot9=360.0)rot9-=360.0;rot10+=0.005;if(rot10=360.0)rot10-=360.0;rot11+=0.01;if(rot11=360.0)rot11-=360.0;glutPostRedisplay();void reshape(int w,int h)glViewport(0,0,(GLsizei)w,(G。

17、Lsizei)h);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluPerspective(60.0,(GLdouble)w/(GLdouble)h,1.0,100.0);glMatrixMode(GL_MODELVIEW);void main(int argc,char *argv)glutInit(&argc,argv);glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);glutInitWindowSize(600,400);glutInitWindowPosition(500,500);glutCreateWindow(planet sim);init();glutDisplayFunc(display);glutReshapeFunc(reshape);glutIdleFunc(idle);glutMainLoop();return。

计算机图形学八大行星程序,计算机图形学模拟太阳系源代码相关推荐

  1. 计算机图形处理与应用程序,计算机图形处理与应用

    本文主要介绍了计算机图形图像处理的基本概念;导出三维图形几何变换矩阵的一般形式;简要介绍了消隐技术;介绍了AutoLISP语言的功能.特点及绘图程序,并结合简单实例,展示了开发的实际效果. 计算机图形 ...

  2. 计算机中cmos设置程序,计算机CMOS设置详解.doc

    计算机CMOS设置详解 计算机CMOS设置详解 ? BIOS的含义是"基本输入输出系统",它起到电脑硬件与软件之间的交换接口.有关系统的时间.日期.内存容量软硬盘驱动器的类型及容量 ...

  3. 计算机office2010高级应用程序,计算机办公软件应用office2010高级解题步骤

    计算机办公软件应用office2010高级解题步骤 Office2010高级步骤 第一单元:操作系统 一.启动"资源管理器". 解题步骤: (1)在桌面上,点击任务栏上的" ...

  4. 计算机组成原理STRA检测程序,计算机组成原理实验4-微程序控制器课件.ppt

    <计算机组成原理实验4-微程序控制器课件.ppt>由会员分享,提供在线免费全文阅读可下载,此文档格式为ppt,更多相关<计算机组成原理实验4-微程序控制器课件.ppt>文档请在 ...

  5. 计算机组成原理实验四微程序,计算机组成原理实验七微程序计数器.doc

    文档介绍: 计算机组成原理实验七微程序计数器.docEvaluationWarning:ThedocumentwascreatedwithSpire..洛阳理工学院实验报告七系别计算机系班级 学号姓名 ...

  6. 计算机图形学三维投影程序,三维计算机图形学

    <三维计算机图形学>是科学出版社出版.本书共分17章,内容包括IDE环境与编程基础.基本语法与数据类型.运算操作.流程控制.面向对象程序设计.用户界面编程.文件系统管理.图形图像多媒体编程 ...

  7. 计算机图形学基础教程论文,计算机图形学小论文

    为毕业生写计算机图形学小论文提供计算机图形学小论文范文参考,涵盖硕士.大学本科毕业论文范文和职称论文范文,包括论文选题.开题报告.文献综述.任务书.参考文献等,是优秀免费计算机图形学小论文网站. 计算 ...

  8. 计算机导论第七章,计算机导论精品PPT-第七章计算机图形学剖析.ppt

    计算机导论精品PPT-第七章计算机图形学剖析 (1)计算机 在虚拟现实系统中,计算机是系统的心脏,被称之为虚拟世界的发动机.负责虚拟世界的生成.人与虚拟世界的自然交互等功能的实现. (2)输入输出设备 ...

  9. 《Computer Graphics with OpenGL》计算机图形学读书笔记 02——计算机图形学软件

    这里是<Computer Graphics with OpenGL>英文原版第四版的读书笔记,预计每一章写一篇读书笔记.本篇为第二章,简要介绍计算机图形学的相关软件.图形学相关软件可分为两 ...

  10. 计算机图形学博士论文,关于计算机图形学探究的论文(2)

    关于计算机图形学探究的论文篇二 <关于计算机图形学的发展及应用探究> [摘要]计算机图形学经过三十多年的发展,在计算机艺术.计算机动画.自然景物仿真.图形实时绘制的方面都有很大程度的成就. ...

最新文章

  1. 在线教学生计算机,计算机系统基础—廖浩德老师—在线教学的先行者
  2. 控制程序仅执行一次 php,PHP流程控制(1)
  3. django 不用自带的mysql_python笔记二 django自带后台管理系统、模版渲染以及使用mysql数据库...
  4. 在vue中实现picker样式_基于Vue实现timepicker
  5. spring学习笔记04-IOC常用注解(一)
  6. python 释放链表节点_redis:链表
  7. for i in range什么意思_python迭代和解析——range、map函数
  8. 朴素贝叶斯算法matlab实现以及EM算法
  9. linux渗透win7的时候显示445,Win7如何简单的关闭445端口及445端口入侵详解
  10. matlab:在FUNCTION处出现解析错误:使用的MATLAB语法可能无效。
  11. js 利用audio buffers[int16Array]计算分贝
  12. android计算器退格键,请问下计算器的退格键是哪个键?
  13. linux下的触摸板关闭
  14. qt qml 界面程序 适配4K屏幕 简单方法
  15. C语言的system函数
  16. STM32 AT24C64 Hal库写入错误
  17. iReport制作报表
  18. Developpeur Reference对Bjarne Stroustrup的采访(转载)
  19. 投资理财-家和万事兴
  20. C#开发AGV地图编辑软件(二)

热门文章

  1. Robust Medical Instrument Segmentation Challenge 2019拜读
  2. Woolies因滥发垃圾邮件被罚款100万澳元
  3. 序列相似性比较与同源分析
  4. 移植 usb 蓝牙适配器到 arm 板
  5. 路由器运行python脚本_在路由器中运行Python
  6. 笔记本电脑无法连接网络并在网络状态中显示ipv4和ipv6无网络访问权限
  7. Linux CentOS 7.2 排查系统木马
  8. 铂电阻测温电路c语言程序,pt100测温电路(经典测温范围)
  9. Verilog时钟n分频
  10. sql之分组TOPN