资源描述:
《《计算机图形学》课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、课题名称:SolarSystem太阳系学生姓名:曾睿学生学号:0643111150《计算机图形学》课程设计报告课题名称:SolarSystem(大阳系)课题负责人名(学号):曾睿(0643111150)同组成员名单(角色):曾睿(0643111150)指导教师:李征评阅成绩:评阅意见:提交报告时间:2008年12月17日-141-课题名称:SolarSystem太阳系学生姓名:曾睿学生学号:0643111150SolarSystem(太阳系)软件工程专业学生曾睿指导老师李征[摘要]太阳系(SolarSystem)是以太阳为中心,和所有受到太阳重力约
2、束的天体的集合体,主要包括太阳,八大行星,以及卫星.此课题模拟太阳系围绕太阳运转的模型,以太阳,八大行星和月球形成大致的体系结构,以VC6.0为平台用OpenGL基础知识实现从不同角度观测太阳系.关键词:OpenGLVC6.0太阳系运转角度-141-课题名称:SolarSystem太阳系学生姓名:曾睿学生学号:0643111150一、实验名称:SolarSystem(太阳系)二、实验的目的和要求:1.熟悉OpenGL基础函数2.通过程序模拟太阳系运行3.实现改变视角观测太阳系三、实验的环境:1.硬件环境:CPUIntelPentiumD,1G内存2
3、.软件环境:操作系统:WindowsxpSP2编译软件及版本:vc6.0OpenGL环境四、系统描述1.太阳太阳是恒星,能够自转,体积是太阳系中最大的,能够发光,处于太阳系中心位置.2.八大行星八大行星按与太阳距离从近到远分别为:水星,金星,地球,火星,木星,土星,天王星,海王星,各有各的大小,其中以木星最大,以各自不同的公转速度绕太阳运行,并自转.3.月球-141-课题名称:SolarSystem太阳系学生姓名:曾睿学生学号:0643111150月球是围绕地球旋转的卫星.体积是系统中最小的,旋转周期比较快。五.理论基础:用windowsapi创建
4、窗口,使用OpenGL绘制函数绘制球体,实现位图文件读取,并转换为纹理,使用系统时间控制球体转动,设置视点视角,通过改变视角从不同角度观测.所使用的计算机图形学理论基础:1.3D管道中的几何变换旋转矩阵行向量为该矩阵坐标系在原坐标系上的坐标,列向量为原坐标系的向量在本旋转矩阵坐标系上的坐标。旋转是欧氏变换;旋转、放缩是线性变换;旋转、放缩、平移是仿射变换;旋转、放缩、平移、透视投影是射影变换。线性变换在四维空间,仿射变换在三维空间,射影必须采用摄像坐标系,仿射变换是到自身的一类变换.齐次坐标系就是将一个原本是n维的向量用一个n+1维向量来表示。实数
5、。显然一个向量的齐次表示是不唯一的,齐次坐标的h取不同的值都表示的是同一个点,比如齐次坐标[8,4,2]、[4,2,1]表示的都是二维点[2,1]。-141-课题名称:SolarSystem太阳系学生姓名:曾睿学生学号:0643111150它提供了用矩阵运算把二维、三维甚至高维空间中的一个点集从一个坐标系变换到另一个坐标系的有效方法。4维坐标的旋转到了3维坐标就是平移.世界坐标系描述了物体在空间的位置,角度在世界坐标系中可以设定物体的位置,决定物体以什么方式进行放置局部坐标系描述了物体的形状,大小,样式等,可以在这一坐标系中设定物体的形状当我们在虚
6、拟场景中放置物体时,必须将其从局部坐标系转换到世界坐标系局部到世界的坐标系转换可以看做向量的转化局部坐标系到世界坐标系:旋转,放缩,平移世界坐标系到观测坐标系:平移,旋转。透视投影,就是以中心投影为依据所作的透视图象。正交投影将物体垂直的投影在屏幕上,在正交投影当中,物体的大小不会随着视口屏幕等参数的改变而变化。在正交投影中,三维物体的坐标沿平行线投影到观察平面上,它保持物体的有关比例不变。-141-课题名称:SolarSystem太阳系学生姓名:曾睿学生学号:0643111150虚拟摄像机的内部参数是指摄像机的几何和光学参数,包括焦距、缩放系数、
7、摄像机光轴和像平面的交点,外部参数主要是指摄像机坐标系与世界坐标系的转换矩阵.OPENGL中有Glulookat,Glperspective,Glmodelviewmatrix等函数可以完成对摄像机内、外参数的指定.voidgluLookAt(GLdoubleeyex,GLdoubleeyey,GLdoubleeyez,GLdoublecenterx,GLdoublecentery,GLdoublecenterz,GLdoubleupx,GLdoubleupy,GLdoubleupz);eye=(eyex,eyey,eyez)是视点(原点)的位置c
8、enter=(centerx,centery,centerz)是视口中心点的位置center-eye是z轴负方向z=(ey