13_OpenGL变换.pdf

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

计算机图形学 OpenGL变换 河南理工大学 计算机学院 徐文鹏wpxu@ 教学博客http:// O 21:02 1 OpenGL中的矩阵 • 在OpenGL中矩阵是状态的一部分 • 有三种类型 –模型视图(GL_MODELVIEW) –投影(GL_PROJECTION) –纹理(GL_TEXTURE) • 用于操作的单组函数 • 选择所操作的对象 –glMatrixMode(GL_MODEL_VIEW); –glMatixMode(GL_PROJECTION); 21:02 2 当前变换矩阵(CTM) • 从概念上说,当前变换矩阵(CTM)就是一个4x4阶 的齐次坐标矩阵,它是状态的一部分,被应用到经 过流水线中的所有顶点 • CTM是在应用程序中定义的,并被上载到变换单 元中 21:02 3 CTM运算 • CTM可以被改变,改变的方法是上载一个新的 CTM或者右乘一个矩阵 –上载单位阵:C ← I –上载任意矩阵:C ←M –上载一个平移矩阵:C ← T –上载一个旋转矩阵:C ←R –上载一个放缩矩阵:C ← S –右乘任意矩阵:C ←CM –右乘一个平移矩阵:C ←CT –右乘一个旋转矩阵:C ←CR 21:02 4 –右乘一个放缩矩阵:C ←CS 绕固定点的旋转 • 从单位阵开始:C ← I • 把固定点移到原点:C ← CT−1 • 旋转:C ← CR • 把固定点移回到原处:C ← CT • 结果:C = T−1RT • 其中每个运算对应于程序中的一个函数调用 • !!在程序中最后指定的运算是最先被执行的运算 21:02 5 在OpenGL中的CTM • 在OpenGL的流水线中有一个模型视图矩阵和一个 投影矩阵,这两个矩阵复合在一起构成CTM • 可以通过首先设置正确的矩阵模式处理每个矩阵 21:02 6 OpenGL旋转、平移、放缩 • 上载单位阵: glLoadIdentity(); • 在右边相乘: glRotatef(theta, vx, vy, vz); –theta 以角度为单位,(vx,vy,vz)定义旋转轴 glTranslatef(dx, dy, dz); glScalef(sx, sy, sz); 每个函数的参数还可以是d(double)类型 21:02 7 示例 • 固定点为(1.0, 2.0, 3.0), 绕z轴旋转30° glMatrixMode(GL_MODELVIEW);

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档