计算机图形学 图形的表示与数据结构
计算机图形学 形体的表示

Байду номын сангаас
• 边(Edge) 边是一维几何元素,是两个邻面(正则形体) 或多个邻面(非正则形体)的交界。
正则形体中,不允许存在孤立边。
23
✓ 一对四式四叉树
每个结点有五个字段,其中四个字段用来 描述该结点的四个子结点的状态,另一个结点 存放指向子结点记录存放处的指针。这里要求 四个子结点对应的记录是依次连续存放的。
24
一个记录和一个结点对应,记录中描述的是四个 子结点的状态,指针给出的是四个子结点所对应记录 的存放处,这里还隐含地假定了子结点记录存放的次 序。这样对某个不是最后一层的某子结点,即使它已 经是叶结点,因而是不必要的,却也必须占据位置使 不会错误地存取其它同辈结点的记录。这使得存贮空 间仍然可能有浪费。
17
18
常用的三种表示四叉树的存储结构: ✓ 规则方式——规则四叉树 ✓ 线性方式——线性四叉树 ✓ 一对四方式——一对四式四叉树
19
✓ 规则四叉树
用五个字段的记录表示树中的每个结点, 其中一个用来描述结点的特性,即是灰、黑、 白三类结点中的哪一种;其余四个用于存放指向 四个子结点的指针。这是最普遍使用的表示树 形数据的存储结构方式,在早期将四叉树用于 图形显示或处理时常被采用。 缺点:大量的存储空间被指针所占用。
要计算交点个数,只要明确求出有多少次良性相 交。对可能性相交,分别计算与其两子树的良性相交 次数,然后以其和为交点个数。这时可递归进行,可 能一直进行到树叶一层才结束。
14
实践表明用带树方法表示曲线对提高计算 效率是有帮助的。另外两个带树对并、交等运 算是封闭的,与用象素阵列来表示图形的方法 比较节省空间需求。因此这种方法在许多领域 得到了广泛的应用。
计算机图形学知识要点

单元分解法优缺点
优点
表示简单 容易实现几何变换 基本体素可以按需选择,表示范围较广 可以精确表示物体 物体的表示不唯一 物体的有效性难以保证 空间位置枚举表示----同样大小立方体粘合在一起表示 物体 八叉树表示----不同大小的立方体粘合在一起表示物体 单元分解表示----多种体素粘合在一起表示物体
阴极射线管(CRT):光栅扫描图形显示器; 平板显示器:液晶显示器、等离子体显示板等; 光点、像素、帧缓存(frame buffer)、位平面;三种 分辨率(屏幕、显示、存储); 黑白、灰度、彩色图形的实现方法(直接存储颜色数据、 颜色查找表); 光栅图形显示子系统的结构
基本概念
第四章 图形的表示与数据结构
2、规则三维形体的表示
形体表示的分类 线框模型
缺点 多边形表,拓扑信息: 显示和隐式表示
表面模型
显示表示:在数据结构中显式的存储拓扑结构。例如,翼边结构 表示(Winged Edges Structure) 隐式表示:即根据数据 之间的关系在运行时实
时的解算。 平面方程 多边形网格 分解表示、构造表示、边界表示
Bresenham算法绘制圆弧
基本原理 从(0,R)点,顺时针开始; 上一个确定像素点为p(x, y),则下一个像素点只 能是p1和p2中的一个;
P(x, y) P1(x+1, y)
p2 (x+1, y-1)
误差判据:像素点到圆心的距离平方与半径平方之 差; 一般关系式取值对应的几何意义,即和下一个像素 的对应关系;
3、椭圆的光栅化方法
图形的表示与数据结构

正则的集合运算或变换(平移或旋转)操作 • 二叉树根结点:构造的实体
第三十八页,共五十五页,2022年,8月28日
第三十九页,共五十五页,2022年,8月28日
构造实体几何法的优点:
§ 可以构造出多种不同的符合需要的实体。
问题: § 求交困难 § CSG树不能显式地表示形体的边界 解决:光线投射(Ray-casting)算法
图形的表示与数据 结构
第一页,共五十五页,2022年,8月28日
造型技术:
把研究如何在计算机中建立恰当的模型表示不同图形对 象的技术称为造型技术。
有两类图形对象:
规则对象:几何造型、几何模型
不规则对象
第二页,共五十五页,2022年,8月28日
4.1 基本概念
4.1.1 基本图形元素
基本图形元素:图素或图元、体素
1. 多边形表
• 几何表 • 属性表
例如:顶点表、边表和多边形表。 为图4-17所示的四面体建立的三张表如下:
第三十页,共五十五页,2022年,8月28日
顶点表
A
x1,y1,z1
B
x2,y2,z2
C
x3,y3,z3
D
x4,y4,z4
边表
AB
A,B
BC B,C
CA C,A
AD A,D
BC B,C
CD C,D
基面
(a)
基面
(b)
基面 基面
回转轴
(c)
(d)
第三十六页,共五十五页,2022年,8月28日
4.2.3 构造实体几何法
构造实体几何法(CSG,Constructive Solid Geometry) 由两个实体间的并、交或差操作生成新的实体。
计算机图形学CG10图形数据结构

边(Edge)
边(Edge)是两个邻面(对正则形体而言)、或多个 邻面(对非正则形体而言)的交集,边有方向,它由 起始顶点和终止顶点来界定。边的形状(Curve) 由边的几何信息来表示,可以是直线或曲线,曲线 边可用一系列控制点或型值点来描述,也可用显式 、隐式或参数方程来描述。
环(Loop)
环(Loop)是有序、有向边(Edge)组成的封闭边 界。环中的边不能相交,相邻两条边共享一个端点 。环有方向、内外之分,外环边通常按逆时针方向 排序,内环边通常按顺时针方向排序。
面(Face)
面(Face)由一个外环和若干个内环(可以没有内环)来 表示,内环完全在外环之内。根据环的定义,在面上沿环 的方向前进,左侧总在面内,右侧总在面外。面有方向性 ,一般用其外法矢方向作为该面的正向。若一个面的外法 矢向外,称为正向面;反之,称为反向面。面的形状( Surface)由面的几何信息来表示,可以是平面或曲面,平 面可用平面方程来描述,曲面可用控制多边形或型值点来 描述,也可用曲面方程(隐式、显式或参数形式)来描述 。对于参数曲面,通常在其二维参数域上定义环,这样就 可由一些二维的有向边来表示环,集合运算中对面的分割 也可在二维参数域上进行。
体(Body)
体(Body)是面的并集。在正则几何造型系统中, 要求体是正则的,非正则形体的造型技术将线框、 表面和实体模型统一起来,可以存取维数不一致的 几何元素,并可对维数不一致的几何元素进行求交 分类,从而扩大了几何造型的形体覆盖域。
三常维见形的表体示的三维数形据体的结数据构结构:
单链三表结构 双链翼边结构 双链三表结构
正则集合运算保证集合运算的结果仍是一个正则形体,即丢 弃悬边、悬面等
计算机图形学 图形的表示与数据结构

计算机图形学图形的表示与数据结构在当今数字化的时代,计算机图形学扮演着至关重要的角色。
从我们日常使用的手机应用中的精美界面,到好莱坞大片中令人惊叹的特效场景,计算机图形学的应用无处不在。
而要实现这些精彩的图形效果,首先需要解决的就是图形的表示与数据结构问题。
什么是图形的表示呢?简单来说,就是如何用计算机能够理解和处理的方式来描述图形。
这就好比我们想要给别人介绍一个物体,需要用恰当的语言和方式来描述它的形状、颜色、大小等特征。
对于计算机来说,它需要一种精确、高效的方式来存储和处理图形信息。
常见的图形表示方法有两种:矢量图形和光栅图形。
矢量图形就像是用数学公式来描述图形。
比如说,一个圆形可以用圆心的坐标和半径来表示,一条直线可以用起点和终点的坐标来确定。
这种表示方法的优点是无论图形放大或缩小多少倍,都不会出现失真的情况,因为图形的形状是通过数学公式计算出来的。
常见的矢量图形格式有 SVG(可缩放矢量图形)、EPS(封装的 PostScript)等。
矢量图形常用于需要高质量输出的场合,比如标志设计、插图绘制等。
而光栅图形则是将图形分割成一个个的像素点,每个像素点都有自己的颜色和亮度值。
我们常见的图片格式如 JPEG、PNG 等都属于光栅图形。
光栅图形的优点是能够表示非常复杂的图像,比如照片。
但缺点是在放大时会出现锯齿状的边缘,也就是我们常说的“像素化”。
在计算机图形学中,选择合适的图形表示方法取决于具体的应用场景。
如果需要对图形进行频繁的缩放、旋转等操作,并且对图形的质量要求较高,那么矢量图形可能是更好的选择。
但如果要处理真实世界的图像,比如照片,那么光栅图形则更为合适。
接下来,让我们来谈谈图形的数据结构。
数据结构就像是图形在计算机中的“家”,它决定了图形信息如何被组织和存储,从而影响着图形处理的效率和效果。
在计算机图形学中,常见的数据结构有链表、数组、树等。
链表是一种灵活的数据结构,可以方便地添加或删除元素。
计算机图形学基础知识点总结

