
























1. Bézier 1.1 应用 1.2 复合贝塞尔曲线 1.3 有理贝塞尔曲线 Rational Bézier curves 1.4 Degree 阶数与控制点 1.5 Bézier 曲线示意图 2. B-spline 3. NURBS
以下是维基百科笔记,更详细的内容请看各章开头的维基百科链接。
Bézier curve 贝塞尔曲线(/ˈbɛz.i.eɪ/,法语发音:[ bezje ] )是一种参数曲线,广泛应用于计算机图形学及相关领域。
一组离散的“控制点”通过公式定义了一条光滑连续的曲线。
贝塞尔曲线以法国工程师皮埃尔·贝塞尔(Pierre Bézier,1910-1999)的名字命名,他在20世纪60年代将其用于雷诺汽车车身曲线的设计。贝塞尔曲线于1962年,由皮埃尔·贝兹所广泛发表。
贝塞尔曲线最初由保尔·德·卡斯特里奥于1959年运用德卡斯特里奥算法开发,以稳定数值的方法求出贝塞尔曲线。
通常,贝塞尔曲线用于近似现实世界中没有数学表示、表示方法未知或过于复杂的形状。
贝塞尔曲线可以组合形成贝塞尔样条曲线 Bézier spline,也可以推广到更高维度形成贝塞尔曲面 Bézier surfaces。
更高维度的广泛化贝塞尔曲线就称作贝兹曲面,其中贝兹三角 Bézier triangle 是一种特殊的实例。
高阶曲线的计算成本更高。当需要更复杂的形状时,可以将低阶贝塞尔曲线拼接在一起,生成复合贝塞尔曲线。
在矢量图形语言(如PostScript)、矢量图形标准(如SVG)和矢量图形程序(如Artline、Timeworks Publisher、Adobe Illustrator、CorelDraw、Inkscape和Allegro)中,复合贝塞尔曲线通常被称为“路径”path。
路径不受栅格化图像的限制,并且易于修改。
转换
对贝塞尔曲线进行扫描转换(栅格化)的最简单方法是在多个紧密排列的点上评估曲线,然后对近似的线段序列进行扫描转换。
然而,这种方法并不能保证栅格化输出足够平滑,因为点之间的间距可能过大。
反之,在曲线接近直线的区域,这种方法可能会生成过多的点。
有理贝塞尔曲线通过添加可调节的权重来更精确地逼近任意形状。该权重定义了该点对曲线的“吸引力”。
其分子是加权伯恩斯坦形式的贝塞尔曲线,分母是伯恩斯坦多项式的加权和。
有理贝塞尔曲线的用途之一是精确表示圆锥曲线的线段,包括圆弧。
普通贝塞尔曲线是有理贝塞尔曲线的一种特殊情况,其中所有权重都相等。
有理贝塞尔曲线为设计者提供了更多选择,但代价是算法更复杂,需要跟踪更多数据。
贝塞尔曲线可以是任意次数的。一次曲线是一条简单的直线,有两个控制点。
二次曲线是一条圆弧,有三个控制点。次数越高,控制点越多,可以绘制出越复杂的形状。
但同时,由于每个控制点都会影响整条曲线,因此使用起来也更加困难。
(运动轨迹使用德卡斯特里奥算法计算)
每个控制点都会影响整条曲线,图上可看出,曲线轨迹会受到所有控制点的影响。
如上,使用递归降阶的方式动态计算描绘出曲线,阶数越高计算量越高,因此,最常用的是2阶和3阶。
更高阶的需求会使用多段低阶曲线组合成复合曲线,比如B样条。
B样条的概念可以追溯到19世纪,当时尼古拉·罗巴切夫斯基在俄罗斯喀山大学探索了类似的想法 ,尽管“B样条”一词是由艾萨克·雅各布·勋伯格于1967年创造的,反映了它们作为基函数的作用。
B样条曲线广泛应用于计算机辅助设计(CAD)和计算机图形学等领域,使用等距节点 equidistant knots,通过一组控制点来塑造曲线和曲面;此外,它还可用于数据分析,例如曲线拟合和实验数据的数值微分。
从汽车车身设计到噪声测量数据的平滑处理,B样条曲线提供了一种灵活且精确地表示复杂形状和函数的方法。
De Boor算法是一个数值上稳定的计算B样条的方法。
术语 B-spline B样条是Isaac Jacob Schoenberg创造的,B 是基础(basis)样条的缩写。
B样条曲线由多个贝塞尔弧组成,并提供了一种统一的机制来定义连接处的连续性。
B样条曲线利用外部条件将多个曲线段连接起来,同时保留控制点的原始概念。
相邻曲线共享一些控制点。外部条件可以是隐式的(均匀曲线),也可以由节点向量显式给出。
节点向量定义了相邻曲线(线段)之间应该共享多少信息。
使用多段低阶Bézier组合的方式,既解决了贝塞尔曲线只能全局修改的缺陷,也解决了高阶贝塞尔需求更多资源计算的问题。
Non-uniform rational basis spline 非均匀有理B样条 ( NURBS ) 是一种使用 basis splines (B-splines)(B样条)的数学模型,常用于计算机图形学中表示曲线和曲面。
它在处理解析形状(由常用数学公式定义)和建模形状方面都具有极高的灵活性和精确性。
它是一种曲线建模方法,与多边形建模或数字雕刻不同。
NURBS 曲线广泛应用于计算机辅助设计(CAD)、计算机辅助制造(CAM) 和计算机辅助工程(CAE )领域。
它们是众多行业标准(例如IGES、STEP、ACIS和PHIGS)的组成部分。
各种3D 图形、渲染和动画软件 都提供了用于创建和编辑 NURBS 曲面的工具。
它们既能被计算机程序高效处理,又能方便人机交互。
NURBS曲面是两个参数的函数,映射到三维空间中的一个曲面。
曲面的形状由控制点决定。NURBS曲面可以紧凑地表示简单的几何形状。
T-样条和细分曲面 (T-splines, subdivision surfaces) 更适合于复杂的有机形状, 因为和 NURBS 曲面相比,它们可以将控制点的数量减少一半。
一般来说,编辑 NURBS 曲线和曲面是直观且可预测的。
控制点要么直接连接到曲线或曲面,要么就像用橡皮筋连接一样。
根据用户界面的类型,NURBS 曲线和曲面的编辑可以通过控制点(类似于贝塞尔曲线)进行,也可以通过样条建模和分层编辑等更高级的工具进行。
NURBS 曲线由其阶数、一组加权控制点和一个节点向量定义。
NURBS 曲线和曲面是 B样条和贝塞尔曲线和曲面的推广,主要区别在于控制点的加权,这使得 NURBS 曲线是有理数的。
NURBS曲线和曲面有很多用途:
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。