300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > c语言输出三行星 C语言大作业观察行星的运行报告(16页)-原创力文档

c语言输出三行星 C语言大作业观察行星的运行报告(16页)-原创力文档

时间:2023-04-07 23:48:44

相关推荐

c语言输出三行星 C语言大作业观察行星的运行报告(16页)-原创力文档

程序设计挑战式课程设计报告

- PAGE 15 -

作业名称:

观察行星的运行

学 院:

教育实验学院

班 级:

HC001505

学 号:

300074

姓 名:

祖陆晗

团队组成:

祖陆晗

西北工业大学

DATE \@ "yyyy'年'M'月'd'日'" 1月8日

请填写以下十项内容,将表格按页对齐(插入空行),勿删除任何部分。

1、问题与背景(描述程序所要解决的问题或应用背景)

在物理课的学习中,当涉及到天体物理学的知识时,往往需要直观的观察天体的运行来加深对知识的理解。本程序基于Windows界面编程下的OpenGL图形函数库,设计了一个Windows窗口程序,实现了OpenGL太阳系八大星系和月球运行轨迹的表现。

2、开发工具(列出所使用的开发工具和第3方开发库)

Visual C++ 6.0

OpenGL图形函数库

3、主要功能(详细说明程序的功能)

用Windows窗口程序实现OPENGL太阳系八大行星和月球运行轨迹的表现。

4、设计内容(详细描述解决问题的原理和方法、算法、数据结构等)

一.程序的整体结构 :

1、在编程框架基础上使用OpenGL,需要包含以下头文件:

#include // Windows头文件

#include // OpenGL实用头文件

2、OpenGL绘制场景的框架

(1)头文件 包含所有头文件或链接库文件

(2)全局定义 应用实例、主窗口变量、数据结构等全局定义,固定不变

(3)窗口过程 窗口过程函数的实现,固定不变

(4)注册窗口类 注册窗口类函数的实现,除非修改窗口属性,一般不动

(5)初始化窗口 初始化窗口函数的实现,除非修改窗口初始化值,一般不动

(6)消息处理函数原型 给出所有消息处理函数的原型,增加/删除消息处理时变动

(7)消息循环 Windows应用程序主消息循环,一般不动

(8)消息处理函数实现 在这编写消息处理函数

(9)主函数 Windows应用程序基本结构,一般不动

3. 在框架下,在Display函数中绘制图形文字。

二、 程序的流程

1、 根据用户设置配置OpenGL的窗口

2、 创建OpenGL运行的窗口

3、 程序循环,运行Display绘图函数,显示图形

4、 退出程序

5、程序文件与工程名称(标出程序中所有文件名、工程名称及其说明)

文件夹:程序运行截图

.C:观察行星的运行

应用程序:观察行星的运行

Word文件:观察行星的运行程序报告

6、函数模块(程序中各个函数的原型声明及其说明)

一,首先定义一个数据结构,定义八大行星及月球的旋转角度以及旋转中心。

static GLfloat xRot = 0.0f;

static GLfloat yRot = 0.0f;

static float fMoonRot=0.0f;

static float fWaterRot=0.0f;

static float fGoldRot=0.0f;

static float fEarthRot=0.0f;

static float fFireRot=0.0f;

static float fWoodRot=0.0f;

static float fSoilRot=0.0f;

static float fSkyRot=0.0f;

static float fSeaRot=0.0f;

二,定义颜色数组

GLfloat whiteLight[] = { 0.2f, 0.2f, 0.2f, 1.0f };//白色光

GLfloat lightPos[] = { 0.0f, 0.0f, 0.0f, 1.0f };

三,设置窗口

void ChangeSize(int w, int h)

{

GLfloat fAspect;

// 防止被0所除

if(h == 0) h = 1;

// 把视口设置为窗口大小

glViewport(0, 0, w, h);

fAspect = (GLfloat)w/(GLfloat)h; //实际窗口的纵横比

// 重置透视坐标系统

glMatrixMode(GL_PROJECTION); //还有一个参数是L_MODELVIEW

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。