- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 几何变换
第三章 几何变换;本章内容;第一节 理解变换;1.1 照相机比喻;1)把照相机固定在三脚架上,让它对准场景(视图变换);2)对场景进行安排,使各物体在照片中位于你所希望的位置(模型变换);3)选择照相机镜头,并调整放大倍数(投影变换);4)确定最终照片的大小(视口变换);;1.2 变换管线;2.1 视图变换;视点变换函数:
void gluLookAt( GLdouble eysx,
GLdouble eysy,
GLdouble eysz,
GLdouble centerx,
GLdouble centery,
GLdouble centerz,
GLdouble upx,
GLdouble upy,
GLdouble upz );缺省情况下,视点位于坐标原点,指向Z轴负方向,以y轴的正方向为朝上方向,相当于调用
gluLookAt(0.0,0.0,0.0,0.0,0.0,-100.0,0.0,1.0,0.0);
【注意】
在任何变换之前,必须指定视图变换,因为视图变换的效果相当于根据视觉坐标系统移动当前所使用的坐标系统;2.2 模型变换;移动;旋转;缩放;缩放值大于1.0,则拉伸物体
缩放值小于1.0,则收缩物体
缩放值为-1.0,则沿相应的轴反射该物体
【注意】
缩放值为0.0,则把所有沿这个轴的物体坐标收缩到0(这是无法还原的操作!)
应该限制glScale*()的使用,因为它会降低光照计算的效率
;;在很大程度上,物体的最终外观取决于模型变换的应用顺序。
两种考虑方法:
1)根据一个全局固定的坐标系统 来考虑问题,必须考虑乘法的出现顺序与它们在代码中出现的顺序相反
2)想象一个绘图时固定到物体的局部坐标系统,所有操作都相对于变化的坐标系统进行。使用这种考虑方法,矩阵乘法很自然地按照它们在代码中出现的顺序进行;2.3 投影变换;透视投影;透视投影函数:
glFrustum(GLdouble left,GLdouble right,
GLdouble bottom,GLdouble top,
GLdouble near,GLdouble far)
定义一个平截头体,计算一个实现透视投影的矩阵,并将
其与当前矩阵相乘,near和far表示离视点的远近,总为正值;透视投影函数:
gluPerspective(GLdouble fovy,GLdouble aspect,
GLdouble near,GLdouble far)
创建一个表示对称透视视图的平截头体矩阵,并把它与当
前矩阵相乘,fovy是yz平面上视野的角度,范围是[0.0,180.0],
aspect是平截头体的纵横比=width/height;【注意】
平截头体并不一定要求是对称的,它的轴也不必和z轴对齐
glFrustum函数指定的不一定是一个对称平截头体
可以在投影矩阵上执行旋转或转动,来改变可视空间的方向,默认情况下,观察点位于原点,视线方向沿z轴负方向
使用gluPerspective,需要选择适当的视野值,否则图像看上去会产生变形;正投影;正投影函数:
glOrtho(GLdouble left,GLdouble right,
GLdouble bottom,GLdouble top,
GLdouble near,GLdouble far)
创建一个表示正交平行可视空间的矩阵,并把它
与当前矩阵相乘。near和far可以是正值或负值,但
不能取相同的值。
如果没有其他变换,投影方向与z轴平行,观察点
的方向朝向z轴负方向;正投影函数:
glOrtho2D(GLdouble left,GLdouble right,
GLdouble bottom,GLdouble top)
一个特殊的正投影函数,主要用于二维图像到二维屏幕的投影。它的near和far默认值分别为 -1.0和1.0,所有二维物体的z坐标为0.0;2.4 视口变换;【注意】
视口的纵横比一般应与可视空间的纵横比相同,否则,当图像投影到视口时会发生变形
文档评论(0)