- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《计算机图形学》课程设计报告
《计算机图形学》课程设计报告
课题名称: Solar System(大阳系)
课题负责人名(学号): 曾睿(0643111150)
同组成员名单(角色): 曾睿(0643111150)
指导教师: 李征
评阅成绩:
评阅意见:
提交报告时间:2008 年 12 月 17 日
Solar System(太阳系)
软件工程 专业
学生 曾睿 指导老师 李征
[摘要]太阳系(Solar System)是以太阳为中心,和所有受到太阳重力约束的天体的集合体,主要包括太阳,八大行星,以及卫星.此课题模拟太阳系围绕太阳运转的模型,以太阳,八大行星和月球形成大致的体系结构,以VC6.0为平台用OpenGL基础知识实现从不同角度观测太阳系.
关键词:OpenGL VC6.0 太阳系 运转 角度
一、实验名称: Solar System(太阳系)
实验的目的和要求:
1.熟悉OpenGL基础函数
2.通过程序模拟太阳系运行
3.实现改变视角观测太阳系
三、实验的环境:
1.硬件环境:CPU Intel Pentium D ,1G内存
2.软件环境:
操作系统:Windows xp SP2
编译软件及版本:vc6.0 OpenGL环境
四、系统描述
1.太阳
太阳是恒星,能够自转,体积是太阳系中最大的,能够发光,处于太阳系中心位置.
2.八大行星
八大行星按与太阳距离从近到远分别为: 水星, 金星,地球,火星,木星,土星,天王星,海王星,各有各的大小,其中以木星最大,以各自不同的公转速度绕太阳运行,并自转.
3.月球
月球是围绕地球旋转的卫星.体积是系统中最小的,旋转周期比较快。
五. 理论基础:
用windows api创建窗口,使用OpenGL绘制函数绘制球体,实现位图文件读取,并转换为纹理,使用系统时间控制球体转动,设置视点视角,通过改变视角从不同角度观测.
所使用的计算机图形学理论基础:
3D管道中的几何变换
旋转矩阵行向量为该矩阵坐标系在原坐标系上的坐标,列向量为原坐标系的向量在本旋转矩阵坐标系上的坐标。
旋转是欧氏变换;旋转、放缩是线性变换;旋转、放缩、平移是仿射变换;旋转、放缩、平移、透视投影是射影变换。
线性变换在四维空间,仿射变换在三维空间,射影必须采用摄像坐标系,仿射变换是到自身的一类变换.
齐次坐标系就是将一个原本是n维的向量用一个n+1维向量来表示。 实数。显然一个向量的齐次表示是不唯一的,齐次坐标的h取不同的值都表示的是同一个点,比如齐次坐标[8,4,2]、[4,2,1]表示的都是二维点[2,1]。
它提供了用矩阵运算把二维、三维甚至高维空间中的一个点集从一个坐标系变换到另一个坐标系的有效方法。
4维坐标的旋转到了3维坐标就是平移.
世界坐标系描述了物体在空间的位置,角度在世界坐标系中可以设定物体的位置,决定物体以什么方式进行放置
局部坐标系描述了物体的形状,大小,样式等,可以在这一坐标系中设定物体的形状
当我们在虚拟场景中放置物体时,必须将其从局部坐标系转换到世界坐标系
局部到世界的坐标系转换可以看做向量的转化
局部坐标系到世界坐标系:旋转,放缩,平移
世界坐标系到观测坐标系:平移,旋转。
透视投影,就是以中心投影为依据所作的透视图象。
正交投影将物体垂直的投影在屏幕上,在正交投影当中,物体的大小不会随着视口屏幕等参数的改变而变化。在正交投影中,三维物体的坐标沿平行线投影到观察平面上,它保持物体的有关比例不变。
虚拟摄像机的内部参数是指摄像机的几何和光学参数,包括焦距、缩放系数、摄像机光轴和像平面的交点,外部参数主要是指摄像机坐标系与世界坐标系的转换矩阵.
OPENGL中有Glulookat, Glperspective, Glmodelviewmatrix等函数可以完成对摄像机内、外参数的指定.
void gluLookAt(
GLdouble eyex,
GLdouble eyey,
GLdouble eyez,
GLdouble centerx,
GLdouble centery,
GLdouble centerz,
GLdouble upx,
GLdouble upy,
GLdouble upz
);
eye=(eyex, eyey, eyez)是视点(原点)的位置
center = (centerx, centery, centerz)是视口中心点的位置
center - eye是z轴负方向
z = (eye - center) / |eye - center|
文档评论(0)