• 大小: 1.8MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-30
  • 语言: 其他
  • 标签: OpenGL  

资源简介

本资源为计算机图形学中用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个文件信息

评论

共有 条评论