第五章 曲线曲面
工业设计中经常绘制各种曲线曲面,曲线分为规则曲线与不规则曲线,曲面也相应分
为规则曲面和不规则曲面。规则曲线有圆锥曲线、圆柱曲线、渐开线等,这些曲线都可以
用函数或参数方程表示;不规则曲线则是根据给定的离散数据点用曲线拟合逼近得到,常
见的有参数样条曲线、Bezier 曲线、B 样条曲线等,这些曲线一般采用分段的参数方程表
示。规则的曲面有柱面、锥面、球面等,可以用函数或参数方程表示;常见的不规则曲面
有 Bezier 曲面、B 样条曲面等,这些曲面采用分片的参数方程表示。本章包含了三次样条
曲线,Bezier 曲线和 B 样条曲线。
实验一 二次插值样条曲线
实验目的:
掌握二次插值样条曲线的生成算法,掌握对数学曲线采样,用折线近似显示曲线的原
理。
实验要求:
要求在给定插值点个数的情况下。采用二次抛物线插值方式生成曲线,为保证曲线的
光滑性,采用加权合成方法。对于第一段和最后一段曲线舍弃。要求插值点用鼠标交互输
入。
实验原理:
二次插值样条曲线主要采用抛物线插值方法生成二次样条曲线,即由给定的 3 个点定
义一条抛物线。采样矢量表达式表示该参数化二次曲线,可以表示为:
P(t)=A1+A2·t +A3·t
2
要确定该系数,需要三个独立的条件。设三个条件为:
(1) 当参数变量 t=0 时,曲线经过 p1 点
(2) 当 t=1 时,曲线经过 p3 点
(3) 当 t=0.5 时,曲线经过 p2 点
考虑到曲线的光滑性,可以按上述条件每相邻三个点生成一段抛物线,则 n 个插值点
可
以生成 n-1 段抛物线,对相邻两段抛物线,例如,P
i
、
、P
i+1
、P
i+2
、P
i+3
, 由 P
i
、
、P
i+1
、P
i+2
生成的曲线段 S
i
和由 P
i+1
、P
i+2
、P
i+3
生成的曲线段 S
i+1
在 P
i+1
、P
i+2
共有区间, 而两段抛物
线是不可能重合的,所以要将这个区间的两段曲线进行加权合成。采用以下方程
P
i+1
(t) = f(T)·S
i
(t
i
)+g(T)·S
i+1
(t
i+1
)
其中 f(T)=1-T,g(T)=T,T=2t,得到二次插值样条曲线公式:
P
i+1
(t)=(-4t
3
+4t
2
-t) P
i
+(13t
3
-10t
2
+1) P
i+1
+(-12t
3
+8t
2
+t) P
i+2
+(4t
3
-2t
2
) P
i+3
实验步骤:
(1) 设置插值点个数,设置采样精度
(2) 鼠标交互输入插值点,并显示由插值点构成的折线
(3) 根据插值点个数 n 生成 n-3 段曲线,对每一段曲线,根据采样精度对 t 进行离散化,
计算出相应的离散点,连接相邻的离散点,用折线近似显示曲线。
实验效果:
评论2