几何图元表示方法

作者:追风剑情 发布于:2019-1-25 12:41 分类:Algorithms

一、隐式表示

通过定义一个布尔函数f(x, y, z),我们能够隐式表示一个图元。如果所指定的点在这个图元上,这个布尔函数就为真;对于其他的点,这个布尔函数为假。例如等式:x2+y2+z2=1。对中心在原点的单位球表面上的所有点为真。隐式表示法用于测试图元是否包含某点时非常有用。

二、参数形式表示

图元也能以参数形式表示。我们从一个简单的2D例子开始,定义如下两个关于t的函数:

111.png

这里t被称作参数,并和所用的坐标系无关。当t从0变化到1时,点x(t),y(t)的轨迹就是所要描述的形状。这组等式表示的是一个中心在原点的单位圆。

       尽管可以让t在我们想要的任意范围内变化,但是在大多数情况下,把参数的变换范围限制在0到1之间会比较方便一些。另一种常见的变换范围是从0到L,L是图元的“长度”。

       如果函数只使用一个参数,就称这些函数为单变量的。单变量函数的轨迹是一条曲线。有时候函数可能有多于一个的参数,双变量函数接受两个参数,经常设为s和t。双变量函数的轨迹是一个曲面。

三、“直接”形式表示

       我们将这组表示方法命名为“直接”法,是因为没有更好的术语来描述它们。它们随图元的类型而变化,而且经常能直接地体现图元最本质和最明显的信息。例如,用两个端点来表示一个线段。用球心和半径来表示一个球。直接形式是最便于人们直接使用的形式。

四、自由度

       每个几何图元都有一个固有的属性:自由度。自由度是无歧义地描述该实体所需信息量的最小数目。有趣的是,同一几何图元,不同表示方法所用到的自由度是不同的。然而,我们会发现“多余”的自由度数量经常是由于图元参数化中的冗余造成的,这些冗余可以通过一些适当的假设条件消除,如假设向量为单位向量。

标签: Algorithms

Powered by emlog  蜀ICP备18021003号   sitemap

川公网安备 51019002001593号