3D Viewing Lectured by Hua Yan.

Slides:



Advertisements
Similar presentations
全微分 教学目的:全微分的有关概念和意义 教学重点:全微分的计算和应用 教学难点:全微分应用于近似计算.
Advertisements

第八章 投影变换 第八章 投影变换 内容 : 一. 导引 二. 投影介绍 三. 投影变换原理 四. 总结 五. 补充内容.
精品课程《解析几何》 第三章 平面与空间直线.
§3.4 空间直线的方程.
《解析几何》 -Chapter 3 §7 空间两直线的相关位置.
第八章 向量代数 空间解析几何 第五节 空间直线及其方程 一、空间直线的点向式方程 和参数方程 二、空间直线的一般方程 三、空间两直线的夹角.
3.4 空间直线的方程.
第七章 空间解析几何 §5 空间直线及其方程 一、空间直线的一般方程 二、空间直线的对称式方程与参数方程 三、两空间直线的夹角
《解析几何》 乐山师范学院 0 引言 §1 二次曲线与直线的相关位置.
圆锥曲线复习.
解析几何 4.1.2圆的一般方程 邵东一中高1数学组 林真武.
课程内容进展 综述 建模 观察 显示 其它 ‘图形学’和‘图形系统’ 曲线曲面 实体造型 坐标系统,观察 图元绘制,裁剪 三维观察流水线
直线和圆的位置关系.
第三章 点 §3-1 两投影面体系中点的投影 §3-2 三投影面体系中点的投影 §3-3 两点的相对位置 §3-4 重影点 例题1 例题2
4 第4章 轴测图 主讲 袁和法 menu next.
计算机科学与技术专业研究型课程 矩阵和线性变换 宋传鸣 辽宁师范大学计算机与信息技术学院.
第二节 边缘和线特征提取.
物体识别 3D建图 semantic mapping
第二章 点、直线、平面的投影 2-1 投影的基本知识 2-2 点的投影 2-3 直线的投影 2-4 平面的投影.
第2章 点、直线、平面的投影  2.1 投影法及其分类  2.2 点的投影  2.3 直线的投影  2.4 平面的投影
工业机器人技术基础及应用 主讲人:顾老师
2D Viewing Lectured by Hua Yan.
双曲线的简单几何性质 杏坛中学 高二数学备课组.
一、平面的点位式方程 1 平面的方位向量 过空间中一点M与两个不共线的向量 ,可以唯一确定一个平面 ,则 向量 称为平面 的方位向量
第六章 二维变换及二维观察 如何对二维图形进行方向、尺寸和形状方面的变换。 如何进行二维观察。.
本节内容 平行线的性质 4.3.
Chapter 9 (三维几何变换) To Discuss The Methods for Performing Geometric Transformations.
2.1.2 空间中直线与直线 之间的位置关系.
平行四边形的性质 灵寿县第二初级中学 栗 彦.
工业机器人技术基础及应用 主讲人:顾老师
第六章 图形裁剪 在用户坐标系中定义的图形往往是大而复杂的,而输出设备如显示屏幕的尺寸及其分辨率却是有限的,为了能够清晰地观察某一部分或对其进行某些绘图操作,就需要将所关心的这一局部区域的图形从整个图形中区分出来,这个区分指定区域内和区域外的图形过程称为裁剪,所指定的区域称为裁剪窗口。 裁剪通常是对用户坐标系中窗口边界进行裁剪,然后把窗口内的部分映射到视区中,也可以首先将用户坐标系的图形映射到设备坐标系或规范化设备坐标系中,然后用视区边界裁剪。
变换与裁剪.
1.1 空间几何体的结构
直线与平面垂直 生活中的线面垂直现象: 旗杆与底面垂直.
专题二: 利用向量解决 平行与垂直问题.
第二十二章 曲面积分 §1 第一型曲面积分 §2 第二型曲面积分 §3 高斯公式与斯托克斯公式.
第三章 图形变换.
实数与向量的积.
正方形 ——计成保.
2.3.4 平面与平面垂直的性质.
§1体积求法 一、旋转体的体积 二、平行截面面积为已知的立体的体积 三、小结.
第五节 对坐标的曲面积分 一、 对坐标的曲面积分的概念与性质 二、对坐标的曲面积分的计算法 三、两类曲面积分的联系.
复习: 若A(x1,y1,z1) , B(x2,y2,z2), 则 AB = OB - OA=(x2-x1 , y2-y1 , z2-z1)
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
第四章 第四节 函数图形的描绘 一、渐近线 二、图形描绘的步骤 三 、作图举例.
抛物线的几何性质.
3.1.2 空间向量的数量积运算 1.了解空间向量夹角的概念及表示方法. 2.掌握空间向量数量积的计算方法及应用.
《工程制图基础》 第四讲 几何元素间的相对位置.
直线和圆的位置关系 ·.
O x y i j O x y i j a A(x, y) y x 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算 5.4 平面向量的坐标运算.
空间平面与平面的 位置关系.
第六章 轴测图 本章教学目的与要求 1.了解轴测图的基本知识 2.掌握正等轴测图的画法 3. 掌握斜二轴测图的画法 4.了解轴测剖视图的画法
《工程制图基础》 第五讲 投影变换.
Chapter 10 Three-Dimensional Viewing (三维观察)
第三章 空间向量与立体几何 3.1 空间向量及其运算 3.1.2空间向量的数乘运算.
29.1 投影.
义务教育课程标准试验教科书九年级 下册 投影和视图 珠海市金海岸中学 杜家堡 电话:
九年级 上册 29.1 投影(第1课时).
§2-2 点的投影 一、点在一个投影面上的投影 二、点在三投影面体系中的投影 三、空间二点的相对位置 四、重影点 五、例题 例1 例2 例3
9.5空间向量及其运算 2.共线向量与共面向量 淮北矿业集团公司中学 纪迎春.
空间直角坐标系.
平行四边形的面积.
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
3.2 立体几何中的向量方法 3.2 . 1 直线的方向向量与平面的法向量 1.了解如何用向量把空间的点、直线、平面表示来出.
用向量法推断 线面位置关系.
位似.
生活中的几何体.
5.1 相交线 (5.1.2 垂线).
第三章 图形的平移与旋转.
3.3.2 两点间的距离 山东省临沂第一中学.
Presentation transcript:

