Lecture11-Viewing-II 计算机图形学ppt课件.ppt

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

4.6OpenGL的坐标变换机制 有关的数据结构 ModelView变换机制 Model变换的使用方法 View的变换使用方法 Project的使用方法 显示流程 有关的数据结构 两个坐标变换矩阵(4X4) ModelView矩阵 GL_MODELVIEW Projection矩阵GL_PROJECTION glMatrixMode(GL_MODELVIEW); glMatrixMode(GL_PROJECTION); 两个用于存储矩阵的堆栈: ModelView矩阵堆栈 Projection矩阵堆栈 ModelView变换机制 Model变换的目的是改变物体的位置和尺寸 View变换的目的是改变观察的方向 以上两个目的是用一个手段来实现的,即:操作ModelView矩阵 Model变换的使用方法 首先使以下函数,表示开始操作ModelView矩阵 glMatrixMode(GL_MODELVIEW); 操作ModelView 矩阵进行Model变换的方法分两类: glLoadIdentity(); glLoadMatrixf(*m); glMultMatrixf(*m); glTranslatef(dx,dy,dz); glRotatef(angle,vx,vy,vz); glScalef(sx,sy,sz); View变换的使用方法 可以使用上述所有函数来设值观察方向 利用以下函数则更方便: gluLookAt(ex, ey, ez, ax, ay, az, px , py , pz); e—视点 a—被观察点 p—向上方向 平行投影的使用方法 投影矩阵 首先必须使用下面的函数进入投影矩阵模式 glMatrixMode(GL_PROJECTION); 可以直接设值投影矩阵的值来进行投影,但一般使用下面的函数设值投影矩阵: glOrtho(xmin,xmax,ymin,ymax,near,far); glFrustum(xmin,xmax,ymin,ymax,near,far); gluPerspective(fovy,aspect,near,far); glOrtho(xmin,xmax,ymin,ymax,near,far); glFrustum(xmin,xmax,ymin,ymax,near,far); gluPerspective(fovy,aspect,near,far); 显示流程 OpenGL执行的次序 OpenGL程序编程的次序 1、操作投影矩阵,设置投影方式和参数(视坐标系-窗口坐标) 2、操作ModelView矩阵,设置观察方向和参数(世界坐标-视坐标) 3、操作ModelView矩阵,设置物体的位置(局部坐标-世界坐标) 4、给出待绘制物体的坐标(在局部坐标系下的坐标) Quiz What does the perspective matrix look like for the situation where the LookFrom point is on the -x axis, and the LookAt point is the origin? Transforming between Spaces Given u = (u1, u2, u3) v = (v1, v2, v3) n = (n1, n2, n3) And we want u to line up with the x axis v to line up with the y axis n to line up with the z axis z y x v u n Transforming between Spaces Step 1: Translate the VRP to the World Coordinate origin Step 2: Apply the following matrix to transform from uvn space to xyz space z y x v u n z y x v u n Canonical View Volumes In order to simplify clipping against a view volume, the notion of a canonical(规范的) view volume is used. It is just a particular view volume that allows for clipping to be done very quickly We will take our viewing situation, and go through a sequence of transform

文档评论(0)

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

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

1亿VIP精品文档

相关文档