- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 坐标轴系统 世界坐标系 相机矩阵 投影矩阵 相机坐标 Device coordinates 视区矩阵 窗口坐标 物体坐标 模型矩阵 ModelView 变换 局部物体坐标 世界坐标 相机坐标 设备坐标 窗口坐标系统 投影与裁剪 模型变换 将局部坐标系变换到世界坐标系 包括缩放、旋转、平移等 相机变换 将世界坐标系中的一点变换至照相机坐标系 可以分成平移和旋转两部分 投影变换 视域、投影方式、屏幕分辨率 投影物体首先与视域求交决定可见部分 平行投影 透视投影 正交相机模型 标准透视相机模型(I) 背面剔除 将多边形的朝向与视点或投影中心相比较,去除那些不可见多边形 可见性测试在视见空间内进行。计算每一个多边形的法向,并检查法向与视线方向点积后值的符号 视域体裁剪 当且仅当视域体内的物体将被投影. 决定物体的哪一部分将被投影,哪一部分被剔除的过程叫做裁剪. Z=0 plane 视域体裁剪 从世界坐标系到屏幕坐标系 将物体从世界坐标系变换至屏幕坐标系,可以看成是:将物体首先作相机变换,再作透视变换: 一般还需要一个视区(视口)变换(viewport transformation) 视区变换 将视域归一化 视域与物体求交,求交后的物体投影,并按照相应的视见区域大小[xmin,xmax]、 [ymin,ymax]、 [zmin,zmax]进行缩放 OpenGL中的变换矩阵 相机变换: 指定照相机位置和方向(也叫照相机坐标系统) 模型变换: 将物体在场景中移动,也可以视为从局部坐标系到全局坐标系 ModelView变换: 相机变换和模型变换的混合. 投影变换: 定义视域体并指向投影 视区变换: 将二维投影后的场景变换到绘制窗口. 变换的合成 一系列变换的合成可通过矩阵的嵌套完成 关于任意一点的缩放: 关于任意轴的旋转 ModelView 矩阵 ModelView变换式建模矩阵M和相机变换V的乘积 C = VM 所有在OpenGL中的变换函数只能设置modelview 矩阵. 因此, ModelView 在物体被操作之前被调用. 例如: glMatrixMode (GL_MODELVIEW); glLoadIdentity (); glScalef (2.0f, 2.0f, 2.0f); DrawScene (); ModelView 矩阵堆栈 矩阵堆栈的顶部矩阵就是当前的ModelView 矩阵 (C). glPushMatrix (): 将当前的矩阵加入到矩阵堆栈 glPopMatrix (): 将顶部矩阵删除,并将所有其他矩阵往上移动一位。 矩阵堆栈的好处:允许一系列位置(代表了坐标系统)保留下来,并在需要的时候使用它们。 M1 M2 M3 Transform demo 矩阵阵列 建模变换: glLoadIdentity : C ? I glLoadMatrix(m) : C ? m glMultiMatrix(m) : C ? C m glRotatef(q,x,y,z) : C ? C RL(q) glTranslatef(x,y,z) : C ? C T(x,y,z) glScalef(x,y,z) : C ? C S(x,y,z) 最后定义的变换最先被执行. 相机坐标 照相机坐标系统: 也叫视点坐标系统或者视见坐标系统. 它表示了在照相机后面看场景的坐标关系。X-Y平面是投影面(也叫平面) ,照相机一般往负z方向看。 相机变换的两种方法 保持相机不变,将物体(在世界坐标系统中)绕着相机旋转。 保持物体不变,将相机在世界坐标系统中变换。相机变换是物体变换的逆变换。 y x z -z eye 设置相机: “Look At” 相机 将相机放置到世界坐标系统中定义相机变换 glMatrixMode (GL_MODELVIEW); glLoadIdentity (); gluLookAt (eye.x, eye.y, eye.z, look.x, look.y, look.z, up.x, up.y, up.z); up eye look Y Z X WCS x y z P0 Q0 VCS 从 LookAt 设置中计算相机变换 坐标系统, 形成了.: v u n -n eye look 相机变换: OpenGL例子(Look At相机) Void
原创力文档


文档评论(0)