3D Viewing Lectured by Hua Yan

Contents 3D Display Method 3D Viewing Pipeline 3D Viewing Coordinate 3D Projection Transformation 3D View Volume 3D Clipping 在二维图形应用中,观察操作将世界平面上的点变换到输出设备上 利用世界坐标系中的窗口和设备上的视口,二维图形软件包将世界坐标系中的物体映射到设备坐标系并用视口的四条边来裁剪 对三维图形应用而言,由于对视图如何产生有更多的选择,因此涉及情况会更多 可以从空间中任意位置观察物体:从前面、后面、上面、下面以及从物体内部 三维物体描述必须经过投影到输出设备的观察平面上。此时裁剪边界变成一个体,而非一个面,其形状依赖于选择的投影类型

3D Display Methods Projection投影 Depth Cuing 深度提示 Parallel Projection 平行投影 Perspective Projection 透视投影 Depth Cuing 深度提示 Visible Line & Surface Identification Surface Rendering表面绘制 分解图和剖面图 三维和立体视图

Projection 平行投影 将物体表面上的点沿平行线投影到显示平台上 三维场景中的平行线在投影到二维显示平面中后仍然是平行线 工程和建筑设计常用此技术 透视投影 沿会聚路径将点投影到显示平面上 远小近大 平行线投影后成了会聚线 显示场景更加真实

Parallel Projection

Perspective Projection

Depth Cuing Idea 根据物体与观察位置的距离改变物体的亮度, 模拟物体可视亮度的大气效果,即近亮远暗。 彩页10 图 7-6

Visible Line & Surface Identification 可见线、面标识 突出可见线或以不同的颜色来显示 使用虚线来显示不可见线 二义性

表面绘制 Idea 根据场景中的光线条件及根据指定表面的特性来建立物体表面的亮度,可以获得额外的显示真实性 物体表面的性质:透明程度和表面的粗糙、平滑程度

