资源简介
本资源为计算机图形学中用OpenGL设计的太阳、月亮、地球运行轨迹模拟。压缩包包括:源程序、所需库文件、16页的设计报告(论文)、设计任务书、成绩考核表。

代码片段和文件信息
// Solar.cpp
// OpenGL SuperBible
// Demonstrates OpenGL nested coordinate transformations
// and perspective
// Program by Richard S. Wright Jr.
#include “gltools.h“ // OpenGL toolkit
#include
// Lighting values
GLfloat whiteLight[] = { 0.2f 0.2f 0.2f 1.0f };
GLfloat sourceLight[] = { 0.8f 0.8f 0.8f 1.0f };
GLfloat lightPos[] = { 0.0f 0.0f 0.0f 1.0f };
// Called to draw scene
void RenderScene(void)
{
// Earth and Moon angle of revolution
static float fMoonRot = 0.0f;
static float fEarthRot = 0.0f;
// Clear the window with current clearing color
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
// Save the matrix state and do the rotations
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
// Translate the whole scene out and into view
glTranslatef(50.0f 1.0f -300.0f);
// Set material color Red
// Sun
glDisable(GL_LIGHTING);
glColor3ub(255 0 0);
glutSolidSphere(15.0f 30 17);
glEnable(GL_LIGHTING);
// Move the light after we draw the sun!
glLightfv(GL_LIGHT0GL_POSITIONlightPos);
// Rotate coordinate system
glRotatef(fEarthRot 0.0f 1.0f 0.0f);
// Draw the Earth
glColor3ub(0255255);
glTranslatef(105.0f0.0f0.0f);
glutSolidSphere(15.0f 30 17);
// Rotate from Earth based coordinates and draw Moon
glColor3ub(200200200);
glRotatef(fMoonRot0.0f 1.0f 0.0f);
glTranslatef(30.0f 0.0f 0.0f);
fMoonRot+= 24.0f;
if(fMoonRot > 360.0f)
fMoonRot = 0.0f;
glutSolidSphere(6.0f 30 17);
// Restore the matrix state
glPopMatrix(); // Modelview matrix
// Step earth orbit 5 degrees
fEarthRot += 1.0f;
if(fEarthRot > 360.0f)
fEarthRot = 0.0f;
// Show the image
glutSwapBuffers();
}
// This function does any needed initialization on the rendering
// context.
void SetupRC()
{
// Light values and coordinates
glEnable(GL_DEPTH_TEST); // Hidden surface removal
glFrontFace(GL_CCW); // Counter clock-wise polygons face out
glEnable(GL_CULL_FACE); // Do not calculate inside of jet
// Enable lighting
glEnable(GL_LIGHTING);
// Setup and enable light 0
glLightModelfv(GL_LIGHT_MODEL_AMBIENTwhiteLight);
glLightfv(GL_LIGHT0GL_DIFFUSEsourceLight);
glLightfv(GL_LIGHT0GL_POSITIONlightPos);
glEnable(GL_LIGHT0);
// Enable color tracking
glEnable(GL_COLOR_MATERIAL);
// Set Material properties to follow glColor values
glColorMaterial(GL_FRONT GL_AMBIENT_AND_DIFFUSE);
// Black blue background
glClearColor(0.0f 0.1f 0.1f 1.0f );
}
void TimerFunc(int value)
{
glutPostRedisplay();
glutTimerFunc(200 TimerFunc 1);
}
void ChangeSize(int w int h)
{
GLfloat fAspect;
// Prevent a divide by zero
if(h == 0)
h = 1;
// Set Viewport to window dimensions
glViewport(0 0 w h);
// Calculate aspect ratio of the window
fAspect = (GLfloat)w/(GLfloat)h;
// Set the pe
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 119296 2010-06-17 14:59 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\图形学设计报告.doc
文件 33368 2010-06-06 00:18 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\太阳、月亮、地球运行轨迹模拟\freeglut.lib
文件 511662 2007-06-19 23:15 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\太阳、月亮、地球运行轨迹模拟\freeglut_static.lib
文件 24416 2007-03-24 16:23 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\太阳、月亮、地球运行轨迹模拟\freeglut_std.h
文件 603308 2010-06-05 22:54 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\太阳、月亮、地球运行轨迹模拟\GLee.h
文件 4634 2010-06-05 23:36 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\太阳、月亮、地球运行轨迹模拟\gltools.h
文件 660 2007-03-24 16:23 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\太阳、月亮、地球运行轨迹模拟\glut.h
文件 295936 2010-06-17 09:29 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\太阳、月亮、地球运行轨迹模拟\solar.ncb
文件 1132 2010-06-17 07:31 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\太阳、月亮、地球运行轨迹模拟\solar.plg
文件 9 2010-06-05 23:37 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\太阳、月亮、地球运行轨迹模拟\注释.txt
文件 3389 2010-06-17 07:31 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\太阳、月亮、地球运行轨迹模拟\solar.dsp
文件 3675 2010-06-17 09:29 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\太阳、月亮、地球运行轨迹模拟\solar.cpp
文件 48640 2010-06-17 09:29 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\太阳、月亮、地球运行轨迹模拟\solar.opt
文件 518 2010-06-17 09:29 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\太阳、月亮、地球运行轨迹模拟\solar.dsw
文件 192576 2010-06-17 07:31 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\太阳、月亮、地球运行轨迹模拟\Debug\solar.exe
文件 225500 2010-06-17 07:31 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\太阳、月亮、地球运行轨迹模拟\Debug\solar.ilk
文件 467968 2010-06-17 07:31 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\太阳、月亮、地球运行轨迹模拟\Debug\solar.pdb
文件 156672 2010-06-17 07:31 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\太阳、月亮、地球运行轨迹模拟\Debug\vc60.idb
文件 94208 2010-06-17 07:31 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\太阳、月亮、地球运行轨迹模拟\Debug\vc60.pdb
文件 4398312 2010-06-17 00:03 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\太阳、月亮、地球运行轨迹模拟\Debug\solar.pch
文件 64802 2010-06-17 07:31 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\太阳、月亮、地球运行轨迹模拟\Debug\solar.obj
文件 807424 2010-06-06 00:17 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\freeglut.dll
文件 34816 2010-06-20 10:55 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\计算机图形学课程设计成绩考核表2010.doc
文件 62464 2010-06-20 10:56 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\计算机图形学课程设计任务书.doc
目录 0 2010-06-20 10:52 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\太阳、月亮、地球运行轨迹模拟\Debug
目录 0 2010-06-20 10:52 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟\太阳、月亮、地球运行轨迹模拟
目录 0 2010-06-17 12:51 计算机图形学课程设计--太阳、月亮、地球运行轨迹模拟
----------- --------- ---------- ----- ----
8155385 27
............此处省略0个文件信息
- 上一篇:个人自建DXP元件库和封装库
- 下一篇:遥感的K均值分类方法进行bmp图像的分类
相关资源
- Quartus II 15.0中仿真Altera三速以太网I
- Quartus II 15.0中仿真Altera三速以太网I
- PC-1D太阳能仿真软件
- 基于DSP2812的以太网调试程序
- 解决数组定义太大无法运行问题
- 简易绘图程序(计算机图形学课程设
- Intel 82579LM 82579V千兆以太网控制器驱动
- 万兆以太网技术特点及应用
- 光以太网技术及在城域光网络的应用
- 光以太网技术在IP城域光网络中的应用
- 电信级以太网技术漫谈
- 暗物质寻找由太阳中止的介子衰变产
- 基于ISCOM系列以太网交换机宽带接入方
- ISCOM系列以太网交换机宽带接入方案
- 解读ARM7内核微控制器以太网接口电路
- FX3U 以太网通讯开发 MC协议
- 基于工业以太网的嵌入式视频监控系
- 欧姆龙以太网通讯TCP/UDP及欧姆龙PLC程
- H3C S5000P系列以太网交换机用户手册
- 与建筑一体化的墙体型太阳能集热器
- 基于改进的MEI法建立太湖总磷参照浓
- 通过辐射压力检测太阳变色龙
- NTTVERIO将 IP 业务无缝扩展至太比特级
- 信息融合、神经网络-模糊推理理论及
- 塔式太阳能热发电中的定日镜跟踪系
- J2ME太空之战源代码
- AndreaMosaicPortable蒙太奇马赛克拼图制作
- AUTODYN安世亚太培训教程
- 88E6071系列交换机参考设计原理图
- 美国NASA和JPL的DE405历表系列文件
评论
共有 条评论