投影矩阵.ppt

上传人:本田雅阁 文档编号:3342493 上传时间:2019-08-14 格式:PPT 页数:24 大小:597.06KB
返回 下载 相关 举报
投影矩阵.ppt_第1页
第1页 / 共24页
投影矩阵.ppt_第2页
第2页 / 共24页
投影矩阵.ppt_第3页
第3页 / 共24页
投影矩阵.ppt_第4页
第4页 / 共24页
投影矩阵.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《投影矩阵.ppt》由会员分享,可在线阅读,更多相关《投影矩阵.ppt(24页珍藏版)》请在三一文库上搜索。

1、,计算机图形学,杨 武 影像科学与技术实验室 东南大学计算机学院 ,2,第五章之第三节 投影矩阵,3,基本内容,推导出在标准OpenGL投影中所用的投影矩阵具体表示 介绍倾斜投影 介绍投影规范化,4,规范化,不想为每种类型的投影设计不同的投影矩阵,所以把所有的投影转化为具有默认视景体的正交投影 这种策略可以使我们在流水线中应用标准变换,并进行有效的裁剪,5,流水线,模型-视图 变换,投影变换,透视除法,裁剪,投影,4D 3D,相对于默认立方体,3D 2D,6,注释,在模型视图变换和投影变换的过程中,我们是一直在四维齐次坐标中的 默认值为单位阵(正交视图) 规范化使得不管投影的类型是什么,都是相

2、对于默认的简单立方体进行裁剪 投影直到最后时刻才进行 从而可以尽可能的保留深度信息,这对隐藏面消除是非常重要的,7,正交规范化,glOrtho(left,right,bottom,top,near,far),规范化 求出把指定裁剪体转化为默认裁剪体的变换,8,正交规范化矩阵,两步 把中心移到原点,对应的变换为 T(-(left+right)/2, -(bottom+top)/2,(near+far)/2) 进行放缩从而使视景体的边长为2 S(2/(left-right),2/(top-bottom),2/(near-far),P = ST =,9,最后的投影,令 z =0 等价于如下的齐次坐标

3、变换 从而在4D中一般的正交投影为,Morth =,P = MorthST,10,倾斜投影,OpenGL的投影函数不支持一般的平行投影,例如立方体的如下图示 此时立方体好像发生了剪切,然后再进行正交投影 倾斜投影= 剪切正交投影,11,一般的剪切,顶视图,侧视图,12,剪切矩阵,xy 剪切 (z 值不变) 投影矩阵 一般情形,H(q,f) =,P = Morth H(q,f),P = Morth STH(q,f),13,等价性,14,对裁剪体的影响,投影矩阵P = STH把原来的裁剪体变换为默认的裁剪体,顶视图,DOP,DOP,近面,远面,对象,裁剪体,z = -1,z = 1,x = -1,

4、x = 1,变形后的对象,15,简单透视,考虑简单透视:COP在原点,近裁剪面在z = -1,由平面x = z, y = z确定的有90度的视野,16,透视矩阵,齐次坐标下的简单投影矩阵为 注意这个矩阵与远裁剪面无关,M =,17,推广,N =,透视除法后,点 (x, y, z, 1) 变到了,x = -x/z , y = -y/z ,Z = -(a+b/z),无论, 的值是什么,在正交透影后就得到所期望的点。此时矩阵N非奇异,18,a 与b的选取,如果取,a =,b =,那么近平面映射到 z = -1 远平面映射到 z =1 各侧边映射到 x = 1, y = 1,19,规范变换,原来的 裁

5、剪体,原来的 对象,变换后的 裁剪体,变形后的对象,20,规范化与隐藏面消除,虽然这里选择的透视矩阵形式上看起来有点儿任意,但这种选择保证如果在原来的裁剪体内z1z2, 那么变换后的点满足z1z2 因此如果首先应用规范变化,隐藏面消除算法有效 然而,公式z = -(+/z)意味着由于规范化导致距离发生了改变,这可能导致数值问题,特别是当近距离非常小的时候更是如此,21,OpenGL 的透视,glFrustum 可以定义非对称视景体,但 gluPerspective 不能做到,22,OpenGL 透视矩阵,在glFrustum中的规范化需要进行一个初始剪切变换,从而形成一个视景棱台,接着进行放缩变换,得到规范后的透视视景体。最后,透视矩阵导致只需要最后的正交变换:,P = NSH,23,投影矩阵,P =NSH =,24,为何采取这种方法?,规范化使得只需要一个流水线体系就可以进行透视投影和正交投影 尽可能位于四维齐次空间中,以便保持隐藏而消除和明暗处理所需要的三维信息 简化了裁剪的操作,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1