- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机图形学实验报告
学院:
专业班级:
学号:
姓名
使用OpenGL操作三维物体金字塔
一、 实验目的
使用OpenGL进行三维图形的绘制并能够实行平移、旋转和缩 放和在光照等条件下的三维观察。
二、 实验概要设计
本次实验利用VS2010 Win32平台和开源图形库OpenGL完成了 对一个金字塔的绘制和以不同方式实现观察的操作,该模拟设计能实 现基木的图形操作功能。通过木次实验,了解了图形学里使用OpenGL 的一些基于操作,了解直线、矩形的绘制操作、旋转、移动和缩操作、 不同方式投影的OpenGL实现,不同观察方式的OpenGL实现。
本设计包括模式选择模块、图形绘制模块、键盘鼠标控制模块。 模式选择模块实在Win32控制台上实现,主要实现了选择不同投影方 式(透视投影或者正面投影),以及不同的观察模式(变换物体,或 者变换观察点位置)。图形绘制模块,该模块根据模式的选择绘制图 形,渲染场景。主要实现空心矩形的绘制、投影、光照、对变换操作 的响应等。键盘鼠标控制模块,该模块主要实现通过鼠标点击来控制 移动,A, D控制缩放,方向键盘f I —>控制旋转。(控制观察点 模式下“ f 控制观察点与物体的距离來实现缩放,“ 一,-,A,D” 控制观察者的360度观察,“S,W,”控制观点的俯瞰或者仰视) 三、实验环境
Windows 10, VisualStudio 2015
四、实验内容与完成情况
创建OpenGL开发环境
配置编译环境
OpenGL的初始化
绘制三维立体图形
实现图形的平移、旋转、缩放操作
6 ?调试程序
五、实验过程和步爰
//开始绘制金字塔的各个面三维图形的绘制源代码和实验效果
//开始绘制金字塔的各个面
glBegin(GL_TRIANGLES); glColor3ub(217,167,22);
glNormal3f(0.0,2.0,4.0);//ffi 的法向量
glVertex3f( O.Of, l.Of, 0.00; glVcrtcx3f(-1 .Of,-1 .Of, 1 .Of); glVertex3f( 1.0f,-1.0f
glVertex3f( O.Of, l.Of, 0.00; glVcrtcx3f(-1 .Of,-1 .Of, 1 .Of); glVertex3f( 1.0f,-1.0f; l.Of); glNormal3f(4.0,2.0,0.0);
glVertex3f( O.Of, 1.0f,0.0f);
glVertex3f( l.Of,-l.Of, l.Of);
glVcrtcx3f( l.Of,-l.Of,-l.Of); glNormal3f(0.0,2.0,-4.0);
glVertex3f( O.Of, l.Of, O.Of);
glVertex3f( l.Of,-l.Of,-l.Of); glVertex3f(-l.Of,-l.Of,-l.Of); glNormal3f(-4.0,2.0,0.0);
glVertex3f( O.Of, 1.0f,0.0f); gl Vertex3f(-1 .Of,-1 .Of,-1 .Of);
glVertex3f(-l.Of,-l.Of, l.Of); glEnd();
//三角形的上顶点(丽侧而)
//三角形的左下顶点(前侧面)
//三介形的右下顶点(前侧血)
//三角形的上顶点(右侧面)
//三角形的左下顶点(右侧面)
//三角形的右下顶点(右侧面)
//三角形的上顶点(后侧面)
//三角形的左下顶点(后侧而)
//三角形的右下顶点(示侧面)
//三角形的上顶点(左侧面)
//三角形的左下顶点(左侧面)
//三角形的右下顶点(左侧面)
图1-1彩色三维金字塔
三维金子塔的平移、旋转、缩放
点的平移矩阵
平移变换是把点沿着给泄的方向移动固定的距离,而在三维空间 i般通过平移炬阵是实现。
而平移变换矩阵:
1 0 0
0 1 0 Qy
0 0 1 Qz
0 0 0 1
图1-2金字塔分别向左和向右平移
点的缩放矩阵
不动点的缩放可以沿着三个坐标轴的方向进行彼此独立的缩放。同时,这三个方向的缩放矩阵可以表示为:
SP
而平移变换矩阵:
Bxs==°000Py0
Bx
s==°
0
0
0
Py
0
0
0
0爲
0
0
0
0
1
■J OpenGL Gkrt Demo
图1-3金字塔的放大和缩小
(3)点的旋转矩阵
不动点的旋转相对而言很复杂,首先讨论不动点为原点的旋转, 这样旋转就有三个口由度,分别独立于三个坐标轴的旋转。
这样,就有三个旋转矩阵:
绕刁处标轴转动的变换矩阵
cos0
p _ sin 0 匕一 0
0
-sin0 cos 3 0 0
0
0
1
0
0
0
0
1
其屮,绕x坐标轴转动的变换矩阵
1
您可能关注的文档
最近下载
- 城市道路交叉口设计规程 152-2010正式版.ppt VIP
- 新版道德与法治三年级上册《4.科技力量大》教学设计.docx VIP
- baumer产品手册tds exg50exg50技术数据数字单色黑白相机系统千兆位以太网堡盟.pdf VIP
- 空气压缩机单机试车方案改.doc VIP
- GBT 19002: 2018X 质量管理体系 GBT 19001—2016应用指南( 征求意见稿 ).pdf VIP
- 电子商务专业高等学校特色专业建设任务书终稿.doc VIP
- 通过对物理实验数据的分析培养学生的数据处理能力.pptx VIP
- 重庆土特产包装包装最后结案.doc VIP
- 惠而浦滚筒洗衣机增高储物底座安装维修作业指导.pptx
- 2022年07月【九年一贯制+幼儿园】深圳金地新沙福荣学校建筑方案文本.pdf VIP
文档评论(0)