曲线与曲面

曲线曲面参数表示的基本知识

几何造型技术是一项研究在计算机中,如何表达物体模型的技术,描述物体的三维模型有三种,现在主要研究曲面模型。

参数表示

参数曲线一般可以写成:p = p(t) t ∈[ 0 , 1 ]

类似地,参数曲面可以表示成:p(u , v)= p(x(u,v), y(u,v),z(u,v)) (u,v)∈[ 0 , 1 ] ×[ 0 , 1 ]

基本概念

参数曲线是一个有界点集,可以写成:

x = x(t)、y = y(t)、z = z(t) 0 <= t <= 1

p = p(t)、p’(t) =$ dP / dt$、p’’(t) = $d^2P / dt^2$

位置矢量

曲线上任意一点的位置矢量可以表示为 P(t) = [x(t),y(t),z(t)]

切矢量

单位切矢量 T = dP / ds(s为弧长),再根据弧长微分公式,T = P’(t) / |P‘(t)|

曲率

切向量求导,结果还是一个向量,称为曲率,几何意义是曲线的单位切向量对弧长的转动率,曲率越小,曲线越平坦;曲率越大,曲线越弯曲。

K = |T’| = $lim_{\Delta s\rightarrow 0}|\Delta\theta/\Delta s|$

曲率的倒数是曲率半径 $\rho$ = 1 / K

法矢量

垂直于切矢量T的平面是法平面

主法矢 N 与 dT / ds 平行,副法矢 B = T $\times$ N,三者共同构成了活动坐标架

如图:

活动坐标架

挠率

空间曲线不但要弯曲,而且还要扭曲,即要离开它的密切平面。为了能刻画这一扭曲程度,等价于去研究密切平面的法矢量(即曲线的副法矢量)关于弧长的变化率。

挠率$\tau = lim_{\Delta s\rightarrow 0}|\Delta\theta/\Delta s|$

插值

给定一组有序的数据点,要求构造一条曲线/曲面顺序通过这些数据点,称为对这些数据点进行插值,所构造的曲线称为插值曲线/曲面,常见的有线性插值和抛物线插值

拟合

构造一条曲线使之在某种意义下最接近给定的数据点(但未必通过这都些点),所构造的曲线为拟合曲线。

在计算数学中,逼近通常指用一些性质比较好的函数近似表示一些性质不好的函数。在计算机图形学中,逼近继承了这方面的含义,因此插值和拟合都可以视为逼近。

光顺

指曲线的拐点不能太多(有一、二阶导数等)

对于平面曲线而言,相对光顺的条件是:

  1. 具有二阶几何连续性
  2. 不存在多余的拐点和奇异点
  3. 曲率变化较小

连续性

两条曲线P(t)和Q(t)是否连续,主要考虑两种连续性,参数连续性和几何连续性

参数连续性

要求在交点处有相同的值、1阶导、2阶导

连续性

几何连续性

只要求在交点处的参数导数成比例

参数化

参数化的本质就是找一组恰当地参数 t 来匹配这一组不同的型值点。给定一组不同的型值点,就要给出不同的参数化即不同的 t 值,这样才可以使这条曲线美观、合理。

有以下常见的参数化方法:

  1. 均匀参数化
  2. 累加弦长参数化
  3. 向心参数化法

参数曲线的代数形式和几何形式

代数形式

代数形式

写成矢量式:矢量式

几何形式:利用一条曲线的端点的几何形式(端点位置、切矢量、各级导数)来刻画一条曲线

Bezier曲线与曲面

一种以逼近为基础的参数曲线和曲面的设计方法。

定义

给定空间n+1个点位置矢量Pi(i=0,1,2,…,n),则Bezier参数曲线上各点坐标的插值公式是:

n = 1时,有两个控制点p0和p1,Bezier多项式是一次多项式

性质

Bernstein基函数性质

  • 非负性

  • 权性:$\displaystyle \Sigma^{n}_{i=0}B_{i,n}(t)$ = 1

  • 端点性质:

    image-20211128153129464

  • 对称性:n个点次序颠倒,曲线不变,走向相反

  • 递推性:高一次的Bernstein基函数可由两个低一次的Bernstein调和函数线性组合而成

    递推

  • 导函数

    导函数

  • 最大值:t = i / n达到最大值

  • 积分

    积分

  • 升阶公式

    升阶公式

Bezier曲线性质

  • 端点性质:Bezier曲线的起点、终点与相应的特征多边形的起点、终点重合
  • 一阶导数:Bezier曲线的起点和终点处的切线方向和特征多边形的第一条边及最后一条边的走向一致
  • 几何不变性:Bezier 曲线的形状仅仅与控制多边形各个顶点的相对位置有关,而与坐标系的选择无关
  • 变差缩减性:若 Bezier 曲线的特征多边形是一个平面图形,则平面内任意直线与 p(t)的交点个数不多于该直线与其特征多边形的交点个数

Bezier曲线生成算法

计算Bezier曲线上的点,可用Bezier曲线方程,但使用de Casteljau提出的递推算法则要简单得多

几何作图法

Bezier曲线的升阶与降阶

升阶

指保持Bezier曲线的形状与方向不变,增加定义控制顶点数,即提高该Bezier曲线次数

降阶

降阶是升阶的逆过程

Beizer曲面

设Pij(i=0,1,…,m, j=0,1,…,n)为(m+1)×(n+1)个空间点列,则m×n次张量积形式的Bezier曲面为

定义

矩阵表示:

矩阵

Bezier曲线的性质、递推生成算法也可以推广到曲面

B样条曲线与曲面

B样条方法,在保留 Bezier 方法全部优点的同时,克服了 Bezier 方法的缺点。

样条:分段连续多项式


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!