Surface Rendering Added realism is attained in displays by setting the surface intensity of objects according to the lighting conditions in the scene and according to assigned surface characteristics. Lighting specifications include the intensity and positions of light sources and the general background illumination required for a scene. Surface properties of objects include degree of transparency and how rough or smooth the surfaces are to be.

Surface Rendering

Contents 3D Display Method 3D Viewing Pipeline 3D Viewing Coordinate 3D Projection Transformation 3D View Volume 3D Clipping 在二维图形应用中,观察操作将世界平面上的点变换到输出设备上 利用世界坐标系中的窗口和设备上的视口,二维图形软件包将世界坐标系中的物体映射到设备坐标系并用视口的四条边来裁剪 对三维图形应用而言,由于对视图如何产生有更多的选择,因此涉及情况会更多 可以从空间中任意位置观察物体:从前面、后面、上面、下面以及从物体内部 三维物体描述必须经过投影到输出设备的观察平面上。此时裁剪边界变成一个体,而非一个面,其形状依赖于选择的投影类型

3D Viewing Pipeline WC 观察变换 建模变换 MC 投影变换 VC 视口变换 NC DC 规范化变换和裁剪 PC

Contents 3D Display Method 3D Viewing Pipeline 3D Viewing Coordinate 3D Projection Transformation 3D View Volume 3D Clipping 在二维图形应用中,观察操作将世界平面上的点变换到输出设备上 利用世界坐标系中的窗口和设备上的视口,二维图形软件包将世界坐标系中的物体映射到设备坐标系并用视口的四条边来裁剪 对三维图形应用而言,由于对视图如何产生有更多的选择,因此涉及情况会更多 可以从空间中任意位置观察物体:从前面、后面、上面、下面以及从物体内部 三维物体描述必须经过投影到输出设备的观察平面上。此时裁剪边界变成一个体,而非一个面,其形状依赖于选择的投影类型

3D Viewing Coordinate yv yw xv zv 观察平面和观察坐标系的确定 xw zw xv yv zv P0 3D Viewing Coordinate 观察平面和观察坐标系的确定 观察平面:也叫投影平面 观察坐标系 用来指定观察者的观察位置及投影平面的参照系 观察坐标系(Xv, Yv, Zv)的建立: 观察参考点P0(x0, y0,z0) 观察平面法向量N:观察Zv轴的正方向和观察平面方向 向量V → 观察向上向量:建立Yv轴的正方向,将V在观察平面上投影,即可得到Yv轴 利用右手原则得到Xv轴 实际生活中,为在不同的距离和角度上拍摄物体,我们既可以移动物体,也可以保持物体不动而移动照相机。 拍摄结果只和物体与照像机之间的相对位置有关。 物体所在的坐标系是世界坐标系(wc),投影平面与投影中心也是在世界坐标系中指定的。 但是在世界坐标系中,为了获得物体某个角度的投影。所指定的投影平面和投影中心的表示可能很复杂,导致投影变换十分复杂。 此时,我们可以依赖于投影平面(照像机的底片)建立—个三维坐标系称为观察坐标系(VRC),使得在VRC中,投影平面、投影中心的表示简单,这样就简化了投影变换。 但带来的负作用是,在投影前必须首先将物体从世界坐标系变换到观察坐标系中来。 下面讨论如何建立观察坐标系

World to Viewing Coordinate WC-VC Transformation xw yw zw xv yv zv N V U 实际生活中,为在不同的距离和角度上拍摄物体,我们既可以移动物体,也可以保持物体不动而移动照相机。 拍摄结果只和物体与照像机之间的相对位置有关。 物体所在的坐标系是世界坐标系(wc),投影平面与投影中心也是在世界坐标系中指定的。 但是在世界坐标系中,为了获得物体某个角度的投影。所指定的投影平面和投影中心的表示可能很复杂,导致投影变换十分复杂。 此时,我们可以依赖于投影平面(照像机的底片)建立—个三维坐标系称为观察坐标系(VRC),使得在VRC中,投影平面、投影中心的表示简单,这样就简化了投影变换。 但带来的负作用是,在投影前必须首先将物体从世界坐标系变换到观察坐标系中来。 下面讨论如何建立观察坐标系 World to Viewing Coordinate

