计算机图形学_第三章-5(形体表示)
17春《计算机图形学》
17春《计算机图形学》作业_1一、单选题1. 按照所构造的图形对象来分,点、曲线、平面、曲面或实体属于___,而山、水、云、烟等自然界丰富多彩的对象属于___。
A. 规则对象、不规则对象B. 规则对象、属性对象C. 不规则对象、几何对象D. 不规则对象、属性对象答案A2. Bezier特征多边形的第一条边表示了Bezier曲线()A. 在终点处的切矢量方向B. 在起点处的切矢量方向C. 在任意点处的切矢量方向D. 以上说法都不对答案B3. Bezier曲线不具备的性质有___。
A. 对称性B. 几何不变性C. 局部控制性D. 凸包性答案C4.答案B5. 在直角坐标系下,平面曲线f(x,y)=0可将平面分为___个点集,当f(x,y) 大于0时,表示的点集为其正侧,至于是曲线的外部还是内部则依赖于曲线的方向。
A. 1B. 2C. 3D. 4答案C6. 在判断由P1,P2,P3三个点构成的折线的方向时,可以通过计算___的符号来判断其方向,若其符号为负,则表示折线方向为正。
A. |P1×P2×P3|B. |(P1-P2) ×(P2-P3)|C. |(P2-P1) ×(P3-P1)|D. |(P1-P2)·(P2-P3)|答案B7. 由空间的n+1个控制点生成的k次准均匀B样条曲线是由若干段B样条曲线逼近而成的, ()A. 每个曲线段的形状仅由点列中的k个顺序排列的点所控制B. 每个曲线段的形状仅由点列中的k+1个顺序排列的点所控制C. 每个曲线段的形状仅由点列中的k+2个顺序排列的点所控制D. 每个曲线段的形状仅由点列中的k+3个顺序排列的点所控制答案B8. 用转角法判别点在区域的内外。
将点M与边界上一点P连接,当P沿边界移动一周时,M点处于区域外的是___。
A. MP与给定的某条直线夹角变化值为0B. MP与给定的某条直线夹角变化值为2πC. MP与给定的某条直线夹角的变化值为πD. MP与给定的某条直线夹角的变化值为3π答案A9.答案C10. 以下哪一个不是绘制一个象素宽的直线的常用算法()A. 数值微分法B. 中点分割算法C. Bersenham算法D. 中点画线法答案B11.答案B12. Bezier曲线上各点均落在()A. 均落在相应Bezier特征多边形构成的凸包之中B. 均落在相应Bezier特征多边形构成的凸包之外C. 既可落在相应Bezier特征多边形构成的凸包之中,也可落在相应Bezier特征多边形构成的凸包之外D. 均落在相应Bezier特征多边形上答案A13. 下列有关平面几何投影的叙述,错误的是___。
计算机图形学 第三章-5(形体表示)
• 点是三维空间的一个位置 • 边可以是直线边或曲线边,边的端点可以重合。 • 环是由首尾相接的一些边组成,而且最后一条边的终 点与第一条边的起点重合;环也可以是一个孤立点。 外壳是一些点、边、环、面的集合; • 外壳是一些点、边、环、面的集合。 • 区域由一组外壳组成。 • 模型由区域组成。
清华大学计算机科学与技术系
清华大学计算机科学与技术系 计算机图形学基础
• 面的形状可以是平面或曲面。平面可用平面方程 来描述,曲面可用控制多边形或型值点来描述, 也可用曲面方程(隐式、显式或参数形式)来描 述。对于参数曲面,通常在其二维参数域上定义 环,这样就可由一些二维的有向边来表示环,集 合运算中对面的分割也可在二维参数域上进行。
清华大学计算机科学与技术系
计算机图形学基础
3.2.2 形体表示模型
•在实体模型的表示中,基本上可以分为分 解表示、构造表示和边界表示三大类。 •1、分解表示
将形体按某种规则分解为小的更易于描述的部分,每 一小部分又可分为更小的部分,这种分解过程直至每 一小部分都能够直接描述为止。 (a)将形体空间细分为小的立方体单元。这种表示方 法的优点是简单,容易实现形体的交、并、差计算, 但是占用的存储量太大,物体的边界面没有显式的解 析表达式,不便于运算。
清华大学计算机科学与技术系
计算机图形学基础
3.2.3 形体的边界表示模型
• 3.2.3.1 边界表示的基本实体 • 边界模型表达形体的基本拓扑实体包括:
–1. 顶点 –2. 边。边有方向,它由起始顶点和终止顶 点来界定。边的形状(Curve)由边的几何 信息来表示,可以是直线或曲线,曲线边可 用一系列控制点或型值点来描述,也可用显 式、隐式或参数方程来描述。
清华大学计算机科学与技术系
计算机图形学3D图形表示方式
1 0 M ' per 0 0 0 0 1 0 0 1 0 1/ d 0 0 0 0
观察坐标系中的简单一点透视
One-point perspective projection
Under the viewing-reference coordinate of uvn,
Suppose :projection plane n=0,projection reference point (0,0,d),point p(up,vp,np) of three dim space,it’s projection point Q, Line Parameter Eq:
Projection plan (side view)
Three Orthographic Projections(三视图)
V Z Z
主视图
侧视图
Y
X 俯视图
Y
X
Y
U
正平行投影(三视图)
V 主视图 Z 侧视图
tx X tz ty t x
(a,b)
ty tz
Y
பைடு நூலகம்
俯视图
Y
U
V
主视图 Z 侧视图
Front Elevation
U
Perspective Projection
Vanishing Point.
The perspective projections of any set of parallel lines that are not parallel to the projection plane converge to a vanishing point.
计算机图形学 形体的表示
Байду номын сангаас
• 边(Edge) 边是一维几何元素,是两个邻面(正则形体) 或多个邻面(非正则形体)的交界。
正则形体中,不允许存在孤立边。
23
✓ 一对四式四叉树
每个结点有五个字段,其中四个字段用来 描述该结点的四个子结点的状态,另一个结点 存放指向子结点记录存放处的指针。这里要求 四个子结点对应的记录是依次连续存放的。
24
一个记录和一个结点对应,记录中描述的是四个 子结点的状态,指针给出的是四个子结点所对应记录 的存放处,这里还隐含地假定了子结点记录存放的次 序。这样对某个不是最后一层的某子结点,即使它已 经是叶结点,因而是不必要的,却也必须占据位置使 不会错误地存取其它同辈结点的记录。这使得存贮空 间仍然可能有浪费。
17
18
常用的三种表示四叉树的存储结构: ✓ 规则方式——规则四叉树 ✓ 线性方式——线性四叉树 ✓ 一对四方式——一对四式四叉树
19
✓ 规则四叉树
用五个字段的记录表示树中的每个结点, 其中一个用来描述结点的特性,即是灰、黑、 白三类结点中的哪一种;其余四个用于存放指向 四个子结点的指针。这是最普遍使用的表示树 形数据的存储结构方式,在早期将四叉树用于 图形显示或处理时常被采用。 缺点:大量的存储空间被指针所占用。
要计算交点个数,只要明确求出有多少次良性相 交。对可能性相交,分别计算与其两子树的良性相交 次数,然后以其和为交点个数。这时可递归进行,可 能一直进行到树叶一层才结束。
14
实践表明用带树方法表示曲线对提高计算 效率是有帮助的。另外两个带树对并、交等运 算是封闭的,与用象素阵列来表示图形的方法 比较节省空间需求。因此这种方法在许多领域 得到了广泛的应用。
5计算机图形学
规则形体(下):空间分割表示实体模型的三类表示◆边界表示(Boundary Representation,B-reps),即用一组曲面(含平面)来描述物体,这些曲面将物体分为内部和外部。
边界表示具体又包括多边形表面模型和扫描表示两种。
◆构造实体几何表示(Constructive Solid Geometry,CSG),它将实体表示成立方体、长方体、圆柱体、圆锥体等基本体素的组合,可以采用并、交、差等运算构造新的形体。
◆空间分割表示(Space-Partitioning),用来描述物体的内部性质,将包含一物体的空间区域划分成一组小的、非重叠的、连续实体(通常是立方体)。
提纲空间位置枚举表示12八叉树3BSP树空间位置枚举表示1将包含实体的空间分割为大小相同、形状规则(正方形或立方体)的体素,然后,以体素的集合来表示图形对象。
用三维数组P[I][J][K]表示物体,数组中的元素与单位小立方体一一对应当P[I][J][K] = 1时,表示对应的小立方体被物体占据当P[I][J][K] = 0时,表示对应的小立方体没有被物体占据八叉树2八叉树(octrees )又称为分层树结构,它对空间进行自适应划分,采用具有层次结构的八叉树来表示实体。
0132456xyz八叉树2四叉树B:Boundary(边界) E:Empty(空) F:Full(满)八叉树2八叉树(octrees )又称为分层树结构,它对空间进行自适应划分,采用具有层次结构的八叉树来表示实体。
013245601234567八叉树2基于八叉树的集合运算:E E E E E FF F 01324560 1 2 3 4 5 6 7形体A0132456F E E E E FF E 0 1 2 3 4 5 6 7形体B八叉树2基于八叉树的集合运算:E E E E E FF F 013201324545660 1 2 3 4 5 6 7F E E E E FF E 0 1 2 3 4 5 6 7FEEEE FFF 0 1 2 3 4 5 6 70132456并运算形体A形体B八叉树2基于八叉树的集合运算:E E E E E FF F 013201324545660 1 2 3 4 5 6 7F E E E E FF E 0 1 2 3 4 5 6 7EEEEE FFE 0 1 2 3 4 5 6 70132456交运算形体A形体B八叉树2基于八叉树的集合运算:E E E E E FF F 013201324545660 1 2 3 4 5 6 7F E E E E FF E 0 1 2 3 4 5 6 7EEEEE EEF 0 1 2 3 4 5 6 70132456差运算A-B形体A形体B八叉树2八叉树实例八叉树2八叉树实例八叉树2松散八叉树思想:松散八叉树的基本思想和普通八叉树一样,但是每个长方体的大小选中比较宽松。
专升本《计算机图形学与CAD技术》-试卷-答案
专升本《计算机图形学与CAD技术》-试卷-答案7.以下不是形体在计算机内部表示的是()(2分)A.线框模型B.表面模型C.实体模型D.二叉树模型专升本《计算机图形学与CAD技术》一、(共70题,共150分)1.CAD的一个未来发展方向是实现跨部门(或行业)、跨地域的企业协同产品开发。
描述的是:()(2分)A.集成化B.网络化C.智能化D.标准化.标准答案:B2.有限元的基本思想是()(2分)A.弹性力学B.结构离散C.机构分析与综合D.面向对象编程.标准答案:B3.以下()是计算机辅助制造软件(2分)A.ACISB.PARASOLIDC.MaterCAMD.Any.标准答案:C4.以下属于CSG表达特点的是()(2分)A.以边界表示形体B.以二叉树表示形体C.数据结构复杂D.形体更新快.标准答案:B5.以下结构划分合理的网格是()(2分)A.B.C..标准答案:C6.AutoCAD中,r是()命令的缩写(2分)A.REMOVEB.COPYC.CIRCLED.ZOOM.标准答案:A.标准答案:D8.()可以计算实体的质量和惯性矩(2分)A.物性分析B.装配干涉检查C.装配树D.爆炸图。
.标准答案:A9.以下不属于Bezier曲线性质和特点的是:()(2分)A.曲线通过首末点且与首末控制多边形边相切B.曲线在控制多边形边的凸包内C.改变首末起始点顺序不改变曲线形状D.采用B样条基函数.标准答案:D10.空间曲面的显式表示可以一般化为()(2分)A.B.C.D..标准答案:C11.数据元素之间存储顺序与逻辑顺序一致的数据结构为()。
A.线性表B.树C.二叉树D.图.标准答案:A12.B样条曲线采用的是()(2分)A.显式表示B.隐式表示C.参数形式.标准答案:C13.产品设计的核心是()(2分)A.加工仿真B.刀具轨迹规划C.有限元分析D.几何形状.标准答案:D14.以下()不是数据库管理系统(2分)A.ACCESSB.ORACLEC.SQLSeverD.2分)(.标准答案:D15.以下不属于几何约束的是()(2分)A.点固定B.点在线上C.线线平行D.尺寸值相等.标准答案:D16.适合建立图形库进行重复使用的是()(2分)A.标准件B.自制件C.装配件D.机加件.标准答案:A17.以下说法正确的是()(2分)A.链表不允许插入和删除B.栈只能在表的一端进行插入和删除C.顺序表可以在表中任意位置进行插入和删除D.栈只能在表的一端进行插入,在表的另一端进行删除.标准答案:B18.以下关于PDM描述中,正确的是()(2分)A.PDM是产品信息传递的桥梁B.PDM与CIMS没有关系C.PDM只管理产品数据D.PDM进行针对设计人员的人力资源管理.标准答案:A19.下列算法不是()递推的。
《计算机图形学》试题-A卷及参考答案
7、对于由P 0 P 1 P 2 三点所决定的二次B样条曲线,下列叙述中错误的是( D )
A)起始点位于(P 0 +P 1 )/2 处; B)终止点位于(P 2 +P 1 )/2 处; C)若P 0 P 1 P 2 三点共线时,该曲线是一条线段; D)起始点的切矢为:2(P 1 -P 0 )。 8、下列不属于计算机图形学中三维形体表示模型的是:( C )。 A 线条模型 B 表面模型 C 粒子模型 D 实体模型
X(t)=3t 2 3 Y(t)=3t-9t +6t 2 3 Z(t)= 3t-9t +6t 将 t 分别等于 0,1/3, 2/3,1 代入上述参数曲线,得 P(0)=(0,0,0) P(1/3)=(1,2/9,2/9) P(1/2)=(3/2,0,0) P(2/3)=(2,-2/9,-2/9) P(1)=(3,0,0)
计算机图形学试题
一、选择题(20 分) 1、种子填充算法中,正确的叙述是( C ) A)按扫描线的顺序进行象素点的填充; B)四连接算法可以填充八连接区域;
A
C)四连接区域内的每一象素可以通过上下左右四个方向组合到达; D)八连接算法不能填充四连通区域。 2、在多边形的逐边裁剪法中,对于某条多边形的边(方向为从端点 S 到端点 P)与 某条裁剪线(窗口的某一边)的比较结果共有以下四种情况,分别需输出一些顶点. 请问哪种情况下输出的顶点是错误的? ( A ) A) S 和 P 均在可见的一侧,则输出 S 和 P. B) S 和 P 均在不可见的一侧,则输出 0 个顶点. C) S 在可见一侧,P 在不可见一侧,则输出线段 SP 与裁剪线的交点. D) S 在不可见的一侧,P 在可见的一侧,则输出线段 SP 与裁剪线的交点和 P. 3、透视投影中主灭点最多可以有几个?( D ) A)0 B)1 C)2 D)3
北京交通大学智慧树知到“计算机科学与技术”《计算机图形学》网课测试题答案2
北京交通大学智慧树知到“计算机科学与技术”《计算机图形学》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共15题)1.鼠标、操纵杆只可以输入一系列坐标位置。
()A.错误B.正确2.从动画生成技术角度,计算机动画分为()A.关键帧动画B.变形物体动画C.过程动画D.关节动画3.下列哪些是线画图元的基本属性?()A.线型B.线宽C.长度D.颜色4.编辑3D文字时,怎样得到能够在三维空间内旋转3D文字的角度控制框?()A.利用“选择”工具单击3D文字B.利用“交互立体”工具单击3D文字C.利用“交互立体”工具双击3D文字D.利用“交互立体”工具先选中3D文字,然后再单击5.有24个位平面,分辨率是1024×768像素的光栅显示系统,需要1024×768×24/8=2359296字节的帧缓存。
()A.错误B.正确6.如果希望在CorelDRAW中创建的多个页面具有相同的图形元素,可以执行下面的哪一项操作?()A.先创建多个页面,然后分别在各个页面中绘制相同的图形元素B.创建一个页面并在此页面绘制需要的图形元素,然后再将此页面复制多个C.选择“Layout-Page Setup”命令,在弹出的对话框中进行设置D.在Master Page中创建一个图层,在此图层中绘制希望出现在各个页面中的图形元素,则此各个页面将具有相同的图形元素7.计算机图形学中常用的坐标系有哪几类()A.MCB.VCC.NDCD.DC8.关于直线生成算法的叙述中,哪个说法是正确的()A.Bresenham算法是每次决定一个像素的走法B.Bresenham算法是对中点画线算法的改进C.DDA算法是对Bresenham算法的改进D.用DDA算法确定像素位置比其它直接生成算法要快,因为DDA算法利用了光栅的特点,故其运行效率高且便于硬件实现9.下面关于反走样的论述哪个是错误的?()A.提高分辨率B.把象素当作平面区域进行采样C.采用锥形滤波器进行加权区域采样D.增强图象的显示亮度10.计算机图形学中常用的坐标系有哪几类?()A.MCB.VCC.NDCD.DC11.要想对一个选中的对象进行原位复制,先选择“Copy”命令再选择“Paste”命令。
计算机图形学完整ppt课件
工业设计
利用计算机图形学进行产品设计、仿 真和可视化,提高设计效率和质量。
建筑设计
建筑师使用计算机图形学技术创建三 维模型,进行建筑设计和规划。
计算机图形学的相关学科
计算机科学
计算机图形学是计算机科学的一个重 要分支,涉及计算机算法、数据结构、 操作系统等方面的知识。
物理学
计算机图形学中的很多技术都借鉴了 物理学的原理,如光学、力学等,用 于实现逼真的渲染效果和物理模拟。
02
03
显示器
LCD、LED、OLED等,用 于呈现图形图像。
投影仪
将计算机生成的图像投影 到大屏幕上,用于会议、 教学等场合。
虚拟现实设备
如VR头盔,提供沉浸式的 3D图形体验。
图形输入设备
键盘和鼠标
最基本的图形输入设备,用于操 作图形界面和输入命令。
触摸屏
通过触摸操作输入图形指令,常 见于智能手机和平板电脑。
多边形裁剪算法
文字裁剪算法
判断一个多边形是否与另一个多边形相交, 如果相交则求出交集部分并保留。
针对文字的特殊性质,采用特殊的裁剪算法 进行处理,以保证文字的完整性和可读性。
05
光照模型与表面绘制
光照模型概述
光照模型是计算机图形学中用于模拟光线与物体表面交互的数学模型。
光照模型能够模拟光线在物体表面的反射、折射、阴影等效果,从而增强图形的真 实感。
二维纹理映射原理
根据物体表面的顶点坐标和纹理坐标,计算出每个像素点对应的纹 理坐标,从而确定像素点的颜色值。
二维纹理映射实现方法
使用OpenGL中的纹理映射函数,将纹理图像映射到物体表面。
三维纹理映射技术
三维纹理坐标
定义在三维空间中的坐标,表示纹理图像上的位置。
计算机图形学_PPT完整版
图形软件主要类型
3. 专用图形软件包 针对某一种设备或应用,设计/配置专用的图形 生成语言或函数集,例如: 场景描述:Open Inventor 建立虚拟世界的三维模型:VRML 生成三维Web显示:Java3D 创建Java applet中的二维场景:Java 2D 生成各种光照模型下的场景:Renderman Interface(Pixar)……
图元的绘制、显示过程
顶点
法向量、颜色、纹理…
像素
图元操作、像素操作 光栅化(扫描转换)
像素信息 帧缓存 显示器
调用底层函数,如 setPixel (x,y);将当 前像素颜色设定值存 入帧缓存的整数坐标 位置(x,y)处。
图元描述与操作
几何图元由一组顶点(Vertex)描述 这一组顶点可以是一个或是多个。每个顶点信息二维或 三维,使用 2~4 个坐标。顶点信息由位置坐标、颜色 值、法向量、纹理坐标等组成。 图元操作: 几何变换、光照、反走样、消隐、像素操作等,然后准 备进行光栅化处理。 扫描转换或光栅化(Rasterization ) 将对象的数学描述、颜色信息转换成像素信息(像素段 写入帧缓存),送到屏幕显示。
应用程序
图形应用程序
图形语言连接 外部应用 数据库 内部应用 数据库 API GKS/GKS 3D PHIGS OpenGL
图形编程软件包,如OpenGL、 VRML、Java2D、Java3D……
GKSM
图形设备驱动程序,如显卡驱动、 打印机/绘图仪驱动…… 支持图形处理的操作系统,如 Macintosh、Windows、Unix、 Linux 、各种嵌入式OS…… 图形输
计算机图形软件的标准化意义
可移植性 通用、与设备无关 推动、促进计算机图形学的推广、应用 资源信息共享
三维形体的表示
拓扑信息 用来表示形体之间的连接关系称为拓扑信息。
表示形体的两种模型
数据模型 完全以数据描述 例如 用以8个顶点表示的立方体 以中心点和半径表示的球 以数据文件的形式存在 包括----特征表示、空间分割表示、推移表示、
边界表示、构造实体几何表示等 进一步分为 线框模型 外表模型 实体模型
分解表示-空间位置枚举表示
形体空间细分为小的均匀的立方体单元。 用三维数组C[I][J][K]表示物体,数组中的元素与
单位小立方体一一对应 当C[I][J][K] = 1时,表示对应的小立方体被物 体占据 当C[I][J][K] = 0时,表示对应的小立方体没有 被物体占据
分解表示-空间位置枚举表示
无论如何放置长方体都能唯
一地表示了。对于多面体由
于其轮廓线和棱线通常是一
致的,所以多面体的线模型
更便于识别,且简单。
线框模型
优点:简单、处理速度快
缺点:
1、对于非平面多面体,如圆柱、球等 形体,其轮廓线随观察方向的改变而 改变,无法用一组固定的轮廓线来表 示它们。
2、线框模型与形体之间不存在一一对 应关系:它仅仅通过给定的轮廓线约 束所表示形体的边界面,而在轮廓线 之间的地方,形体的外表可以任意变 化。
正那么集合运算
同理:
b(A∪*B)=(bA ∩ eB) ∪(bB ∩ eA)∪(bA∩bB)同
侧
b(A-*B)=(bA ∩ eB) ∪(bB ∩ iA)∪(bA∩bB)异
侧
一些非正那么形体的实例
一些非正那么形体的实例
(a)有悬面
(b)有悬边
(c)一条边有两个以上 的邻面(不连通)
计算机图形学习题参考答案(完整版)
计算机图形学习题参考答案第1章绪论1、第一届ACM SIGGRAPH会议是哪一年在哪里召开的?解:1974年,在Colorado大学召开了第一届SIGGRAPH年会。
2、计算机图形学之父是谁?解:Sutherland3、列举一些计算机图形学的应用领域(至少5个)。
解:计算机辅助设计、图示图形学、计算机艺术、娱乐、教学与培训、可视化、图像处理、图形用户界面等。
4、简要介绍计算机图形学的研究内容。
解:(1)图形的输入。
如何开发和利用图形输入设备及相关软件把图形输入到计算机中,以便进行各种处理。
(2)图形的处理。
包括对图形进行变换(如几何变换、投影变换)和运算(如图形的并、交、差运算)等处理。
(3)图形的生成和输出。
如何将图形的特定表示形式转换成图形输出系统便于接受的表示形式,并将图形在显示器或打印机等输出设备上输出。
5、简要说明计算机图形学与相关学科的关系。
解:与计算机图形学密切相关的学科主要有图像处理、计算几何、计算机视觉和模式识别等。
计算机图形学着重讨论怎样将数据模型变成数字图像。
图像处理着重研究图像的压缩存储和去除噪音等问题。
模式识别重点讨论如何从图像中提取数据和模型。
计算几何着重研究数据模型的建立、存储和管理。
随着技术的发展和应用的深入,这些学科的界限变得模糊起来,各学科相互渗透、融合。
一个较完善的应用系统通常综合利用了各个学科的技术。
6、简要介绍几种计算机图形学的相关开发技术。
解:(1)OpenGL。
OpenGL是一套三维图形处理库,也是该领域事实上的工业标准。
OpenGL独立于硬件、操作系统和窗口系统,能运行于不同操作系统的各种计算机,并能在网络环境下以客户/服务器模式工作,是专业图形处理、科学计算等高端应用领域的标准图形库。
以OpenGL为基础开发的应用程序可以十分方便地在各种平台间移植;OpenGL与C/C++紧密接合,便于实现图形的相关算法,并可保证算法的正确性和可靠性;OpenGL使用简便,效率高。
计算机图形学完整课件
由于我们使用的只是d的符号,而且d的增量都是整数,只是其初始值包含小数。因此,我们可以用2d代替d,来摆脱小数,写出仅包含整数运算的算法:
void MidpointLine(x1,y1,x2,y2,color) int x1,y1,x2,y2,color; { int a,b,d1,d2,dx,y; a=y1-y2; b=x2-x1; d=2*a+b; d1=2*a; d2=2*(a+b); x=x1; y=y1;
setpixel(x,y,color); while(x<x2) { If(d<0) {x++;y++d+=d2;} else {x++;d+=d1;} setpixel(x,y,color); }
2.1.3 Bresenham 画线算法
算法分析
算法推导
可视化效果图
2.1.4 图形环境的设置
1.2 计算机图形学的发展
1.2.1 计算机图形学的发展简史 50年代准备阶段 60年代发展阶段 70年代推广应用阶段 80年代系统实用化阶段 90年代标准化智能化阶段
1.2.2 计算机图形学的发展方向 造型技术的发展 真实图形生成技术的发展 人—机交互技术的发展 模拟艺术的仿真 计算机动画
另外,为了方便起见,我们只考虑中心在原点,半径为整数R的圆x2+y2=R2。对于中心不在原点的圆,可先通过平移变换,化为中心在原点的圆,再进行扫描转换,把所得的像素坐标加上一个位移量即得所求像素坐标。
1.3 计算机图形学的应用
1.用户接口 2.计算机辅助设计与制造(CAD/CAM) 3.地形地貌和自然资源图 4.计算机动画和艺术 5.件 计算机图形系统软件 计算机图形显示原理 光栅扫描式图形显示器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(a)
(b)
(c) 图3.2.6 生成扫描体时维数不 一致的情况
(d)
清华大学计算机科学与技术系
计算机图形学基础
(b)构造实体几何表示(CSG).通过对体素定义 运算而得到新的形体的一种表示方法。体素 可以是立方体、圆柱、圆锥等,也可以是半 空间,其运算为变换或正则集合运算并、交、 差。
CSG表示可以看成是一棵有序的二叉树。 • 其终端节点或是体素、或是形体变换参数。 • 非终端结点或是正则的集合运算,或是变换(平 移和/或旋转)操作,这种运算或变换只对其紧 接着的子结点(子形体)起作用。
清华大学计算机科学与技术系 计算机图形学基础
• Brep表示的缺点是:
–数据结构复杂,需要大量的存储空间,维护内部数据 结构的程序比较复杂; –Brep表示不一定对应一个有效形体,通常运用欧拉操 作来保证Brep表示形体的有效性、正则性等。
• Brep表示覆盖域大,原则上能表示所有的形体, 而且易于支持形体的特征表示等,Brep表示已成 为当前CAD/CAM系统的主要表示方法。
清华大学计算机科学与技术系 计算机图形学基础
• 对形体的局部操作不易实现,例如,不能对基 本体素的交线倒圆角; • 由于形体的边界几何元素(点、边、面)是隐含 地表示在CSG中,故显示与绘制CSG表示的形体需 要较长的时间。
(c)特征表示
–从应用层来定义形体,因而可以较好的表达 设计者的意图。从功能上可分为形状、精度、 材料和技术特征。
清华大学计算机科学与技术系
计算机图形学基础
• 3.边界表示(BR表示或BRep表示)
–按照体-面-环-边-点的层次,详细记录 了构成形体的所有几何元素的几何信息及其相 互连接的拓扑关系。 –边界表示的一个重要特点是在该表示法中, 描述形体的信息包括几何信息(Geometry)和 拓扑信息(Topology)两个方面。
清华大学计算机科学与技术系 计算机图形学基础
• 面的形状可以是平面或曲面。平面可用平面方程 来描述,曲面可用控制多边形或型值点来描述, 也可用曲面方程(隐式、显式或参数形式)来描 述。对于参数曲面,通常在其二维参数域上定义 环,这样就可由一些二维的有向边来表示环,集 合运算中对面的分割也可在二维参数域上进行。
• 点是三维空间的一个位置 • 边可以是直线边或曲线边,边的端点可以重合。 • 环是由首尾相接的一些边组成,而且最后一条边的终 点与第一条边的起点重合;环也可以是一个孤立点。 外壳是一些点、边、环、面的集合; • 外壳是一些点、边、环、面的集合。 • 区域由一组外壳组成。 • 模型由区域组成。
清华大学计算机科学与技术系
清华大学计算机科学与技术系 计算机图形学基础
A
B
A
B
A a B b b a
悬边
C=A∩B
集合论的求交计算
C * =A * B
正则集合下的求交运算
图3.2.2 二个二维图形的交产 生一个退化的结果
图3.2.3 集合和正则的交运算
清华大学计算机科学与技术系
计算机图形学基础
• 为了能够处理非正则形体,产生了非正 则造型技术。 • 九十年代以来,基于约束的参数化、变 量化造型和支持线框、曲面、实体统一 表示的非正则形体造型技术已成为几何 造型技术的主流。
清华大学计算机科学与技术系
计算机图形学基础
6 7 2 3 7 2 3 3 5 0 1 1
(b)
(a)
具有子孙的节点 空节点 实节点 (c) 图3.2.4 清华大学计算机科学与技术系 用八叉树表示形体 计算机图形学基础
• 2.构造表示。通常有扫描表示、构造实 体几何表示和特征表示三种。
(a)扫描表示。基于一个基体(一般是一个封 闭的平面轮廓)沿某一路径运动而产生形体。
清华大学计算机科学与技术系 计算机图形学基础
(b)八叉树法表示形体.首先对形体定义一个外接立方 体,再把它分解成八个子立方体,并对立方体依次 编号为0,1,2,„,7。如果子立方体单元已经一 致,即为满(该立方体充满形体)或为空(没有形 体在其中),则该子立方体可停止分解;否则,需 要对该立方体作进一步分解,再一分为八个子立方 体。在八叉树中,非叶结点的每个结点都有八个分 支。 优点主要是: (1)形体表示的数据结构简单。
清华大学计算机科学与技术系 计算机图形学基础
左外环
右外环 边
图3.2.11
左 下 边
翼边数据结构
清华大学计算机科学与技术系
右 边 下 右
上 边
边 上 左
计算机图形学基础
• 辐射边:为了表示非正则形体,1986年, Weiler提出了辐射边(Radial Edge)数据结 构。
– 辐射边结构的形体模型由几何信息和拓扑信息 两部分组成。
清华大学计算机科学与技术系 计算机图形学基础
应用系统
R
用户
特征造型器
特征模型
L W
H
H
H R
几何造型器
几何模型
(a)方块
图3.2.8 基于特征的造型系统
(b)圆柱 图3.2.9 特征形状表示
(c)圆锥
清华大学计算机科学与技术系
计算机图形学基础
• 构造表示的特点:
–构造表示通常具有不便于直接获取形体几何 元素的信息、覆盖域有限等缺点, –但是,便于用户输入形体,在CAD/CAM系统 中,通常作为辅助表示方法。
3.2形体在计算机内的表示 清华大学
• 3.2.1 引言 • 计算机中表示形体,通常用线框、表面 和实体三种模型。 • 对于任一形体,如果它是3维欧氏空间中 非空、有界的封闭子集,且其边界是二 维流形(即该形体是连通的),我们称 该形体为正则形体,否则称为非正则形 体。
清华大学计算机科学与技术系 计算机图形学基础
–5.体。体(Body)是面的并集。
清华大学计算机科学与技术系
计算机图形学基础
3.2.3.2 边界表示的数据结构
• 翼边数据结构:在1972年,由美国斯坦 福大学Baumgart作为多面体的表示模式 提出。
– 它用指针记录了每一边的两个邻面(即左外 环和右外环)、两个顶点、两侧各自相邻的 两个邻边(即左上边、左下边、右上边和右 下边),用这一数据结构表示多面体模型是 完备的,但它不能表示带有精确曲面边界的 实体。
• 拓扑信息描述形体上的顶点、边、面的连接关系, 拓扑信息形成物体边界表示的“骨架”。 • 形体的几何信息犹如附着在“骨架”上的肌肉。
清华大学计算机科学与技术系 计算机图形学基础
U
图3.2.10 边界表示
清华大学计算机科学与技术系
计算机图形学基础
• Brep表示的优点是:
–表示形体的点、边、面等几何元素是显式表 示的,使得绘制Brep表示的形体的速度较快, 而且比较容易确定几何元素间的连接关系; –容易支持对物体的各种局部操作,比如进行 倒角。 –便于在数据结构上附加各种非几何信息,如 精度、表面粗糙度础
3.2.3 形体的边界表示模型
• 3.2.3.1 边界表示的基本实体 • 边界模型表达形体的基本拓扑实体包括:
–1. 顶点 –2. 边。边有方向,它由起始顶点和终止顶 点来界定。边的形状(Curve)由边的几何 信息来表示,可以是直线或曲线,曲线边可 用一系列控制点或型值点来描述,也可用显 式、隐式或参数方程来描述。
(1)采用自顶向下的设计思想。在形体的表示上, 遵循了从大到小,分解表示的原则; (2)支持非流形形体的表示; (3)实体拓扑数据与几何数据双链表连接,存放 紧凑; (4)能够支持特征造型。
清华大学计算机科学与技术系
计算机图形学基础
3.2.3.3 欧拉操作
• 对于任意的简单多面体,其面(f)、边(e)、 顶点(v)的数目满足 欧拉公式 v-e+f=2 • 对于任意的正则形体,引入形体的其它 几个参数:形体所有面上的内孔总数(r)、 穿透形体的孔洞数(h)和形体非连通部分 总数(s),则形体满足公式: v - e + f = 2(s-h) + r
计算机图形学基础
model region
中心线 剖切平面
shell
中心线
face use loop use edge use vertex use topology 图3.2.12
face loop
实体
edge vertex geometry 辐射边数据结构
图3.2.13 一个用辐射边结构表示的 非正则形体模型
清华大学计算机科学与技术系 计算机图形学基础
–3. 环。环(Loop)是有序、有向边(Edge) 组成的封闭边界。环有方向、内外之分,外 环边通常按逆时针方向排序,内环边通常按 顺时针方向排序。 –4.面。面(Face)由一个外环和若干个内环 (可以没有内环)来表示,内环完全在外环 之内。
• 若一个面的外法矢向外,称为正向面;反之,称 为反向面。
清华大学计算机科学与技术系 计算机图形学基础
差(-)
x
差(-)
平移
1
2
2
x
x
=体素
清华大学计算机科学与技术系
图3.2.7 CSG表示
计算机图形学基础
• CSG树是无二义性的,但不是唯一的.
CSG表示的优点: • 数据结构比较简单,数据量比较小,内部数据 的管理比较容易; • CSG表示可方便地转换成边界(Brep)表示; • CSG方法表示的形体的形状,比较容易修改。 CSG表示的缺点: • 对形体的表示受体素的种类和对体素操作的种 类的限制,也就是说,CSG方法表示形体的覆盖 域有较大的局限性。
清华大学计算机科学与技术系
计算机图形学基础
• 清华大学国家CAD工程中心开发的几何造型系统GEMS5.0中,采 用的数据结构如图 体组
特征表示 线框 面组 单体(零件)