
《维变换及三维观察》PPT课件.ppt
44页第七章第七章 三维变换及三维观察三维变换及三维观察7.1 三维几何变换7.2 平面几何投影7.3 透视投影7.4 观察坐标系以及观察空间7.5 三维图形的显示流程图7.6 三维裁剪7.3 7.3 透视投影透视投影透视投影透视投影 平行投影平行投影 l透视投影是一种中心投影法,在日常生活中,我们观察外界的景物时,常会看到一些明显的透视现象l如:我们站在笔直的大街上,向远处看去,会感到街上具有相同高度的路灯柱子,显得近处的高,远处的低,越远越低即使它们之间的距离相等,但是视觉产生的效果则是近处的间隔显得大,远处的间隔显得小,越远越密观察道路的宽度,也会感到越远越窄,最后汇聚于一点这些现象,称之为透视现象•透视的基本知识:透视的基本知识:7.3 7.3 透视投影透视投影7.3 7.3 透视投影透视投影•产生透视的原因,可用下图来说明:产生透视的原因,可用下图来说明:l图中,图中,AAAA',',BBBB',',CCCC' '为一组高度和间隔都相等,排成一为一组高度和间隔都相等,排成一条直线的电线杆,从视点条直线的电线杆,从视点E E去看,发现去看,发现l∠∠AEA AEA > ∠> ∠BEB BEB > ∠> ∠CEC CEC l若在视点若在视点E E与物体间设置一个透明的投影面与物体间设置一个透明的投影面P P, , 则在画面则在画面上看到的各电线杆的投影上看到的各电线杆的投影aaaa'>'>bbbb'>'>cccc' 'laaaa' '即即EAEA, ,EAEA' '与画面与画面P P的交点的连线的交点的连线; ;lbbbb' '即为即为EBEB,,EBEB' '与画面与画面P P的交点的连线。
的交点的连线lcccc' ' 即为即为ECEC,,ECEC' '与画面与画面P P的交点的连线的交点的连线l∴∴近大远小近大远小7.3 7.3 透视投影透视投影l若连若连a a, ,b b, ,c c及及a a ',',b b ',',c c ' '各点,它们的连线汇聚于各点,它们的连线汇聚于一点l然而,实际上,然而,实际上,A A, ,B B, ,C C与与A A ,,B B ,,C C 的连线是两条的连线是两条互相平行的直线,这说明空间不平行于投影面的一互相平行的直线,这说明空间不平行于投影面的一组平行线的透视投影,即组平行线的透视投影,即a a, ,b b, ,c c与与a a ', ', b b', ', c c ' '的连的连线,必交于一点,这点我们称之为灭点线,必交于一点,这点我们称之为灭点7.3 7.3 透视投影透视投影l7.3.1 透视投影基础l投影中心与投影平面之间的距离为有限投影中心与投影平面之间的距离为有限l特点:产生近大远小的视觉效果,由它产生的特点:产生近大远小的视觉效果,由它产生的图形深度感强,看起来更加真实图形深度感强,看起来更加真实。
l灭点灭点:不平行于投影平面的平行线,经过透视:不平行于投影平面的平行线,经过透视投影之后收敛于一点,称为灭点投影之后收敛于一点,称为灭点. .l主灭点主灭点: :平行于坐标轴的平行线产生的灭点平行于坐标轴的平行线产生的灭点l一点透视一点透视l两点透视两点透视l三点透视三点透视7.3 7.3 透视投影透视投影l主灭点数是和投影平面切割坐标轴的数量相对应主灭点数是和投影平面切割坐标轴的数量相对应的的, ,即由坐标轴与投影平面交点的数量来决定的即由坐标轴与投影平面交点的数量来决定的如投影平面仅切割如投影平面仅切割z z轴,则轴,则z z轴是投影平面的法线,轴是投影平面的法线,因而所有平行于因而所有平行于z z轴的直线只在轴的直线只在z z轴上有一个主灭轴上有一个主灭点;平行于点;平行于x x轴或轴或y y轴的直线也平行于投影平面,轴的直线也平行于投影平面,因而没有主灭点因而没有主灭点yxzo7.3 7.3 透视投影透视投影l人人眼眼从从正正面面去去观观察察一一个个立立方方体体,,当当z z轴轴与与投投影影平平面面垂垂直直时时,,另另两两根根轴轴oxox, ,oyoy轴轴平平行行于于投投影影平平面面。
这这时时的的立立方方体体透透视视图图只只有有一一个个主主灭灭点点,,即即与与画画面垂直的那组平行线的透视投影相交于一点面垂直的那组平行线的透视投影相交于一点l一点透视7.3 7.3 透视投影透视投影l人人眼眼观观看看的的立立方方体体绕绕y y轴轴旋旋转转一一个个角角度度之之后后,,再再进进行行透透视视投投影影例例如如三三坐坐标标轴轴中中oyoy轴轴与与投投影影平平面面平平行行,,而而其其它它两两轴轴与与画画面面倾倾斜斜,,这这时时除除平平行行于于oyoy轴轴的的那那组组平平行行线线外外,,其其它它两两组组平平行行线线的的透透视视投投影影分分别在投影平面上产生两个(主)灭点别在投影平面上产生两个(主)灭点l二点透视7.3 7.3 透视投影透视投影l此时,投影平面与三坐标轴均不平行此时,投影平面与三坐标轴均不平行l这时的三组平行线均产生灭点这时的三组平行线均产生灭点l三点透视7.3 7.3 透视投影透视投影l透视示例l以单位立方体为例,此时,单位立方体的三个互相垂直以单位立方体为例,此时,单位立方体的三个互相垂直的棱可以看作是局部坐标的三个坐标轴的棱可以看作是局部坐标的三个坐标轴。
7.3 7.3 透视投影透视投影O’P(x,y,z)P(x,y,z)ZX XYOλλP’(x’,y’,z’)l7.3.2 透视投影的变换矩阵l7.3.2.1 7.3.2.1 透视投影的几何规律透视投影的几何规律 - -- -右手坐标系情形右手坐标系情形即即则投影前后点坐标关系表示成一维向量形式为则投影前后点坐标关系表示成一维向量形式为:由坐标间几何关系得由坐标间几何关系得7.3 7.3 透视投影透视投影l7.3.2.2 透视变换矩阵和投影矩阵l由前面三维变换知识,由前面三维变换知识,l齐次坐标变换矩阵的第四列前三行的元素不为齐次坐标变换矩阵的第四列前三行的元素不为0 0时,时,矩阵形成透视变换矩阵形成透视变换7.3 7.3 透视投影透视投影考虑对原来的P点坐标作以下变换:7.3 7.3 透视投影透视投影l变换后得到的结果l是齐次坐标,实际应用需要化成普通坐标l上式前面的普通坐标部分和根据几何关系推导得到的坐标相等,即这两个矩阵起到了透视投影变换的效果7.3 7.3 透视投影透视投影l前一个矩阵称为透视变换矩阵,后一个称为投影矩阵, l后者相当于向z=0平面做正投影。
l两者结果矩阵总称为透视投影矩阵7.3 7.3 透视投影透视投影(1) 一点透视以单位立方体为例,一单位立方体位于空间直角坐标以单位立方体为例,一单位立方体位于空间直角坐标系的第一象限,并有一个顶点位于坐标原点,现将系的第一象限,并有一个顶点位于坐标原点,现将顶点(顶点(0,,0,,0)平移到()平移到(l,m,n)处,假设投影中)处,假设投影中心位于(心位于(0,,0,,k),求各个顶点经透视变换后的),求各个顶点经透视变换后的坐标坐标解:解: 该空间立方体先平移到了点(该空间立方体先平移到了点(l,m,n),然后再进),然后再进行透视变换行透视变换 其空间变换矩阵有平移和透视变换相乘而成其空间变换矩阵有平移和透视变换相乘而成7.3 7.3 透视投影透视投影结果矩阵即空间一点透视矩阵为7.3 7.3 透视投影透视投影l则投影变换后的齐次坐标为l将其变为普通坐标,得7.3 7.3 透视投影透视投影l即投影变换后的坐标分析上式:当z→时,x →0,y →0,z →-k∴(0,0,-k)为该透视的一个灭点7.3 7.3 透视投影透视投影这里将矩阵记做Mrz,即为灭点在z轴上的透视转换矩阵。
7.3 7.3 透视投影透视投影l同样,视点在(k,0,0)的透视变换,灭点在 (-k,0,0),变换矩阵为7.3 7.3 透视投影透视投影视点在(0,k,0)的透视变换,灭点在(0,-k,0)变换矩阵为Mrx, Mry, Mrz均称为空间点的一点透视变换;此为一般公式,当位移量l,m,n为零时,即对应单位立方体位于坐标原点时的情形7.3 7.3 透视投影透视投影l在一般变换矩阵中,l第四列的p,q,r起透视变换作用7.3 7.3 透视投影透视投影当p、q、r中有一个不为0时的变换假定q!=0, p=r=0. 对空间上任一点(x,y,z)进行透视变换结果如下:对该结果进行规范化对该结果进行规范化 处理后,便得:处理后,便得:7.3 7.3 透视投影透视投影当当y=0时:时: x’ = x y’ = 0 z’ = z即处于即处于y=0平面上的点,经过透视变换后没有变化平面上的点,经过透视变换后没有变化7.3 7.3 透视投影透视投影(2) 两点透视 在在M M中,当中,当p p、、q q、、r r中有两个不为中有两个不为0 0时的透视变换称时的透视变换称为二点透视变换。
假定为二点透视变换假定p!=0, r!=0, q=0;p!=0, r!=0, q=0;将空间上将空间上一点一点(x,y,z)(x,y,z)进行变换,可得如下结果:进行变换,可得如下结果:7.3 7.3 透视投影透视投影变成普通坐标可得: 7.3 7.3 透视投影透视投影可以看出:当x->∞时,y,z->0,x->1/p,即在X轴上1/p处有一个主灭点;当z->∞时,x,y->0, z->1/r, 即在Z轴上1/r处有一个主灭点;7.3 7.3 透视投影透视投影(3) 三点透视和两点透视类似,若和两点透视类似,若p p, ,q q, ,r r都不为都不为0 0,则可得到有,则可得到有三个灭点的三点透视三个灭点的三点透视7.3 7.3 透视投影透视投影变成普通坐标可得:变成普通坐标可得: 可以看出:可以看出:当当x->∞x->∞时,在时,在X X轴上轴上1/p1/p处有一个灭点;处有一个灭点;当当y->∞y->∞时,在时,在Y Y轴上轴上1/q1/q处有一个灭点处有一个灭点; ;当当z->∞z->∞时,在时,在Z Z轴上轴上1/r1/r处有一个灭点;处有一个灭点;7.3 7.3 透视投影透视投影第七章第七章 三维变换及三维观察三维变换及三维观察7.1 三维几何变换7.2 平面几何投影7.3 透视投影7.4 观察坐标系以及观察空间7.5 三维图形的显示流程图7.6 三维裁剪7.4 7.4 观察坐标系以及观察空间观察坐标系以及观察空间7.4.1 三种坐标系a a、、世界坐标系世界坐标系 对物体进行定义的坐标系,一般为右手坐标系,对物体进行定义的坐标系,一般为右手坐标系,用以定义或者构造物体的几何模型。
用以定义或者构造物体的几何模型b b、、观察坐标系观察坐标系 又称为视点坐标系,原点为投影平面的中心,又称为视点坐标系,原点为投影平面的中心,X X轴向右、轴向右、Y Y轴向上,轴向上,Z Z轴正向指向视点(投影点)轴正向指向视点(投影点)所在的位置,为右手坐标系所在的位置,为右手坐标系c c、、屏幕坐标系屏幕坐标系不同的设备,不同的图形软件包采用的方案可不同的设备,不同的图形软件包采用的方案可能不一致,例如,能不一致,例如,WindowsWindows屏幕坐标系和屏幕坐标系和OpenGLOpenGL开发包中对屏幕坐标的定义不同:开发包中对屏幕坐标的定义不同: WindowsWindows中二维屏幕坐标是中二维屏幕坐标是x x轴向右,轴向右,y y轴向下;轴向下; 而而OpenGLOpenGL图形开发包中,其屏幕空间为三维图形开发包中,其屏幕空间为三维空间,空间,x x轴正向向右,轴正向向右,y y轴正向向上,轴正向向上,z z轴正向指轴正向指向屏幕外部,即指向观察者,为右手坐标系;向屏幕外部,即指向观察者,为右手坐标系;7.4 7.4 观察坐标系以及观察空间观察坐标系以及观察空间7.4 7.4 观察坐标系以及观察空间观察坐标系以及观察空间l7.4.2 7.4.2 观察空间观察空间 无限观察空间有限观察空间正投影的观察空间正投影的观察空间(b) (b) 有限观察空间有限观察空间yvxv投影方向观察窗口zv前截面后截面zvyvxv(a) (a) 无限观察空间无限观察空间投影方向观察窗口7.4 7.4 观察坐标系以及观察空间观察坐标系以及观察空间透视投影的观察空间透视投影的观察空间zvyvxv观察窗口(a) (a) 无限观察空间无限观察空间投影中心zvyvxv(b) (b) 有限观察空间有限观察空间前截面后截面投影中心观察窗口7.4 7.4 观察坐标系以及观察空间观察坐标系以及观察空间平行投影的规范化投影变换7.3 7.3 透视投影透视投影第七章第七章 三维变换及三维观察三维变换及三维观察7.1 三维几何变换7.2 平面几何投影7.3 透视投影7.4 观察坐标系以及观察空间7.5 三维图形的显示流程图7.6 三维裁剪7.5 7.5 三维图形的显示流程图三维图形的显示流程图透视投影图生成的主要步骤透视投影图生成的主要步骤1 1、把世界坐标系中的坐标转换成观察坐标系中、把世界坐标系中的坐标转换成观察坐标系中的坐标。
的坐标旋转、平移等几何变换旋转、平移等几何变换2 2、使用透视投影变换,将坐标向屏幕坐标投影,、使用透视投影变换,将坐标向屏幕坐标投影,得到屏幕坐标系下的坐标得到屏幕坐标系下的坐标其中需要注意坐标轴的方向的不同其中需要注意坐标轴的方向的不同7.5 7.5 三维图形的显示流程图三维图形的显示流程图用户坐用户坐标系到标系到观察坐观察坐标系的标系的变换变换规范规范化投化投影变影变换换三维三维裁剪裁剪正投正投影影二维二维变换变换输出输出用户坐标观察坐标规范化投影坐标规范化投影坐标规范化二维坐标设备坐标第七章第七章 三维变换及三维观察三维变换及三维观察7.1 三维几何变换7.2 平面几何投影7.3 透视投影7.4 观察坐标系以及观察空间7.5 三维图形的显示流程图7.6 三维裁剪l三维裁剪窗口l长方体:适用于平行投影或轴侧投影;l平截头棱锥体:适用于透视投影;7.6 7.6 三维裁剪三维裁剪l推广的Cohen-Sutherland端点编码算法l基本思想: 根据裁剪体的六个表面将三维空间划分为27个区域,使用六位二进制编码来表示六个面将空间划分后对应的两种位置(0, 1)。
然后将线段的两个端点按位与,类似二维情况,直接根据结果判断或者进一步求交计算以后进行判断7.4 7.4 观察坐标系以及观察空间观察坐标系以及观察空间l本章小结l常用三维变换的基本公式,复合变换矩阵的推算常用三维变换的基本公式,复合变换矩阵的推算l平面几何投影平面几何投影l正平行投影:三视图、正二测投影、正三测投影的矩阵正平行投影:三视图、正二测投影、正三测投影的矩阵l斜平行投影的概念斜平行投影的概念l需要掌握各种投影变换矩阵的推导,以及典型投影的投影矩需要掌握各种投影变换矩阵的推导,以及典型投影的投影矩阵l透视变换透视变换l基本概念,涉及到的主要技术问题基本概念,涉及到的主要技术问题l一点、两点、三点透视变换矩阵的推导以及矩形样式,及其一点、两点、三点透视变换矩阵的推导以及矩形样式,及其应用方法应用方法l观察空间的概念和三维图形显示的流程观察空间的概念和三维图形显示的流程。