世界坐标->观察坐标的变换 xw yw zw xv yv zv xw yw zw xv yv zv xw yw zw xv yv zv RZ M= RZ RY RX T xw yw zw xv yv zv xw yw zw xv yv zv xw yw zw xv yv zv RY T RX

Contents 3D Display Method 3D Viewing Pipeline 3D Viewing Coordinate 3D Projection Transformation 3D View Volume 3D Clipping 在二维图形应用中,观察操作将世界平面上的点变换到输出设备上 利用世界坐标系中的窗口和设备上的视口,二维图形软件包将世界坐标系中的物体映射到设备坐标系并用视口的四条边来裁剪 对三维图形应用而言,由于对视图如何产生有更多的选择,因此涉及情况会更多 可以从空间中任意位置观察物体:从前面、后面、上面、下面以及从物体内部 三维物体描述必须经过投影到输出设备的观察平面上。此时裁剪边界变成一个体,而非一个面,其形状依赖于选择的投影类型

3D Projection Transformation Def. Transform points from 3D to 2D Types 为解决在二维设备上显示三维图形对象的问题,可借鉴照相机的成像过程在拍照时,将镜头对准所选景物,按下快门,景物就被记录在二维的胶片上 投影指的就是这种将三维物体转换为二维图形的过程。

投影分类 平行投影:坐标位置沿平行线变换到观察平面上 透视投影:物体位置沿收敛于某点的直接变换到观察平面 当投影射线彼此平行时的投影为平行投影,否则为透视投影。

正投影 正平行投影 正轴测投影 平行投影 斜平行投影 投影 正等轴测投影 一点透视 正二轴测投影 透视投影 二点透视 正三轴测投影 三点透视

正投影:投影向量垂直于观察平面 斜投影:不垂直 当投影射线彼此平行时的投影为平行投影,此时如果投影射线与投影平面垂直则为正投影,否则为斜投影。正投影时如果投影平面是三个坐标平面其中一个,则为正三面投影,即我们常说的三视图

正投影 正三面投影:三视图(正视图、俯视图、侧视图),投影平面法向量与三个坐标轴一个平行 轴测正投影:显示物体多个侧面的正投影 等轴测投影:投影平面与每个坐标轴的交点离原点距离相等(P296 Fig 7.25)

Examples 三视图

斜投影 斜等测投影:α等于45°,生成的视图。所有垂直于投影平面的线条投影后长度不变 斜二测投影:投影角满足tanα=2(63.4 °),生成的视图。垂直于投影平面的线条投影后得到一半长度。

Examples 轴侧正投影 正投影 斜投影

投影变换矩阵 正平行投影 xp=x yp=y zp=0 ú û ù ê ë é = 1 M

yv xv zv 斜平行投影 xp=x+LcosФ yp=y+LsinФ Zp=0 L=z/tanα=zL1 xp=x+zL1cosФ (x,y,z) (x,y) (xp,yp) Ф α L 斜平行投影 xp=x+LcosФ yp=y+LsinФ Zp=0 L=z/tanα=zL1 xp=x+zL1cosФ yp=y+zL1sinФ Tana=无穷 正投影 Tana = 1 斜等侧 Tana =2 斜二侧

斜平行投影变换矩阵 1 0 L1cosφ 0 0 1 L1sinφ 0 0 0 0 0 0 0 0 1 M =

透视投影变换矩阵 投影中心COP -- 也叫投影参考点PRP 投影平面(也叫观察平面VP) 投影线(也叫视线):是从投影中心发出的,是不平行的

yv 投影点坐标计算 xv zv P(x,y,z) 写出直线参数方程 利用投影平面方程,求出参数u (xp,yp) 求出投影点坐标 Q(0,0,zprp) 投影点坐标计算 写出直线参数方程 利用投影平面方程,求出参数u 求出投影点坐标 Center of Projection COP, Projection plane & Object Transformation Matrix

u=(zvp-z)/(zprp-z) zv zvp zprp 将u代入参数方程计算出xp,yp x’=x+(0-x)u p(x,y,z) y’=y+(0-y)u z’=z+(zprp-z)u zp=zvp => u=(zvp-z)/(zprp-z) 将u代入参数方程计算出xp,yp zv zvp p(x,y,z) zprp dp

