提纲

样条的概念

插值与逼近

连续性条件

样条描述方法

实例:Bezier曲线和曲面

样条的概念

在绘图术语中,样条是通过一组指定点集而生成平滑曲线的柔性带。

样条曲线指有多项式曲线段连接而成的曲线,在每段的边界处满足特定的连续性条件。

样条曲面可以使用两组样条曲线进行描述。在图形学应用中使用几种不同的样条描述。每种描述简单地表示一个带有某种特定边界条件的多项式的特殊类型。

样条用于设计曲线和曲面形状,将绘制的图形数字化及场景中对象的动画路径或照相机位置。

 

样条曲线编程python 怎样使用样条曲线_样条

 

样条曲线编程python 怎样使用样条曲线_样条曲线_02

 

 

 

插值与逼近样条

给定一组称为控制点的坐标点,可以得到一条样条曲线,这些点给出了曲线的大致形状。两种方法选取分段连续参数多项式函数

当选取的多项式使得曲线通过每个控制点,则所得曲线称为这组控制点的插值(interpolate)样条曲线

当选去的多项式使得部分或者全部控制点都不在生成的曲线上,所得曲线称为这组控制点的逼近(approximate)样条曲线

样条曲线编程python 怎样使用样条曲线_样条_03

 

 

建立和修改曲线的方法:

 

 

凸壳的概念和作用

 

 

 控制图

 

 

 

连续性条件

样条的参数坐标函数形式

样条曲线编程python 怎样使用样条曲线_样条曲线_04

 

为了保证分段参数曲线从一段到另一段平滑过渡,可以在连接点要求各种连续性条件。这里有参数连续性几何连续性

 参数连续性

样条曲线编程python 怎样使用样条曲线_样条曲线_05

 

几何连续性

样条曲线编程python 怎样使用样条曲线_多项式_06

 

 

 

样条曲线编程python 怎样使用样条曲线_样条曲线_07

样条描述方法

给定多项式和的阶和控制点后,给出一条具体的样条表达式有三个等价方法:

1.给出一组加在样条上的边界条件

2.列出描述样条特征的行列式

3.列出一组混合函数或基函数(blending functions or basic functions),确定如何组合指定的曲线几何约束,以及计算曲线路径上的位置

样条曲线编程python 怎样使用样条曲线_样条_08

 

 

样条曲线编程python 怎样使用样条曲线_样条曲线_09

样条曲线编程python 怎样使用样条曲线_样条曲线编程python_10

 

样条曲线编程python 怎样使用样条曲线_样条_11

 

样条曲线编程python 怎样使用样条曲线_样条曲线编程python_12

 

 

 曲面描述

样条曲线编程python 怎样使用样条曲线_多项式_13

 

 

 

 

实例:Bezier曲线和曲面

 Bezier曲线公式

样条曲线编程python 怎样使用样条曲线_样条_14

 

样条曲线编程python 怎样使用样条曲线_样条_15

 

 

 

样条曲线编程python 怎样使用样条曲线_样条曲线_16

 

Bezier曲线特性分析

1.曲线总是通过第一个和最后一个控制点

样条曲线编程python 怎样使用样条曲线_多项式_17

 

2.曲线始点处的切线落在头两个控制点的连线上,曲线终点处的切线落在后两个控制点的连线上

 

样条曲线编程python 怎样使用样条曲线_样条曲线编程python_18

 

3.曲线落在控制点的凸壳内

样条曲线编程python 怎样使用样条曲线_多项式_19

 

 

Bezier曲线的设计技术

1.封闭曲线,第一个的最后一个点重合

2.多个控制点位于同一个位置可以更多加权

3.两段的拼接:由两个Bezier曲线段形成的分段逼近曲线。使得第一条曲线的最后两个点和第二个曲线的前两个点共线,可以得到两条曲线段之间的0阶和一阶连续性、

样条曲线编程python 怎样使用样条曲线_样条_20

 

样条曲线编程python 怎样使用样条曲线_样条曲线_21

 

 

 

 典型Bezier曲线。。。

 

Bezier曲面的定义

样条曲线编程python 怎样使用样条曲线_样条曲线_22

 

曲面实例

样条曲线编程python 怎样使用样条曲线_多项式_23

 

Bezier曲面的拼接

样条曲线编程python 怎样使用样条曲线_样条曲线_24