计算机图形学基础知识点总结计算机图形学是一门研究如何利用计算机生成、处理和显示图形的学科。
它在许多领域都有着广泛的应用,如游戏开发、动画制作、虚拟现实、计算机辅助设计等。
下面将为大家总结一些计算机图形学的基础知识点。
一、图形的表示与存储1、位图(Bitmap)位图是由像素组成的图像,每个像素都有自己的颜色值。
优点是能够表现丰富的色彩和细节,但放大时会出现锯齿和失真。
常见的位图格式有 BMP、JPEG、PNG 等。
2、矢量图(Vector Graphics)矢量图使用数学公式来描述图形,由点、线、面等几何元素组成。
优点是无论放大或缩小都不会失真,文件大小相对较小。
常见的矢量图格式有 SVG、EPS 等。
二、坐标系统1、二维坐标系统常见的二维坐标系统有直角坐标系和极坐标系。
在直角坐标系中,通过横纵坐标(x, y)来确定点的位置。
在极坐标系中,通过极径和极角(r, θ)来确定点的位置。
2、三维坐标系统三维坐标系统通常使用笛卡尔坐标系,由 x、y、z 三个轴组成。
点的位置用(x, y, z)表示,用于描述三维空间中的物体。
三、图形变换1、平移(Translation)将图形沿着指定的方向移动一定的距离。
在二维中,通过改变坐标值实现平移;在三维中,需要同时改变三个坐标值。
2、旋转(Rotation)围绕某个中心点或轴旋转图形。
二维旋转可以通过三角函数计算新的坐标值;三维旋转较为复杂,需要使用矩阵运算。
3、缩放(Scaling)放大或缩小图形。
可以对图形在各个方向上进行均匀或非均匀的缩放。
四、颜色模型1、 RGB 颜色模型基于红(Red)、绿(Green)、蓝(Blue)三原色的混合来表示颜色。
每个颜色通道的取值范围通常是 0 到 255。
2、 CMYK 颜色模型用于印刷,由青(Cyan)、品红(Magenta)、黄(Yellow)和黑(Black)四种颜色组成。
3、 HSV 颜色模型由色调(Hue)、饱和度(Saturation)和明度(Value)来描述颜色。
计算机图形学图形的表示与数据结构课件