zv zvp xp= x*(zprp-zvp)/(zprp-z) = x*dp/(zprp-z) yp= y*(zprp-zvp)/(zprp-z) = y*dp/(zprp-z) zp= zvp 投影参考点不在Z轴上? zv zvp p(x,y,z) q(xprp, yprp ,zprp)

Example:在三维坐标系下一点P(1,5,-10),以XOY平面作为投影平面。 1)若采用平行投影技术,试计算其正投影点PV的坐标。 2)若采用透视投影技术,以Q(0,0,8)为投影中心,试计算其透视投影点Pw的坐标。 Example: p(1,5,-10), Q(0,0,8), projection plane is XOY plane X=1-u Y=5-5u Z=-10+18u Zp=0 => u=5/9 Xp=4/9, yp=20/9

透视投影类型 灭点:3D物体的一组平行线投影后收敛于一点,此点称为灭点。 主灭点:3D物体平行于坐标轴的平行线收敛产生的灭点->主灭点 一点、二点、三点透视(P348) 如何控制主灭点数目?(投影平面与坐标轴的相交的数目) Types Vanishing Point & Principal Vanishing Point One-point, Two-point & Three-point Perspective Projection How to control

一点透视 vp

二点透视

三点透视

一点透视 三点透视 二点透视

Contents 3D Display Method 3D Viewing Pipeline 3D Viewing Coordinate 3D Projection Transformation 3D View Volume 3D Clipping 在二维图形应用中,观察操作将世界平面上的点变换到输出设备上 利用世界坐标系中的窗口和设备上的视口,二维图形软件包将世界坐标系中的物体映射到设备坐标系并用视口的四条边来裁剪 对三维图形应用而言,由于对视图如何产生有更多的选择,因此涉及情况会更多 可以从空间中任意位置观察物体:从前面、后面、上面、下面以及从物体内部 三维物体描述必须经过投影到输出设备的观察平面上。此时裁剪边界变成一个体,而非一个面,其形状依赖于选择的投影类型

对三维物体进行裁剪, 只有在观察体内的物体才会被投影到投影平面窗口内显示出来 3D View Volume 观察体:3D图形选取Window 观察体的作用 对三维物体进行裁剪, 只有在观察体内的物体才会被投影到投影平面窗口内显示出来 如何设置? 利用投影窗口边界来设置。 投影窗口:投影(观察)平面上的矩形选景窗口 为解决在二维设备上显示三维图形对象的问题,可借鉴照相机的成像过程在拍照时,将镜头对准所选景物,按下快门,景物就被记录在二维的胶片上 投影指的就是这种将三维物体转换为二维图形的过程。

观察体类型 无限型和有限型 无限型观察体 无穷平行管道 棱锥 投影窗口 COP

通过指定平行于投影平面的前、后平面来实现 有限观察体 通过指定平行于投影平面的前、后平面来实现 作用:去掉离投影平面过近和过远的物体 类型有: 矩形平行六面体 斜平行六面体 棱台 后平面 前平面 投影窗口 COP

前后平面与观察平面的位置关系 zv 观察平面 后平面 前平面 zv 后平面 观察平面 前平面 zv 后平面=观察平面 前平面

观察平面位置与投影效果的关系 正平行投影:不受观察平面位置的影响 斜平行投影 透视投影

观察体调整 调整目的 调整的意义 计算、处理方便快捷 如何调整? z y x

观察体调整 正平行投影 观察体为正平行六面体,不用调整 斜平行投影和透视投影的观察体均需要调整

平行投影变换的观察体调整 斜投影 正投影 窗口 N Zv 投影向量Vp 窗口 N Zv 投影向量V'p Z轴错切 斜平行六面体观察体 矩形平行六面体观察体 1 0 -px/pz 0 0 1 -py/pz 0 0 0 1 0 0 0 0 1 Mp=

