计算机图形学概念
- 格式:doc
- 大小:145.11 KB
- 文档页数:10
计算机图形学Ⅰ专业:计算机科学与技术计算机科学与技术20922012年12月第1章绪论1、计算机图形学的概念?(或什么是计算机图形学?)计算机图形学是研究怎样利用计算机表示、生成、处理和显示图形的(原理、算法、方法和技术)一门学科。
2、图形与图像的区别?图像是指计算机内以位图(Bitmap)形式存在的灰度信息;图形含有几何属性,更强调物体(或场景)的几何表示,是由物体(或场景)的几何模型(几何参数)和物理属性(属性参数)共同组成的。
3、计算机图形学的研究内容?计算机图形学的研究内容非常广泛,有图形硬件、图形标准、图形交互技术、光栅图形生成算法、曲线曲面造型、实体造型、真实感图形计算与显示算法,以及科学计算可视化、计算机动画、自然景物仿真和虚拟现实等。
4、计算机图形学的最高奖是以 Coons 的名字命名的,而分别获得第一届(1983年)和第二届(1985年)Steven A. Coons 奖的,恰好是 Ivan E. Sutherland 和 Pierre Bézier 。
5、1971年,Gourand提出“漫反射模型+插值”的思想,被称为 Gourand 明暗处理。
6、1975年,Phong提出了著名的简单光照模型—— Phong模型。
7、1980年,Whitted提出了一个光透明模型—— Whitted模型,并第一次给出光线跟踪算法的范例,实现了Whitted模型。
8、以 SIGGRAPH 会议的情况介绍,来结束计算机图形学的历史回顾。
9、什么是三维形体重建?三维形体重建就是从二维信息中提取三维信息,通过对这些信息进行分类、综合等一系列处理,在三维空间中重新构造出二维信息所对应的三维形体,恢复形体的点、线、面及其拓扑关系,从而实现形体的重建。
10、在漫游当中还要根据CT图像区分出不同的体内组织,这项技术叫分割。
11、一个图形系统通常由图形处理器、图形输入设备和输出设备构成。
12、CRT显示器的简易结构图12、LCD液晶显示器的基本技术指标有:可视角度、点距和分辨率。
计算机图形学基础知识重点整理一、图形学的概念计算机图形学简单来说,就是让计算机去生成、处理和显示图形的学科。
它就像是一个魔法世界,把一堆枯燥的数字和代码变成我们眼睛能看到的超酷图形。
你看那些超炫的3D游戏里的场景、超逼真的动画电影,那可都是计算机图形学的功劳。
这个学科就是想办法让计算机理解图形,然后把图形按照我们想要的样子呈现出来。
二、图形的表示1. 点点是图形里最基本的元素啦。
就像盖房子的小砖头一样,很多个点组合起来就能变成各种图形。
一个点在计算机里就是用坐标来表示的,就像我们在地图上找一个地方,用经度和纬度一样,计算机里的点就是用x和y坐标(如果是3D图形的话,还有z坐标呢)来确定它在空间里的位置。
2. 线有了点,就能连成线啦。
线有各种各样的类型,直线是最简单的,它的方程可以用我们学过的数学知识来表示。
比如说斜截式y = kx + b,这里的k就是斜率,b就是截距。
还有曲线呢,像抛物线、双曲线之类的,在图形学里也经常用到。
这些曲线的表示方法可能会复杂一点,但也很有趣哦。
3. 面好多线围起来就形成了面啦。
面在3D图形里特别重要,因为很多3D物体都是由好多面组成的。
比如说一个正方体,就有六个面。
面的表示方法也有不少,像多边形表示法,就是用好多条边来围成一个面。
三、图形变换1. 平移平移就是把图形在空间里挪个位置。
这就像我们把桌子从房间的这头搬到那头一样。
在计算机里,平移一个图形就是把它每个点的坐标都加上或者减去一个固定的值。
比如说把一个点(x,y)向右平移3个单位,向上平移2个单位,那这个点就变成(x + 3,y + 2)啦。
2. 旋转旋转就更有意思啦。
想象一下把一个图形像陀螺一样转起来。
在计算机里旋转图形,需要根据旋转的角度和旋转中心来计算每个点新的坐标。
这就得用到一些三角函数的知识啦,不过也不难理解。
比如说以原点为中心,把一个点(x,y)逆时针旋转θ度,新的坐标就可以通过一些公式计算出来。
3. 缩放缩放就是把图形变大或者变小。
计算机图形学教案【引言】计算机图形学是研究计算机如何生成、处理和显示图像的一门学科。
随着计算机技术的迅猛发展,图形学在多个领域都有着广泛的应用,比如游戏开发、动画制作、虚拟现实等。
本教案旨在介绍计算机图形学的基础知识和应用,帮助学生全面了解图形学的概念、原理和技术。
【一、基础知识】1. 图形学概念图形学是指通过计算机生成、处理和显示图像的学科领域。
它不仅包括了对形状、颜色和纹理的描述方法,还包括了图像的渲染、动画和交互等技术。
2. 图像表示方法介绍了图像的表示方法,包括位图(bitmap)和矢量图(vector)。
位图是将图像划分成像素点,每个像素点可以用颜色值表示;矢量图是通过描述图形的几何属性和参数来表示图像。
3. 基本几何图形讲解了常见的基本几何图形,比如点、线段、多边形等,并介绍了它们在计算机图形学中的表示方法和应用。
【二、图形生成】1. 二维图形生成介绍了二维图形的生成算法,包括直线生成算法、圆生成算法和多边形生成算法等。
通过这些算法,可以实现在计算机屏幕上绘制各种几何图形。
2. 三维图形生成讲解了三维图形的生成方法,包括线框模型生成、曲面生成和立体图形生成等。
通过这些方法,可以构建出逼真的三维图像,并进行灯光渲染和纹理映射。
【三、图形处理】1. 图像变换介绍了图像的平移、旋转、缩放和翻转等基本变换操作。
通过这些变换,可以改变图像在屏幕上的位置、大小和方向。
2. 图像剪裁讲解了图像剪裁算法,包括直线裁剪、多边形裁剪和曲线裁剪等。
通过这些算法,可以实现对图像进行裁剪,去除不需要显示的部分。
3. 图像填充介绍了图像填充算法,包括扫描线填充和种子填充等。
通过这些算法,可以实现对闭合图形的填充,使其显示出实心的效果。
【四、图形显示】1. 数字化显示讲解了如何将图像数字化,通过将图像分成像素点,并使用颜色值来表示每个像素点的方法,实现在计算机屏幕上显示图像。
2. 图像渲染介绍了图像渲染算法,包括光栅化渲染和线框渲染等。
计算机图形学1. 简介计算机图形学是研究如何使用计算机来生成、处理和显示图像的一门学科。
它主要涉及图像的几何和物理特性的建模,以及图像的渲染和表示。
计算机图形学在各个领域中都有广泛的应用,包括游戏开发、电影制作、虚拟现实、医学成像等。
2. 图形学的基本概念图形学的基本概念包括点、线、多边形和曲线等基本元素,以及相应的数学方法和算法。
这些方法和算法用于描述和处理图像的几何特性,包括位置、方向、大小和形状等。
2.1 点和线在计算机图形学中,点是图像中最基本的元素,可以通过坐标系来表示。
线是由两个点之间的连接所形成的,可以通过直线方程或参数方程来描述。
2.2 多边形和曲线多边形是由多个线段连接而成的封闭图形,可以通过顶点的集合来描述。
曲线是由多个点按照一定规律连接而成的,可以通过控制点和插值方法来表示。
3. 图形的几何建模图形的几何建模是计算机图形学中的一个重要研究方向,它涉及如何使用数学模型来表示和描述物体的几何特性。
常用的几何建模方法包括点、线、面、体和曲面等。
3.1 点云和网格模型点云模型是一组离散的点的集合,它可以用于表示不规则形状的物体。
网格模型是一组由三角形或四边形面片组成的表面模型,它可以用于表示规则形状的物体。
3.2 曲面建模曲面建模是基于数学曲面的建模方法,它将物体表面抽象为由曲线和曲面组成的,可以通过控制点和插值方法来表示。
常用的曲面建模方法包括贝塞尔曲线和贝塞尔曲面等。
4. 图形的渲染和表示图形的渲染和表示是计算机图形学中的另一个重要研究方向,它涉及如何将图像的几何信息转化为可视的图像。
常用的渲染和表示方法包括光栅化、光线追踪和纹理映射等。
4.1 光栅化光栅化是将几何对象转化为像素的过程,它涉及将线段或多边形映射到屏幕上的像素点,并进行相应的着色和填充。
常用的光栅化算法包括Bresenham算法和扫描线算法等。
4.2 光线追踪光线追踪是一种以物理光线为基础的渲染方法,它从观察者的视角出发,沿着光线的路径跟踪物体的相交和反射,最终得到图像。
计算机图形学基础知识重点整理一、图形学基础知识1、图形学的定义:图形学是一门研究图形的计算机科学,它研究如何使用计算机来生成、处理和显示图形。
2、图形学的应用:图形学的应用非常广泛,它可以用于计算机游戏、虚拟现实、图形用户界面、图形设计、图形处理、图形建模、图形分析等。
3、图形学的基本概念:图形学的基本概念包括图形、坐标系、变换、光照、纹理、投影、深度缓冲、抗锯齿等。
4、图形学的基本算法:图形学的基本算法包括几何变换、光照计算、纹理映射、投影变换、深度缓冲、抗锯齿等。
5、图形学的基本技术:图形学的基本技术包括OpenGL、DirectX、OpenCL、CUDA、OpenGL ES等。
二、图形学的基本原理1、坐标系:坐标系是图形学中最基本的概念,它是一种用来表示空间位置的系统,它由一系列的坐标轴组成,每个坐标轴都有一个坐标值,这些坐标值可以用来表示一个点在空间中的位置。
2、变换:变换是图形学中最重要的概念,它指的是将一个图形从一个坐标系变换到另一个坐标系的过程。
变换可以分为几何变换和光照变换,几何变换包括平移、旋转、缩放等,光照变换包括颜色变换、照明变换等。
3、光照:光照是图形学中最重要的概念,它指的是将光照投射到物体表面,从而产生颜色和纹理的过程。
光照可以分为环境光照、漫反射光照和镜面反射光照。
4、纹理:纹理是图形学中最重要的概念,它指的是将一张图片映射到物体表面,从而产生纹理的过程。
纹理可以分为纹理映射、纹理坐标变换、纹理过滤等。
5、投影:投影是图形学中最重要的概念,它指的是将一个三维图形投射到二维屏幕上的过程。
投影可以分为正交投影和透视投影,正交投影是将三维图形投射到二维屏幕上的过程,而透视投影是将三维图形投射到二维屏幕上,从而产生透视效果的过程。
计算机图形学的基本概念与算法计算机图形学是研究如何利用计算机生成、处理和显示图像的学科。
它在许多领域中都有广泛应用,例如电影制作、游戏开发、医学成像等。
本文将介绍计算机图形学的基本概念和算法,并分步详细列出相关内容。
一、基本概念1. 图像表示:计算机图形学中,图像通常使用像素(Pixel)来表示。
每个像素包含了图像上一个特定位置的颜色或灰度值。
2. 坐标系统:计算机图形学使用不同的坐标系统来表示图像的位置。
常见的坐标系统有笛卡尔坐标系、屏幕坐标系等。
3. 颜色模型:计算机图形学中常用的颜色模型有RGB模型(红、绿、蓝)和CMYK模型(青、品红、黄、黑)等。
RGB模型将颜色表示为三个分量的组合,而CMYK模型用于打印颜色。
4. 变换:变换是计算机图形学中常用的操作,包括平移、旋转、缩放和剪切等。
通过变换,可以改变图像的位置、大小和方向。
5. 插值:在计算机图形学中,插值是指通过已知的数据点来推测未知位置的值。
常见的插值方法有双线性插值和双三次插值等。
二、基本算法1. 线段生成算法:线段生成是图形学中最基本的操作之一。
常见的线段生成算法有DDA算法(Digital Differential Analyzer)和Bresenham算法。
DDA算法通过计算线段的斜率来生成线段上的像素,而Bresenham算法通过绘制画板上的一个像素来逐渐描绘出整条直线。
2. 多边形填充算法:多边形填充是将一个多边形内的区域用颜色填充的过程。
常见的多边形填充算法有扫描线算法和边界填充算法。
扫描线算法通过扫描多边形的每一条水平线,不断更新当前扫描线下方的活动边并进行填充。
边界填充算法从某点开始,向四个方向延伸,逐渐填充整个多边形。
3. 圆弧生成算法:生成圆弧是计算机图形学中常见的操作之一,常用于绘制圆形和曲线。
常见的圆弧生成算法有中点圆生成算法和Bresenham圆弧生成算法。
中点圆生成算法通过计算圆弧中的每个点与圆心的关系来生成圆弧上的像素,而Bresenham圆弧生成算法通过在八个特定的扫描区域内绘制圆弧上的像素。
计算机图形学与游戏开发计算机图形学与游戏开发是目前计算机领域非常热门且发展迅速的领域。
随着科技的不断进步和人们对娱乐需求的提升,图形学和游戏开发在各个领域都起到了重要的作用。
本文将介绍计算机图形学与游戏开发的基本概念、应用领域以及一些相关的技术和工具。
一、计算机图形学的基本概念计算机图形学是研究如何利用计算机生成、处理和显示图像的学科。
它涉及到图像的存储、传输、处理和显示等方面的技术。
计算机图形学的应用非常广泛,包括计算机辅助设计(CAD)、虚拟现实(VR)、动画制作、游戏开发等。
二、计算机图形学的应用领域1. 计算机辅助设计(CAD):计算机图形学在CAD领域的应用非常广泛。
通过计算机图形学的技术,可以实现三维模型的建模、渲染和动画等功能,大大提高了设计效率和工作质量。
2. 虚拟现实(VR):虚拟现实是一种模拟现实环境的技术。
它通过计算机图形学的技术,将用户带入一个虚拟的世界,使其感受到与真实世界相似的视觉和听觉体验。
虚拟现实在游戏、培训、医疗等领域有着广泛的应用。
3. 动画制作:计算机图形学在动画制作领域的应用也非常重要。
通过计算机图形学的技术,可以实现动画角色的建模、渲染和动作设计等功能,减少了传统手绘动画的制作成本和时间。
4. 游戏开发:计算机图形学在游戏开发领域起到了至关重要的作用。
游戏开发需要实时渲染、碰撞检测、物理模拟等技术,而这些技术正是计算机图形学的研究内容。
通过计算机图形学的技术,可以实现逼真的游戏画面和流畅的游戏体验。
三、计算机图形学和游戏开发的相关技术和工具1. 图形处理器(GPU):GPU是计算机图形学的核心组件之一。
它是一种专门用于处理图形和图像的处理器,具有强大的并行计算能力和图形渲染能力。
GPU的发展极大地推动了计算机图形学和游戏开发的进步。
2. 渲染技术:渲染是计算机图形学中非常重要的一个环节。
它根据物体的表面属性和光照条件,计算出最终的图像,并将其显示在屏幕上。
计算机图像学基础——图形图像图素象素位图的概念一、计算机图形学(Computer Graphics)1、什么是计算机图形学?计算机图形学是研究怎样利用计算机来显示、生成和处理图形的原理、方法和技术的一门学科。
IEEE定义:Computer graphics is the art or science of producing graphical images with the aid of computer.2、计算机图形学的研究内容计算机图形学的研究内容非常广泛,如图形硬件、图形标准、图形交互技术、光栅图形生成算法、曲线曲面造型、实体造型、真实感图形计算与显示算法、非真实感绘制,以及科学计算可视化、计算机动画、自然景物仿真、虚拟现实等。
简单地说,计算机图形学的主要研究内容就是研究如何在计算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。
图形通常由点、线、面、体等几何元素和灰度、色彩、线型、线宽等非几何属性组成。
从处理技术上来看,图形主要分为两类,一类是基于线条信息表示的,如工程图、等高线地图、曲面的线框图等,另一类是明暗图,也就是通常所说的真实感图形。
计算机图形学主要目的就是要利用计算机表达的真实感图形。
为此,必须建立图形描述的场景的几何表示,运用某种光照模型,计算出假想的光源、纹理、材质属性下的光照明效果。
所以计算机图形学与计算机辅助几何设计有着密切的关系。
图形学也把可以表示几何场景的曲线曲面造型技术和实体造型技术作为其主要的研究内容。
同时,真实感图形计算的结果是以数字图象的方式提供的,计算机图形学和图形图象处理有着密切的联系3、计算机图形学的主要应用领域1).计算机辅助设计与制造(Computer Aided Design / Computer Aided Manufacture)机械结构、零部件、土木建筑工程、集成电路等的设计等,利用计算机图形学不仅可提高设计效率、缩短设计周期、改善设计质量、降低设计成本,而且可以为后续的计算机辅助制造建立起数据库,CAD/CAM一体化,生产的自动化奠定基础。
图形及其要素、表示法;图像;OpenGL 等图形标准;点阵法:是用具有颜色信息的点阵来(枚举)表示图形的一种方法,它强调图形由哪些点组成,并具有什么灰度或色彩。
输入和输出设备:输入设备:光笔、鼠标、键盘、触摸屏、跟踪球、操纵杆、数据手套、数字化仪、扫描仪、音频和视频输入系统;输出设备:阴极射线管(CRT):光栅扫描图形显示器;平板显示器,液晶显示器、等离子显示器等;光点:电子束打在显示器的荧光屏上,显示器能够显示的最小发光点,一般用其直径来标明光点的大小。
像素点:图形显示在屏幕上时候,按当前的图形显示分辨率所能提供的最小元素点,其最小尺寸等于光点。
象素信息从应用程序转换并放入帧缓冲区的过程称之为扫描转换过程帧缓冲存储器简称帧缓存或显存,它是屏幕所显示画面的一个直接映象,又称为位映射图(Bit Map)或光栅。
帧缓存的每一存储单元对应屏幕上的一个像素,整个帧缓存对应一帧图像。
位平面;位平面是与象素一一对应的一个bit 矩阵。
每个象素的单一颜色值对应一个bit ,就构成了一个位平面。
对一幅用多个比特表示其灰度值的图象来说,其中的每个比特可看作表示了1个二值的平面,也称位面。
这类方法主要有两个步骤:位平面分解和位平面编码。
三种分辨率:屏幕分辨率也称光栅或者物理分辨率,指屏幕上最多可能安置的象素的总数。
,决定了显示器的最大可能分辨率,任何显示器所提供的分辨率都不可能超过这个物理分辨率,用水平方向与垂直方向的光电数的乘积来表示。
显示分辨率:显示分辨率是显示器在显示图像时的分辨率,分辨率是用点来衡量的,显示器上这个“点”就是指像素(pixel)。
显示分辨率的数值是指整个显示器所有可视面积上水平像素和垂直像素的数量。
存储分辨率:它是指帧缓冲区的大小,一般用缓冲区的字节数来表示。
在光栅系统中,像素点亮度值的二进制表示春处在帧缓冲区中,因此像素点的数目受到缓冲区大小的限制。
光栅中的像素数目成为帧缓冲区的分辨率。
图形的实现--直接存储颜色数据:黑白图形的实现:一个bit 有两个值0,1,对应黑和白。
即一个位平面就可以实现黑白图形。
前例为:1M 比特内存。
灰度图形的实现:增加位平面的个数。
一个象素对应多个位平面的相同矩阵位置,其颜色为各个位平面的组合。
三个位平面能表示的颜色为23种。
彩色图形的实现:三只电子枪R,G ,B ;每个电子枪对应固定数目的位平面中的数据;三个位平面则对应8种彩色。
为增加彩色的数目,一个电子枪可以配备多个位平面。
计算机图形学的应用领域:科学、医药、商业、工业、政府部门、艺术、娱乐业、广告业、教育、培训等当前计算机图形学的研究热点;光栅图形显示子系统的结构:1、基本概念 几何元素的六层拓扑结构:形体、外壳、面、环、边(顶点)、点的几何坐标;图形的几何信息和拓扑信息:图形信息本身分为几何信息和非几何信息图形对象及构成它的点、线、面的位置、相互间关系和几何尺寸等都是几何信息;显示处理 器存储器 CP U 显示 控制器 显示器 帧缓存 显示处理 器(GPU) 系统 主存 系统总线表示图形对象的线型、颜色、亮度以及供模拟、分析用的质量、比重、体积等数据,是有关对象的非几何信息。
几何信息又可以进一步分为包括:(欧氏)几何信息:形体在欧氏空间中的位置和大小;拓扑信息:形体各分量(点、边、面)的数目及其相互间的连接关系。
实体的正则集定义:点的邻域:如果P 是点集S 的一个元素,那么点P 的以R (R>0)为半径的邻域指的是围绕点P 的半径为R 的小球(二维情况下为小圆)。
内点为点集中的这样一些点,它们在实体内部具有完全包含于该点集的充分小的邻域。
边界点:不具有内点性质的实体上的点集点集的正则运算:A 是一个点集,定义点集的。
正则运算如下:i :取内点运算;c: 取闭包运算:求给定点集的最小封闭边界。
正则运算r : i·A :A 的全体内点组成的集合,称为A 的内部;c·i·A :为对A 的内部取闭包的运算,即取i·A 与其边界点的并集。
正则运算即为先对物体取内点再取闭包的运算正则点集:一个点集A 经过正则运算得到的结果称为正则点集。
A 的正则点集为r·A 。
如果A= r·A,则A 为正则点集正则运算的意义:二维流形:指的是对于实体表面上的任意一点,都可以找到一个围绕着它的任意小的邻域,该邻域与平面上的一个圆盘拓扑等价实体:对于一个占据有限空间的正则形体,如果其表面为二维流形,则该正则形体为实体。
特征:1一个正则点集2表面是二维流形正则集合运算:把能够产生正则形体的集合运算称为正则集合运算集合运算(并、交、差)是构造形体的基本方法。
正则形体经过普通集合运算后,可能会产生悬边、悬面等低于三维的形体。
在引入正则形体概念的同时,一并定义了正则集合运算的概念。
正则集合运算保证集合运算的结果仍是一个正则形体,即丢弃悬边、悬面等。
分类函数:分类函数:若给定一个正则形体S 以及一个有界面G ,则G 相对于S 的分类函数可为:C(S,G)={G in S, G out S, G on S}其中,线框模型:将形体表示成一组轮廓线的集合。
优点:简单、处理速度快缺点:1、没有形体的表面信息,不适于真实感显示,由此导致表示的形体可能产生二义性2、容易构造无效形体3、不能正确表示曲面信息。
4、无法进行图形的线面消隐。
表面模型:使用一组包围物体内部的平面多边形来描述实体。
多边形表:几何表、属性表等分别存储几何信息和属性信息拓扑信息的表示:显示表示:在数据结构中显式的存储拓扑结构。
例如,翼边结构表示隐式表示:即根据数据之间的关系在运行时实时的解算。
平面方程:ax+by+cz+d=0;多边形网格:三维形体的曲面边界通常用多边形网格(polygon mesh )的拼接来模拟。
(a)带有孤立点和边 的二维点集A(b)内点集合i·A (c)正则点集c·i·A }S i p ,G p p {⋅∈∈= S in G i·S 表示实体内部 c·S 表示实体外部 }S p ,G p p {∉∈= S out G b·S 表示实体边界}S b p ,G p p {⋅∈∈= S on G实体模型分解表示:将形体按某种规则分解为小的更易于描述的部分,每一小部分又可分为更小的部分,这种分解过程直至每一小部分都能够直接描述为止。
分为空间位置枚举表示、八叉树表示、单元分解法等第一种分解表示法--空间位置枚举表示形体空间细分为小的均匀的立方体单元。
用三维数组C[I][J][K]表示物体,数组中的元素与单位小立方体一一对应当C[I][J][K] = 1时,表示对应的小立方体被物体占据;当C[I][J][K] = 0时,表示对应的小立方体没有被物体占据优点:简单,可以表示任何物体;容易实现物体间的交、并、差集合运算;容易计算物体的整体性质,如体积等。
缺点占用大量的存储空间,如1024*1024*1024 = 1G bits;物体的边界面没有显式的解析表达式,不适于图形显示;对物体进行几何变换困难;物体表示不精确。
八叉树表示对空间位置枚举表示的空间分割方法作了改进:均匀分割自适应分割。
八叉树建立过程:八叉树的根节点对应整个物体空间;如果它完全被物体占据,将该节点标记为F(Full),算法结束;如果它内部没有物体,将该节点标记为E(Empty),算法结束;如果它被物体部分占据,将该节点标记为P(Partial),并将它分割成8个子立方体,对每一个子立方体进行同样的处理。
8叉树的表示应用于三维形体的分解,它对形体的外接立方体的进行前后、左右、上下等分8个小立方体,如果小立方体单元中该形体为满或为空,表示该立方体完全在形体中或完全不在形体中,则其停止分解;对部分形体占有的小立方体需进一步分解为8个子立方体,直至所有小立方体单元要么全部满,要么全部空,或已分解到规定的分解精度为止。
优点:可以表示任何物体,且形体表示的数据结构简单;简化了形体的集合运算。
只需同时遍历参加集合运算的两形体相应的八叉树,无需进行复杂的求交运算;简化了隐藏线(或面)的消除,因为在八叉树表示中,形体上各元素已按空间位置排成了一定的顺序。
缺点:没有边界信息,不适于图形显示;对物体进行几何变换困难;是物体的非精确表示;占用大量存储。
实际上,八叉树表示是以存储空间换取算法的时间效率。
线性八叉树:用一可变长度的一维数组来存储一棵八叉树。
数组中仅存储八叉树的性质为FULL的终端结点。
并用一个八进制数表示该结点在八叉树中的位置。
编码方式为:Q1Q2…Qm,m为树的深度,其中Q1表示该结点所属的一级父结点的编号(1-8),以此类推,当其为叶子节点时,其后面的编码都为0。
也可以理解为从根结点沿着其祖辈的路径依次走下来,所途经的各个层的节点位置。
单元分解法对空间位置枚举表示的空间分割方法作了改进:单一体素变成多种体素。
将空间几何体分解成单一体素的组合。
优点:表示简单;容易实现几何变换;基本体素可以按需选择,表示范围较广;可以精确表示物体;缺点物体的表示不唯一;物体的有效性难以保证。
三种空间分割方法的比较:空间位置枚举表示----同样大小立方体粘合在一起表示物体;八叉树表示----不同大小的立方体粘合在一起表示物体;单元分解表示----多种体素粘合在一起表示物体;构造表示:其分类:构造表示;构造实体几何表示(CSG);特征表示。
第一种构造表示—扫描(推移)表示将物体A沿着轨迹P推移得到物体B,称B为sweep体(1)平移sweep----将一个二维区域沿着一个矢量方向推移(2)旋转sweep----将一个二维区域绕旋转轴旋转一周(3)三维Sweep:三维形体也能在空间通过扫描变换生成新的形体,如图,一个圆柱体按指定方向在长方体上运动生成新的形体,这个过程犹如长方体与运动着的圆柱体不断的作差运算操作。
(4)广义Sweep,任意物体沿着任意轨迹推移,推移过程中物体可以变形。
优点:表示简单、直观;适合做图形输入手段;缺点作几何变换困难;对几何运算不封闭;用扫描变换产生的形体可能出现维数不一致的问题;边界表示:是一种采用描述形体表面的方法来描述的几何表示模型。
一个形体一般可以通过将边界拆成一些有界的“面”或“片”的子集来表示,而每一个面又可以通过其边界的边和顶点来表示。
若面的表示无二义性,则其边界表示模型也无二义性,但通常不一定只有唯一的表示。
第二种构造表示—构造实体几何表示CSG:通过对体素定义运算而得到新的形体的一种表示方法。
体素可以是立方体、圆柱、圆锥等,也可以是半空间,其运算为变换或正则集合运算并、交、差。
CSG表示可以看成是一棵有序的二叉树。