1. 1、本文档共46页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OpenGL视图

第十三章 OpenGL视图 本章目的 根据不同的视点位置显示模型 控制模型在三维空间中的位置 剪裁视区外的几何模型 操作矩阵堆栈控制模型的视图变换和投 影变换 结合多种变换来模拟复杂运动系统 操作逆转矩阵 内容简介 照相机类比法 视图变换和模型变换 投影变换 视区变换 变换的诊断 矩阵堆栈的操作 附加剪裁平面 组合变换举例 逆转矩阵 照相机类比法 照相机类比法 将照相机固定在三角架上(视图变换) 使想要的场景处于取景框中合适的位置 (模型变换) 调节镜头或调整放大倍数(投影变换) 决定最终相片的尺寸大小(视区变换) 照相机类比法 从空间坐标到屏幕坐标的流程 照相机类比法 空间坐标经过视图变换和模型变换得到成 像坐标 经过矩阵变换得剪裁坐标 经过透视细分,得到归一化的设备坐标 经过视区变换得到窗口坐标 例子一 Void display(void) { glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0,1.0,1.0); glLoadIdentity();//清空矩阵 gluLookAt(0.0,0.0,5.0,0.0,0.0,0.0,0.0,0.1,0.0); glScalef(1.0,2.0,1.0); gluWireCube(1.0); glFlush(); }; 视图变换和模型变换 视图变换和模型变换相当于将 空间中一点乘以一个矩阵 视图变换和模型变换 变换是有顺序的,矩阵相乘就是有顺序的。 视图变换和模型变换 三种模型变换: 平移变换 旋转变换 缩放变换 视图变换和模型变换 平移变换: glTranslate{fd}(x,y,z); 视图变换和模型变换 旋转变换: glRotate{fd}(angle,x,y,z); 例: glRotatef(45.0,0.0,0.0,1.0) 视图变换和模型变换 缩放变换: glScalef(x,y,z) 例:glScalef(2.0,-0.5,1.0) 例子二 显示不同模型变换后的三角形 Model.c 视图变换和模型变换 视图变换与模型变换可以互逆变换 平移视点相当于逆方向平移模型 顺时针旋转视点相当于逆时针旋转物体 视图变换和模型变换 视图变换和模型变换 使用gluLookAt()函数: void gluLookAt(GLdouble eyex,GLdouble eyey,GLdouble eyez, GLdouble centerx, GLdouble centery, GLdouble centerz, GLdouble upx, GLdouble upy, GLdouble upz) ; 视图变换和模型变换 视图变换和模型变换 使用以下函数: glMatrixMode(GL_PROJECT); glLoadIdentity(); glMultMatrixf(M); 视图变换和模型变换 透视投影: glFrustum(GLdouble left, GLdouble right, GLdouble bottom ,GLdouble top,GLdouble near,GLdouble far) ; 视图变换和模型变换 透视投影: glPe

文档评论(0)

docman126 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档