透视投影变换的观察体调整 (x'',y'',z'') 投影向量Vp' 投影向量Vp (x',y',z') (x,y,z) Zvp Zvp COP(xprp,yprp,zprp) COP (xprp,'yprp',zprp) 缩放系数随着z的不同而变化

Contents 3D Display Method 3D Viewing Pipeline 3D Viewing Coordinate 3D Projection Transformation 3D View Volume 3D Clipping 在二维图形应用中,观察操作将世界平面上的点变换到输出设备上 利用世界坐标系中的窗口和设备上的视口,二维图形软件包将世界坐标系中的物体映射到设备坐标系并用视口的四条边来裁剪 对三维图形应用而言,由于对视图如何产生有更多的选择,因此涉及情况会更多 可以从空间中任意位置观察物体:从前面、后面、上面、下面以及从物体内部 三维物体描述必须经过投影到输出设备的观察平面上。此时裁剪边界变成一个体,而非一个面,其形状依赖于选择的投影类型

3D Clipping 裁剪窗口 裁剪的方法 平面方程裁剪 编码裁剪 参数方程裁剪 观察体是三维裁剪窗口。在三维空间中,图形关于观察体的裁剪类似于在二维空间中图形关于二维窗口的裁剪。事实上,前面所讲的裁剪方法大都可以直接推广到三维的情况。例如,裁剪直线段的Liang-Barsky方法中的一维诱导窗口的概念可以推广到三维的情况,从而将三维裁剪问题化为一维裁剪问题来解决。裁剪多边形的Sutherland-Hodgeman算法中的逐边裁剪思想也可以推广到三维,只不过现在不再是“逐边裁剪”,而且“逐面裁剪”。这种推广并没有太多地增加算法的复杂度,只不过是求交的计算量略有增加。

3D Clipping 三维裁剪的裁剪窗口 是一个六面体,包括左侧面、右侧面、顶面、底面、前面和后面 y y z x x 后面 顶面 右面 左面 后面 前面 底面 y z 顶面 左面 后面 右面 前面 底面 y x z

平面方程裁剪 平面方程 Ax+By+Cz+D=0 Y L X Z

平面方程裁剪 方程判断 将一条直线段的端点坐标代入边界平面方程中 若 AX + BY + CZ + D > 0,则端点位于边界平面外

平面方程裁剪 裁剪原则: 两个端点都在某一边界平面外的线段被裁剪掉 两个端点都在所有边界平面内的线段被保留 两个端点不满足上述条件,则计算直线与边界的交点: 由直线方程和平面方程联立得到交点

编码裁剪(cohen-sutherland算法) 思想 同二维空间的直线CS裁剪算法 空间划分 编码:六位

编码裁剪(cohen-sutherland算法) 六位区域码 b6b5b4b3b2b1 编码原则: 左: if(x<xwmin) b1=1 右: if(x>xwmax) b2=1 下: if(y<ywmin) b3=1 上: if(y>ywmax) b4=1 前: if(z<zwmin) b5=1 后: if(z>zwmax) b6=1

编码裁剪(cohen-sutherland算法) 编码裁剪原则 C1==0 && C2==0  保留 (C1&C2)  0  删除 (C1&C2) == 0  求解直线与边界的交点

编码裁剪(cohen-sutherland算法) 小结 本算法与二维算法一样。 优点:简单,易于实现。 缺点:效率

参数方程裁剪 直线的两个端点P1(x1, y1, z1), P2(x2, y2, z2) 参数方程 x = x1 + (x2 - x1)u y = y1 + (y2 - y1)u z = z1 + (z2 - z1)u u[0,1]

参数方程裁剪 LB算法的扩展 考虑xwmin, xwmax , ywmin, ywmax , zwmin, zwmax U1, U2求取

参数方程裁剪 计算 Pk, Qk, k=1~6 判断 LB算法描述 Pk=0,表示直线平行于窗口某边界 Pk!=0, 用Qk/Pk计算交点所对应的U值

参数方程裁剪 计算参数u1和u2 u1=Max{0, Qk/Pk}, 当Pk < 0 u2=Min{1, Qk/Pk}, 当Pk > 0 u1 > u2, 则直线在窗口外 u1 > u2, 否则计算交点坐标,即得到剪裁后的线段的端点