一种后进先出(LIFO)的数据结构,用于实 现特定操作顺序。
链表
一种线性数据结构,通过指针将元素链接在 一起。
队列
一种先进先出(FIFO)的数据结构,用于实 现特定操作顺序。
图形数据结构分类
顶点数据结构
用于存储图形的顶点信息,如坐标、 颜色等。
边数据结构
用于存储图形之间的连接关系,如线 段、弧等。
虚拟现实中的图形学应用
场景建模
虚拟现实中的场景需要高度逼真,计算机图形学技术用于创建三 维模型,并进行纹理映射、光照计算等处理。
交互体验
虚拟现实中的物体需要能够与用户进行交互,计算机图形学可以 模拟物体的物理属性,如重量、质地等。
实时渲染
虚拟现实需要实现高帧率的实时渲染,计算机图形学技术能够快 速处理图像,提供流畅的虚拟现实体验。
光线追踪渲染技术能够生成高质量的图像,但计算量较大,实时性较差 。
扫描线渲染技术
扫描线渲染技术是一种基于光栅化的 渲染技术,它将三维场景中的物体进 行几何变换和光照计算,然后将其转 换成二维图像。
扫描线渲染技术计算量较小,实时性 较好,但生成的图像质量相对较低。
扫描线渲染的基本原理是从上到下、 从左到右扫描场景中的每个像素,并 根据像素所在区域内的物体和光照信 息计算出该像素的颜色值。
沉浸式体验。
01
图形数据结构
数据结构概述
01
数据结构是计算机中数据的组织方式,它涉及到数 据的逻辑关系和物理表示。
02
数据结构是计算机科学和软件工程领域的重要概念 ,它影响着程序的性能和可维护性。
03
数据结构主要分为两大类:线性数据结构和非线性 数据结构。
常见数据结构
数组
数据结构在计算机图形学中的应用

数据结构在计算机图形学中的应用计算机图形学是一个研究如何使用计算机来生成、处理和显示图像的学科领域。
在计算机图形学中,数据结构起着至关重要的作用。
数据结构是计算机存储、组织和操作数据的方式,它为计算机图形学提供了有效的算法和工具。
本文将探讨数据结构在计算机图形学中的应用,并详细介绍数据结构在图像表示、图形渲染和动画制作等方面的作用。
1. 图像表示在计算机图形学中,图像表示是一个核心问题。
图像数据通常是以像素的形式存储在计算机中,而数据结构则可以帮助我们高效地组织和管理这些像素数据。
常用的数据结构包括二维数组、链表和树等。
二维数组可以将像素数据按照行列的方式存储,便于对图像进行遍历和修改。
链表可以帮助我们动态地管理图像数据,而树结构则可以用于构建图像的层次化表示。
通过合理选择和设计数据结构,我们可以提高图像数据的存取效率,从而实现更加高效的图像表示。
2. 图形渲染图形渲染是计算机图形学的一个重要子领域,它涉及到如何将虚拟场景或图像模型转化为可视化的图形。
在图形渲染过程中,数据结构主要用于表示和管理图像模型、光线追踪、可视化算法等方面。
在三维图形学中,我们通常使用基于多边形网格的数据结构来表示三维模型。
我们还可以利用树结构来管理和加速光线追踪算法,以实现更加真实的图像渲染效果。
不同的数据结构可以应用于不同的图形渲染技术,帮助我们实现高效、真实的图形渲染效果。
3. 动画制作在计算机图形学中,数据结构也发挥着重要作用。
在动画制作过程中,动画数据通常是以关键帧和插值的方式存储和计算的。
数据结构可以帮助我们高效地表示和管理动画数据,以实现平滑的动画效果。
我们可以使用树结构来构建骨骼动画模型,使用双向链表来表示关键帧数据,以及使用插值算法来实现动画的平滑过渡。
通过合理选择和设计数据结构,我们可以实现更加高效、真实的动画制作效果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
立的、不相连接的多面体数,则扩展后的欧拉公式为:
V-E+F-H=2(C-G)。
25
基本概念——平面多面体与欧拉公式
8-12+6=2
5-8+5=2
6-12+8=2
24-36+15-3=2×(1-1)
图4.9 平面多面体与欧拉公式
26
4.2 三维形体的表示
线框模型与实体模型(线框模型由定义一个物体 边界的直线和曲线组成)
A
B
A
B
(a)A与B
C
C*
(b)
(c)集合运算 C=A∩B
(d) 正则集合运算 C*=A∩*B
图4.6 集合运算与正则集合运算
22
基本概念——正则集合运算
PA
PB
P
PA
PB
RA RB RA RB R
图4.7 基于点的领域概念生成正则形体
23
b· out A B A B A B A b· in BB A b· in A B b· out B A b· shared b· A B b· shared b· A B A
可以将实体模型的表示大致分为三类:
边界表示(用一组曲面(或平面)来描述物体, 这些曲面将物体分为内部和外部) 构造实体几何表示 空间分割(将包含物体的空间划分成一组非常 小的非重叠的连续实体)表示
27
三维形体的表示
多边形表面模型(使用一组包围物体内部的平面
多边形来描述实体)
扫描表示
10
基本概念——实体
图4.2 带有悬挂边的立方体
11
客观存在的三维形体的5条性质: 刚性:一个物体必须具有一定的形状 维数的一致性:三维空间种,一个物体的各部分均应 是三维的,不能有悬挂的或孤立边界 占据有限的空间(体积有限) 边界的确定性(根据物体的边界可以确定物体内部与 外部) 封闭性(经过一系列刚体运动及任意序列的集合运算 后,依然是有效的物体) 三维空间中的物体是一个内部连通的三维点集。
基本概念-实体(点集拓扑学的角度)
点的领域:如果P是点集S的一个元素,那么点P的以R(
R>0)为半径的领域指的是围绕点P的半径为R的小球(
二维情况下为小圆)。
开集的闭包:是指该开集与其所有边界点的集合并集,本
身是一个闭集。(三维物体的点的集合可以分为内部点和 边界点来那个部分) 正则集:由内部点构成的点集的闭包就是正则集,三维空 间的正则集就是正则形体。也就是三维有效物体
面-边包含性 f:{e}
e
图4.1 拓扑信息
基本概念——几何信息与拓扑信息
刚体运动:不改变图形上任意两点间的距离, 也不改变图形的几何性质的运动。 拓扑运动:允许形体作弹性运动,即在拓扑关 系中,对图形可随意地伸张扭曲。但图上各个 点仍为不同的点,决不允许把不同的点合并成
一个点。
9
基本概念——坐标系
的体素,然后,以体素的集合来表示图形对
象。
二维情况,常用二维数组存放。
三维情况下,常用三维数组p[i][j][k]来存
放。
40
八叉树
八叉树(octrees)又称为分层树结构,它对 空间进行自适应划分,采用具有层次结构的八 叉树来表示实体。
41
八叉树——四叉树
2)每条边至少是一个多边形的部分
3)每个多边形式封闭的 4)每个多边形至少有一条公共边 5)如果多边形表包含指向多边形边的指针,则每一个 被指针指向的边有一个逆指针指回到多边形
32
多边形表面模型
多边形网格:三维形体的边界通常用多边形网 格(polygon mesh)的拼接来模拟。(三角 形和四边形)
第四章 图形的表示与数据结构
如何在计算机中建立恰当的模型表示不同图形 对象。 如何组织图形对象的描述数据以使存储这些数 据所要的空间最省,检索、处理这些数据的速 度较快。
1
图形的表示与数据结构
基本概念 三维形体的表示 非规则对象的表示 层次建模
2
4.1 基本概念
造型技术
36
Y
Y
1 -1 0 -1
P1 1 2 3 4 X
1 0
P2 4 X
(a)
(b)
C U U U P1 T(平移) U P2 T P1 T △x=2 △y=2
Y
1 -1 0 -1
P1 1 2 3 4 X
T(平移) P1
P1 △x=4
P2
△y=2 -2
△x=2
(c) CSБайду номын сангаас树
(d) 由CSG树产生的形体
图4.14
由CSG树产生二维形体的实例
37
构造实体几何法
优点:如果体素设臵比较齐全,通过集合运算 就可以构造出多种不同的符合需要的实体。 缺点一:集合运算的中间结果难以用简单的代 数方程表示,求交困难。 缺点二:CSG树不能显式地表示形体的边界, 因而无法直接显示CSG树表示的形体。
38
基本图形元素
几何信息与拓扑信息
坐标系
实体的定义 正则集合运算 欧拉公式
3
基本概念——造型技术
把研究如何在计算机中建立恰当的模型表示不 同图形对象的技术称为造型技术。 有两类图形对象: 规则对象:几何造型、几何模型(几何信 息和拓扑信息)。 不规则对象:过程式模拟。
4
14
基本概念-实体
组成三维物体的点的集合可以分为两类: 内部点为点集中的这样一些点,它们具有完 全包含于该点集的充分小的领域。 边界点:不具备此性质的点集中的点。
15
基本概念——实体
定义点集的正则运算r运算为:
r A c i A
正则运算即为先对物体取内点再取闭包的运算。 r· A称为A的正则集。
C 边 顶点 B
AB
BC
CA
AD
BD
CD
A
B
C
D
图4.10 四面体及其点、边、面的关系
29
多边形表面模型——数据结构
几何信息(几何表)
建立3张表:顶点表、边表和多边形表来存
储几何数据。
实体模型中,用多边形顶点坐标值以及多边
形所在平面方程方式保存实体单个表面部分
的空间方向信息
30
多边形表面模型——数据结构
拓 扑 信 息 : 翼 边 结 构 表 示 ( Winged Edges
Structure)
E1
V1
E2
F1
F2
E
E3
V2
E4
图4.11 翼边结构表示
31
多边形表面模型——数据结构
属性信息
用属性表来存储多边形面的属性,指明物体透明 度及表面反射度的参数和纹理特征等等。
实体测试条件:1)每个顶点至少是两条边的端点
(a)二维流形
(b)二维流形
图4.5 正则形体
(c)非二维流形
19
基本概念——实体
实体:对于一个占据有限空间的正则形体,如
果其表面是二维流形,则该正则形体为实体。
20
基本概念——正则集合运算
有效实体的封闭性。
把能够产生正则形体的集合运算称为正则集合运 算。
21
基本概念——正则集合运算
例子
图4.12 三角形带与四边形网格
33
扫描表示(sweep representation)
扫描表示法(sweep representation)可以利用 简单的运动规则生成有效实体。 包含两个要素 一是作扫描运动的基本图形(截面); 二是扫描运动的方式(平移、旋转、对称变 换)。
34
构造实体几何法
构造实体几何法(CSG,Constructive Solid
Geometry)由两个实体间的并、交或差操作
生成新的实体。
A B (a)A,B形体的并
A B (b)A,B形体的差
A B (c)A,B形体的交
图4.13 构造实体几何法
35
构造实体几何法
在构造实体几何法中,集合运算的实现过程可 以用一棵二叉树(称为CSG树)来描述。 树的叶子是基本体素或是几何变换参数; 树的非终端结点是施加于其子结点的正则集 合算子(正则并、正则交和正则差)或几何 变换的定义。
基本概念——基本图形元素
基本图形元素:图素或图元、体素。 图素是指可以用一定的几何参数和属性参数描 述的最基本的图形输出元素(包括点、线、面 、环、体等)。 在二维图形系统中将基本图形元素称为图素或 图元,在三维图形系统中称为体素。
5
1、点:为0维几何元素,是形体最基本的元素,自由曲 线、曲面或其他形体均可用有序的点集来表示。点集及 其连接关系的存储。 2、线:一维几何元素,是两个邻面或多个邻面的交界 3、面:二维几何元素,是形体上一个有限、非零的区 域,由一个外环和若干内环界定其范围。具有方向性, 由其外法线矢量方向定义。 4、环:有序、有向边组成的面的封闭边界。(外环中 其边逆时针排序,内环顺时针排序) 5、体:三维几何元素,由封闭表面围成的空间。
基本概念——平面多面体与欧拉公式
欧拉公式证明简单多面体的顶点数V、边数E和面数F满
足如下关系:V-E+F=2。(简单多面体指那些经过连续的
几何形变可以变换成一个球的多面体,即与球拓扑等价 的那些多面体) 非简单多面体需对欧拉公式加以扩展。令H表示多面体表 面上孔的个数,G表示贯穿多面体的孔的个数,C表示独
三维物体表面必须具有以下5条性质:
连通性:位于物体表面上的任意两个点都可用实体表 面上的一条路径连接起来。
有界性:物体表面可将空间分为互不连通的两部分, 其中一部分是有界的 非自相交性:物体的表面不能自相交 可定向性:物体表面的两侧可明确定义出属于物体的 内侧或外侧 闭合性:物体表面的闭合性是由表面上多边形网格各 元素的拓扑关系决定的,即每一条边有且只有两个顶 点;每一条边连接来年各个或两个以上的面。