计算机图形学入门15:几何表示
计算机图形学入门15:几何表示
在计算机图形学中,几何表示是建模现实世界物体形状的基础。本文将介绍两种主要的几何表示方法:隐式几何表示和显式几何表示,并通过具体的数学公式和示例图,详细解释了这两种表示方法的特点和应用场景。
1.几何概论
通过图形学建模表示现实生活中的各种物体,要解决的第一个问题就是如何定义物体形状,而这就涉及到了几何(Geometry)。如下图所示,各种各样的玻璃水杯、车子上的不同部件、水花四溅的模拟、病毒的微观结构等这些几何形状。
那么如何通过几何方法表示物体呢?对此,图形学中定义了两种几何表示方法。即隐式几何表示(ImplicitRepresentations of Geometry)和显式几何表示(ExplicitRepresentations of Geometry)。
1.1隐式几何表示
隐式几何表示是一种使用数学关系式来描述几何形状的方法,而不是直接描述其顶点和边界等元素。如下图所示,定义一个函数f(x,y,z)=0,只要找到任何一个点满足这个条件,就表示这个点是物体表面上定义的一点,然后找到所有的点,就可以把物体表面画出来。
隐式几何表示用来描述表面都有哪些点是相对困难的,也很不容易看出来形状,如下图所示。
但是,隐式几何表示用来判断一个点是否在表面内外是容易的。如下图所示,将一个点带入公式,如果得到结果是0表示在表面,如果是负的表示在物体内,如果是正的表示在物体外。
1.2显式几何表示
显式几何表示是一种直接或间接(通过参数映射的方式)定义点、线、面等元素集合的方法。在显式几何表示中,各元素的位置通常由坐标值直接给出。这种方法直观且易于理解,是计算机图形学中最常用的几何表示方法之一。
显式几何表示可以进一步分为以下几种类型:
多边形网格表示:这是最常见的一种显式几何表示方法,通过一系列顶点、边和面来定义物体的形状。每个面通常是一个三角形或多边形,通过连接这些面可以构建出复杂的三维模型。
参数曲面表示:通过参数方程来定义曲面,例如Bezier曲面和B样条曲面。这种方法可以生成平滑且连续的表面,常用于汽车设计和动画制作等领域。
分层表示:通过将物体分解为多个层次或部分来表示,每个层次可以独立地进行变换和操作。这种方法在处理复杂模型时特别有用,可以提高渲染效率。
体素表示:将空间划分为一系列小的立方体(体素),通过这些体素的组合来表示物体的形状。这种方法在医学图像处理和体积渲染中应用广泛。
显式几何表示的优点是直观且易于理解,可以直接看到物体的形状和细节。但是,当需要表示复杂的曲面或进行布尔运算时,显式几何表示可能会变得非常复杂,计算量也会显著增加。