680 likes | 888 Views
第七章 图 形 变 换 (二). 主要内容:. 图形变换的数学基础 窗口视图变换 图形的几何变换 形体的投影变换 三维线段裁剪. 形体的投影变换. 三维图形的基本问题 : 1. 在二维屏幕上如何显示三维物体? 存在的困难 : 显示器屏幕、绘图纸等是二维 ; 显示对象是三维 ; 解决方法 : 1) 三维显示设备 -> 正在研制中 ; 2) 投影 ; 2. 如何表示三维物体? 二维形体: 表示:直线段 , 折线 , 曲线段 , 多边形区域 … ; 输入:简单(图形显示设备与形体维数一致) ; 三维形体:
E N D
第七章 图 形 变 换 (二)
主要内容: • 图形变换的数学基础 • 窗口视图变换 • 图形的几何变换 • 形体的投影变换 • 三维线段裁剪
形体的投影变换 • 三维图形的基本问题: • 1. 在二维屏幕上如何显示三维物体? • 存在的困难: • 显示器屏幕、绘图纸等是二维; • 显示对象是三维; • 解决方法: • 1)三维显示设备->正在研制中; • 2)投影; • 2. 如何表示三维物体? • 二维形体: • 表示:直线段,折线,曲线段,多边形区域…; • 输入:简单(图形显示设备与形体维数一致); • 三维形体: • 表示:空间直线段、折线、曲线段、多边形、曲面片; • 输入、运算、有效性保证-》困难; • 解决方法:各种用于形体表示的理论、模型、方法;
形体的投影变换 • 3. 如何反映遮挡关系? • 物体之间或物体的不同部分之间存在相互遮挡关系; • 遮挡关系是空间位置关系的重要组成部分; • 解决方法:消除隐藏面与隐藏线; • 4. 如何产生真实感图形? • 何谓真实感图形? • 逼真的; • 示意的; • 人们观察现实世界产生的真实感来源于: • 空间位置关系:近大远小的透视关系和遮挡关系; • 颜色分布:光线传播引起的物体表面颜色的自然分布; • 解决方法:建立光照明模型、开发真实感图形绘制方法;
形体的投影变换 • 三维图形的基本研究内容: • 1)投影变换; • 2)三维形体的表示; • 3)消除隐藏面与隐藏线; • 4)建立光照明模型、开发真实感图形绘制方法; • 投影变换:把三维物体变为二维图形表示的过程;
投影中心与投影平面间距离无限 投影中心与投影平面间距离有限 根据投影方向与投影平面的夹角 根据投影平面与坐标轴的夹角 形体的投影变换 • 平面几何投影:分类:
形体的投影变换 • 平面几何投影:分类: 透视投影 平行投影
形体的投影变换 • 平面几何投影: -平行投影 : • 投影中心与投影平面之间的距离为无限,只需给出投影方向即可; • 是透视投影的极限状态; 投影的方向 投影中心
形体的投影变换 • 平面几何投影: -平行投影 : • 根据投影线方向与投影平面的夹角,分为两类: • 正平行投影与斜平行投影 • 正平行投影:投影方向垂直于投影平面; • 正平行投影包括:正投影(三视图)和正轴侧投影 • 三视图:三个投影面和坐标轴相互垂直。 • 正轴侧:投影面和坐标轴呈一定的关系。
形体的投影变换 • 三视图:主(正)视图、侧视图和俯视图
z a2 b2 a1 c2 y b1 c1 x 形体的投影变换 • 正平行投影-三视图 • 把三维图形在三个方向上所看到的棱线分别投影到三个坐标面上。再经过适当变换放置到同一平面上。
v z ty tx z y tz tz y ty x x o o tx u y y o’ (a,b) 形体的投影变换 • 正平行投影-三视图 • 变换矩阵(其中(a,b)为u、v坐标下的值) • 正视图
v z ty tx z y tz tz y ty x x o o tx u y y o’ (a,b) 形体的投影变换 • 正平行投影-三视图 • 俯视图
v z ty tx z y tz tz y ty x x o o tx u y y o’ (a,b) 形体的投影变换 • 正平行投影-三视图 • 侧视图
形体的投影变换 • 正轴测投影 • 当投影方向不取坐标轴方向,投影平面不垂直于坐标轴时,产生的正投影称为正轴测投影。 • 正轴测投影分类:正等测、正二测、正三测 • 正等测:投影平面与三个坐标轴的交点到坐标原点的距离都相等。 • 沿三个轴线具有相同的变形系数。
形体的投影变换 • 正轴测投影 • 正二测:投影平面与两个坐标轴的交点到坐标原点的距离都相等。 • 沿两个轴线具有相同的变形系数。
形体的投影变换 • 正轴测投影 • 正三测:投影平面与三个坐标轴交点到坐标原点距离都不相等。 • 沿三个轴线具有各不相同的变形系数。
形体的投影变换 • 正轴测投影的形成过程 • 1)将空间一立体图形绕y轴旋转θy角 • 2)再绕x轴旋转θx • 3)最后,向z=0平面做正投影 • 由于这种投影的投影平面不与立体的轴线垂直-》同时可见到物体的多个面-》可产生立体效果。 • 经过正轴测投影变换后,物体线间的平行性不变,但角度有变化。 • 正轴测投影变换矩阵的一般形式:
形体的投影变换 • 下面主要讨论正二测和正等测的投影变换矩阵,即确定变换矩阵中的θx角和θy角。 • 如何度量沿三个轴线方向的变形系数?
形体的投影变换 ∴正二侧投影需满足: 假定Z轴上的单位矢量经变换后长度变为1/2;即Z轴的变形系数恒为1/2: 可得:θx=20。42’, θy =19。28’。 ∴变换矩阵为: 变换矩阵为
形体的投影变换 正等侧投影需满足: 求得: 正等测图的变换矩阵为 正等测图的变换矩阵为:
形体的投影变换 • 斜平行投影: 投影线与投影平面不垂直的平行投影;投影平面一般取坐标平面; • 斜等测投影 • 投影平面与一坐标轴垂直; • 投影线与投影平面成45°角; 与投影平面垂直的线投影后长度不变; • 斜二测投影 • 投影平面与一坐标轴垂直; • 投影线与该轴夹角成 arcctg(1/2)角; 该轴轴向变形系数为 ½。即与投影平面垂直的线投影后长度减半;
y (xp,yp,zp ) z (xs,ys) x (x,y,z) 形体的投影变换 • 斜平行投影求法: • 1.已知投影方向矢量为(xp,yp,zp) • 设形体被投影到XOY平面上 • 形体上的一点(x,y,z)在xoy平面上投影后→(xs,ys) • ∵投影方向矢量为(xp,yp,zp) • ∴投影线的参数方程为:
y (xp,yp,zp ) z (xs,ys) x (x,y,z) 形体的投影变换 令
形体的投影变换 • 则上面方程的矩阵式为: 其中,[x,y,z,1]表示用户坐标系下的坐标,[xs,ys,zs,1]表示投影平面上的坐标。
yc P’ β l zc α P(0,0,1) xc 形体的投影变换 • 2.设(xe,ye,ze)为任一点,(xs,ys)为(xe,ye,ze)在XcOcYc平面上的投影 • 设立方体上一点 P(0,0,1)在XcOcYc平面上的投影P' (lcosα,lsinα,0),投影方向为PP',PP'与投影面的夹角为β, α为投影与x轴的夹角,则投影方向矢量为(lcosα,lsinα,-1)
yc P’ β l zc α P(0,0,1) xc 形体的投影变换 • 现考虑任一点(xe,ye,ze)在XcOcYc平面上的投影(xs,ys) • ∵投影方向与投影线PP’平行 • 所以
yc P’ β l zc α P(0,0,1) xc 形体的投影变换 • 矩阵形式为: • 斜等侧中:l=1,β=45 • 斜二侧中:l=1/2, β=arctgl=63.4 • 正平行投影:l=0, β=90
透视 - 基本知识 • 基本知识: • 透视投影是一种中心投影法,在日常生活中,观察外界的景物时,常会看到一些明显的透视现象。 • 如:站在街上,向远处看, • 1)会感到街上具有相同高度的路灯,显得近处的高,远处的矮。 • 2)即使路灯间的距离相等,视觉产生的效果是近处的间隔大,远处的间隔小,越远越密。 • 3)观察道路的宽度,会感到越远越窄,最后汇聚于一点。上述现象,称为透视现象。 • 产生透视的原因,可用下图说明:
透视- 基本知识 • 图中,AA',BB',CC'为一组高度和间隔都相等,排成一条直线的电线杆,从视点E去看,发现 • ∠AEA>∠BEB>∠CEC • 若在视点E与物体间设置一个透明的画面P,让P通过AA',则在画面上看到的各电线杆的投影aa'>bb'>cc' • aa'即EA,EA'与画面P的交点的连线; • bb'即为EB,EB'与画面P的交点的连线。 • cc' 即为EC,EC'与画面P的交点的连线。 • ∴近大远小
透视- 基本知识 • 若连a,b,c及a',b',c'各点,它们的连线汇聚于一点。 • 而实际上,A,B,C与A,B,C的连线是两条互相平行的直线,说明空间中不平行于画面(投影面)的所有平行线的透视投影,即a,b,c与a',b',c'的连线,必交于一点,这点称为灭点。
透视投影 • 条件:投影中心与投影平面间的距离有限; • 灭点:不平行于投影平面的平行线,经过透视投影之后收敛于一点,称为灭点. • 主灭点:平行于坐标轴的平行线产生的灭点。 • 透视投影按主灭点个数分为: • 一点透视 • 二点透视 • 三点透视 • 特点:能够产生近大远小的视觉效果,由此产生的图形深度感强,看起来更加真实。
y o z x 透视投影 • 主灭点数和投影平面切割坐标轴的数量相对应,即由坐标轴与投影平面交点的数量决定。 • 如投影平面仅切割z轴,则z轴是投影平面的法线,因而只在z轴上有一个灭点,平行于x轴或y轴的直线也平行于投影平面-》没有灭点。
一点透视 • 一点透视(平行透视) : • 人眼从正面去观察一个立方体,当z轴与投影平面垂直时,另两根轴ox,oy轴平行于投影平面。这时的立方体透视图只有一个灭点,即与画面垂直的那组平行线的透视投影交于一点。
二点透视 • 二点透视(成角透视) • 人眼观看的立方体绕y轴旋转一个角度,再进行透视投影。 • 三坐标轴中oy轴与投影平面平行,而其它两轴与画面倾斜,除平行于oy轴的那组平行线外,其它两组平行线的透视投影分别在投影平面的左右两侧,作出的立方体透视图产生两个灭点。
三点透视 • 三点透视(斜透视) • 投影平面与三坐标轴均不平行。 • 三组平行线均产生灭点。
一点透视变换的变换矩阵 • 1)一点透视 • 设z轴上有一观察点(即视点)V(0,0,h) • 从V点出发将物体上的点P(x,y,z)投影到XOY平面上得到P' (x',y',0) • 由相似三角形可知:
一点透视变换的变换矩阵 • 这时变换矩阵变为 的齐次坐标变换; • 可以看作先作变换
一点透视变换的变换矩阵 • 再做变换 的合成。 • 在透视变换Mr下有:
一点透视变换的变换矩阵 • 当z→时,x →0,y →0,z →-h • ∴(0,0,-h)为该透视的一个灭点。 • 同样,视点在(h,0,0)的透视变换,灭点在(-h,0,0) • 变换矩阵为
一点透视变换的变换矩阵 • 视点在(0,h,,0)的透视变换,灭点在(0,-h,0) • 变换矩阵为 • 在变换矩阵中,第四列 的p,q,r起透视变换作用:
一点透视变换的变换矩阵 • 当p、q、r中有一个不为0时的变换:假定q!=0,p=r=0. 对空间上任一点(x,y,z)进行透视变换结果如下: 进行规范化处理后,有:
一点透视变换的几何意义 • 当y=0时: x’ = x y’ = 0 z’ = z 即处于y=0平面上的点,经过透视变换后没有变化。 • 当y=∞时 x’ = 0 y’ = 1/q z’ = 0 即当y->∞时,所有点的变换结果都集中到Y轴的1/q处,也即所有平行于Y轴的直线,变换后都将沿伸相交于该点。该点即为灭点。
二点透视变换的变换矩阵 • 2)二点透视 • 在变换矩阵中,第四列的p,q,r起透视变换作用 • 当p、q、r中有两个不为0时的透视变换称为二点透视变换。假定p!=0, r!=0, q=0; • 将空间上一点(x,y,z)进行变换,可得如下结果:
二点透视变换的变换矩阵 • 由上式可看出: • 当x->∞时,在X轴上1/p处有一个灭点; • 当z->∞时,在Z轴上1/r处有一个灭点;
三点透视变换的变换矩阵 • 3)三点透视 • 类似,若p,q,r都不为0,则可得到有三个灭点的三点透视。
三点透视变换的变换矩阵 • 由上式可看出: • 当x->∞时,在X轴上1/p处有一个灭点; • 当y->∞时,在Y轴上1/q处有一个灭点; • 当z->∞时,在Z轴上1/r处有一个灭点;
透视投影的方法 • 1、一点透视图的生成 • 生成一点透视图时,通常在透视变换前,先将立体作一平移变换。
透视投影的方法 • 变换过程: • 1)先作平移变换; • 2)再作透视变换; • 3)最后将结果投影到投影面。 • 由于向XOZ平面上投影,故一点透视变换的灭点选在Y轴上。变换公式: