计算机图形学 学习笔记(十):曲线曲面(二):Bezier 曲线与曲面

接上文 计算机图形学 学习笔记(九):曲线曲面(一):参数曲线、参数几何代数形式


7.5 Bezier 曲线背景及定义

Bezier 曲线背景

给定 n+1个数据点,p0 ( x0 , y0 ) … pn ( xn , yn ),生成一条曲线,使得该曲线与这些点所描述的形状相符。

如果要求曲线通过所有的数据点,则属于插值问题;如果只要曲线逼近这些数据点,则属于逼近问题。

逼近在计算机图形学中主要用来设计美观的或符合某些美学标准的曲线。为了解决这个问题,有必要找到一种用小的部分即曲线段构建曲线的方法,来满足设计标准。

基函数:

这里写图片描述
这里写图片描述

1962 年,贝塞尔(Bezier)构造了一种以逼近为基础的参数曲线和曲面的设计方法,并用这种方法完成了一种称为 unisurf 的曲线和曲面设计系统。

贝塞尔的想法是在进行汽车外形设计时,先用折线段勾画出汽车的外形的大致轮廓,然后用光滑的参数曲线去逼近这个折线多边形。

这里写图片描述

这个折线多边形被称为特征多边形。逼近该特征多边形的曲线被称为 Bezier 曲线。

Bezier 方法将函数逼近和几何表示结合起来,使得设计师在计算机上作图就像使用作图工具一样得心应手。

贝塞尔曲线广泛地应用于很多图形图像软件中,例如 Flash、Illstrator、CoralDRAW和 Photoshop 等等。

贝塞尔把参数n次曲线表示为:

这里写图片描述
这里写图片描述

1972 年,剑桥大学的博士生 Forrest 证明了 Bezier 曲线的基函数可以简化成 伯恩斯坦基函数。

这里写图片描述
这里写图片描述

Bezier 曲线的定义

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

一次 Bezier 曲线

这里写图片描述
这里写图片描述
这里写图片描述

二次 Bezier 曲线

这里写图片描述
这里写图片描述
这里写图片描述

三次 Bezier 曲线

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

7.6 Bezier 曲线性质

Bernstein 基函数的性质

正性(非负性)

这里写图片描述

权性

基函数有 n+1 项,n+1 个基函数的和加起来正好等于1
这里写图片描述

端点性质

这里写图片描述

对称性

假如保持 n 次 Bezier 曲线控制多边形的顶点位置不变,而把次序颠倒过来,则此时曲线仍不变,只不过曲线的走向相反而已。

这里写图片描述

递推性

这里写图片描述

n 次的 Bernstein 基函数可以由两个 n-1 次的 Bernstein 基函数线性组合而成。

导函数

这里写图片描述

最大值

这里写图片描述

积分

这里写图片描述

降阶公式

这里写图片描述

一个n 次的 Bernstein 基函数能表示成两个 n-1 次的 基函数的线性和。

升阶公式

这里写图片描述

Bezier 曲线性质

端点性质

这里写图片描述
这里写图片描述

一阶导数

这里写图片描述
这里写图片描述

几何不变性

Bezier 曲线的形状仅仅与控制多边形各个顶点的相对位置有关,而与坐标系的选择无关。

变差缩减性

若 Bezier 曲线的特征多边形是一个平面图形,则平面内任意直线与 p(t)的交点个数不多于该直线与其特征多边形的交点个数,这一性质叫做变差缩减性质。

此性质反应了 Bezier 曲线 比其特征多边形的波动还小,也就是说Bezier 曲线比特征多边形的折线更光顺。

8.1 Bezier 曲线生成算法

生成一条 Bezier 曲线 实际上就是要求出曲线上的点。下面介绍两种曲线生成的方法:

根据定义直接生成 Bezier 曲线

绘制 Bezier 曲线主要有以下步骤:

这里写图片描述
这里写图片描述
这里写图片描述

Bezier 曲线的递推(de Casteljau)算法

根据 Bezier 曲线定义确定的参数方程绘制 Bezier 曲线,因为计算量太大,不适合在工程中使用。de Casteljau 提出的递推算法则要简单很多。

这里写图片描述

下面举个例子,推导出de Casteljau 递推算法。

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

由此得到 Bezier 曲线的递推计算公式:

这里写图片描述

这便是著名的 de Casteljau 算法。de Casteljau 算法稳定可靠,直观简便,可以编出十分简便的程序,是计算 Bezier 曲线的基本算法和标准算法。

de Casteljau 算法几何作图

de Casteljau 算法 可以用简单的几何作图来实现。

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

Bezier 曲线计算举例

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

8.2 Bezier 曲线的拼接及升降阶

Bezier 曲线的拼接

几何设计中,一条 Bezier 曲线旺旺难以描述复杂的曲线形状。这是由于增加特征多边形的定点数,会引起 Bezier 曲线次数的提高,而高次的多项式又会带来计算上的困难。

这里写图片描述

因此我们可以采用分段设计,然后将各段曲线相互连接起来,并在接合处保持一定的连续条件。

这里写图片描述
这里写图片描述

Bezier 曲线的升阶与降阶

这里写图片描述
这里写图片描述

Bezier 曲线的升阶

所谓升阶就是指保持 Bezier 曲线的形状与方向不变,增加定义它的控制顶点数,即可以提高该 Bezier 曲线的次数。

这里写图片描述
这里写图片描述
这里写图片描述

三次Bezier 曲线的升阶实例如下图所示:

这里写图片描述

Bezier 曲线的降阶

降阶是升阶的逆过程。

这里写图片描述
这里写图片描述
这里写图片描述

Bezier 曲线曲面升降阶的重要性

  1. 它是CAD系统之间数据传递与交换的需要
  2. 它是系统中分段(片)线性逼近的需要。通过逐次降阶,把曲面化为直线平面,便于求交和曲面绘制
  3. 它是外形信息压缩的需要。降阶处理以后可以减少存储的信息量

8.3 Bezier 曲面

基于 Bezier 曲线的讨论,可以给出 Bezier 曲面的定义和性质,Bezier 曲线的一些算法也可以很容易地扩展到 Bezier 曲面中。

Bezier 曲面的定义

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

Bezier 曲面性质

Bezier 曲线的很多性质可以推广到 Bezier 曲面中。

(1)Bezier 曲面特征网络的四个角点正好是Bezier 曲面的四个角点,即:

这里写图片描述

(2)Bezier 曲面特征网络嘴歪一圈顶点定义Bezier 曲面的四条边界
(3)几何不变形
(4)对称性
(5)凸包性

Bezier 曲面片的拼接

这里写图片描述
这里写图片描述

递推(de Casteljau)算法(曲面的求值)

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

  • 34
    点赞
  • 180
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值