资源简介
本资源为计算机图形学中用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图像的分类
相关资源
- 51单片机太阳追踪系统
- ANSYS_Workbench安世亚太中文培训资料
- QCA8334 datasheet
- 车载以太网测试标准TC8 2.0版
- Qt下 用OpenGL 实现的模拟太阳系
- opengl实现的太阳系
- STM32F103+ W5500 USART转以太网 TcpServer
- xcap_1_2_1
- 欧姆龙PLC以太网通讯在线调试过OK
- opengl实现太阳系的各大行星运转动画
- 完整太阳系opengl
- 88E1149 datasheet
- FANUC机器人以太网通讯手册
- 太阳地球月亮旋转公转自转
- 用OPenGl模拟太阳、地球、月球包含纹
- IEEE 802.3-bw 车载以太网标准规范 官方
- 第四届亚太地区数学建模优秀论文.
- 太阳能追踪.rar
- 全千兆以太网交换机的设计和实现
- IEEE 802.1CB-2017 TSN
- FPGA 控制DM9000A进行以太网数据收发的
- openGL实现地球自动围绕太阳转
- 51单片机太阳单轴追踪系统
- 黑太阳1.0远控源码
- 基于FPGA太阳能热水器智能控制器的设
- FPGA与以太网设计功能实现
- 太阳线直销v4升级版
- 基于单片机的太阳能电池自动跟踪系
- OpenGL太阳地球月亮纹理实现
- 太阳能 手机 充电器
评论
共有 条评论