毕业文
题 目: BezierB样条曲线算法研究
系 : 数学计算机科学系
班 级:
学 号:
姓 名:
指导教师: 职 称:
起讫日期:
BezierB样条曲线算法研究
摘:样条曲线发展迅速基PC系统3D MaxAutoCADMaya等建模工具中样条曲线基图形象存形式实现面绘图立体绘图基功三维动画重组成元素
样条曲线造型技术重容BezierB样条曲线样条曲线发展史中举足轻重诸曲线发展文BezierB样条曲线算法进行全面系统深入研究重点研究性质相互关系
关键词:Bezier曲线B样条曲线
The Investigation of Curve algorithm on Bezier and Bspline
Abstract:Spline curve is developing rapidly Among PCbased system 3D Max AutoCAD Maya and other modeling tools spline curve have basic function of dimensional drawings and threedimensional drawing for its basic graphic object form spline curve is a vital component of threedimensional animation it is also an important content of geometric modeling techniques Bezier and Bspline curve is important in the development of spline curve many other curves are evolved based on them This paper has a comprehensive systematic and deep research on Bezier and Bspline curve algorithm and focuses on their nature and the intrinsic relationship between them
Key words:Bezier curves Bspline curve
目 录
第1章 绪 1
11 研究背景 1
111 样条曲线发展历程研究前 1
112 样条曲线应 1
12 工作 2
第2章 曲线基础 3
21 曲线参数表示 3
22 插值逼 4
221 插值 4
221 逼 4
23 连续性 5
231 函数微性 5
232 连续性 5
24 样条描述 6
25 三次样条 7
第3章 BezierB样条曲线 9
31 Bezier曲线算法研究 9
311 Bezier曲线定义 9
312 Bezier曲线性质 12
313 Bezier曲线拼接 13
314 de Casteljau算法离散生成Bezier曲线 14
315 Bezier曲线足 16
32 B样条曲线算法研究 16
321 B样条曲线定义 16
322 B样条曲线分类 17
323 B样条曲线性质 21
324 理样条NURBS曲线 22
33 Bezier曲线B样条曲线较相互转换 24
331 Bezier曲线B样条曲线较 24
332 Bezier曲线B样条曲线相互转换 24
34 曲线曲面基础 25
第4章 结 26
致 谢 27
参考文献 28
附 件 29
第1章 绪
11 研究背景
111 样条曲线发展历程研究前
1964年美国麻省理工学院(MIT)孔斯(Coons)封闭曲线4条边界定义张曲面年舍恩伯格(Schoenberg)提出参数样条曲线曲面形式1971年法国雷诺(Renault)汽车公司贝济埃(Bezier)发表种控制边形定义曲线曲面方法1972年德布尔(de Boor)出B样条标准计算方法1974年美国通汽车公司戈登(Gorden)里森费尔德(Riesenfeld)B样条理形状描述提出B样条曲线曲面1975年美国锡拉丘兹(Syracuse)学佛斯普里尔(Versprill)提出理B样条曲线20世纪80年代期皮格尔(Piegl)蒂勒(Tiller)理B样条曲线发展成非均匀理B样条(Nonuniform Rational BSplineNURBS)曲线NURBS曲线已成前曲线曲面描述广流行技术目前国际标准化协会(ISO)已NURBS曲线方法作定义工业产品形状唯数学方法[04]
样条曲线研究领域涉诸容阶次样条曲线扩展(NUAHBsCBezier曲线CB样条曲线HBezier曲线等)结点插入算法研究应光新方法研究求值升阶降阶方法研究造型形状调整研究实时插补技术研究等方
112 样条曲线应
曲线曲面造型计算机辅助设计计算机图形学项重容CADCAM系统关键部分应航空造船汽车三制造业外涉医疗诊断生物工程等设计领域
前CADCAM中曲线曲面造型流方法Bezier曲线曲面NURBS方法针工程曲线曲面造型中两种方法存缺陷[07]已样条函数进行调整修改通改变调函数形式样条曲线进行传递扩展达调整改变曲线形状目生成新样条曲线仅具备基础样条函数性质具身优点例二次均匀B样条基函数进行扩展构造出三次四次带局部参数 调函数推广n次调函数具二次均匀B样条基函数性质生成分段项式曲线具分段二次均匀B样条曲线相结构性质种混合基(代数项式三角函数线性组合)代三次项式曲线方程中幂基相应修改基函数形成曲线曲面方程表示曲线曲面种新颖曲线曲面造型方法——C曲线曲面理[07]数物体曲线曲面部分灵活B样条曲线进行拟合基PC系统3D MaxAutoCADMaya等建模工具中样条曲线基图形象存形式实现面绘图立体绘图基功三维动画重组成元素
12 工作
文工作系统研究整理BezierB样条曲线算法性质作样条曲线相关基础知识基VC++60两种样条曲线进行实现性质较
文思路致:
首先讨Bezier曲线Bezier曲线质调函数根控制点插值生成运算量较de Casteljau算法效率高Bernstein调函数[01]活动Bezier曲线作局部修改调函数次数控制点数相关高阶次Bezier曲线计算较复杂数字取整结果带误差采点集中插入点拼接然满足段Bezier曲线光滑连接条件方便
然寻找灵活控制曲线形状计算量等更性质调函数获足够灵活性试着低次项式分段连接起样t分段区间项式定义曲线称分段项式曲线形状更控制够指定控制点插值讨设计方法封装进组成单算法n次B样条基函数换Bernstein基函数便获B(basis)样条曲线
接着B样条曲线进行研究研究均匀B样条曲线算法介绍非均匀B样条曲线开放B样条曲线Bezier曲线B样条曲线特例B样条项式阶数增加1B样条调函数支持扩展区间时降低局部控制力m达边界n+1时Bezier曲线时局部控制力Bezier曲线B样条曲线间进行相互转换
点明样条曲线曲面基础
外结合VC++60实现BezierB样条曲线性质进行直观分析较
第2章 曲线基础
21 曲线参数表示
曲线表示分参数表示非参数表示两种中非参数表示分显式表示隐式表示两种面曲线显式表示般形式yf(x)方程中x值y值应显式方程表示封闭值曲线例显式方程表示圆
果面曲线方程表示成f(xy)0形式称隐式表示隐式表示优点易判断函数f(xy)否等零易判断点落表示曲线曲线侧
非参数方程缺点:坐标轴相关会出现斜率穷情形(垂线)非面曲线难常数系数非参数化函数表示便计算机编程
参数表示曲线具变性等优点计算机图形学中通常参数形式描述曲线造型系统中曲线方程通常表示成参数形式曲线点坐标均表示成定参数函数假定t表示参数面曲线点P表示
(21)
空间曲线三维点P表示
(22)
简单参数曲线直线段端点直线段参数方程表示
(23)
圆计算机图形学中应十分广泛第象限单位圆弧非参数显式表示
参数形式表示
(24)
曲线表示参数方程显式隐式方程更优越性表现点
l 满足变性求
l 更度控制曲线形状
l 非参数方程表示曲线进行变换必须曲线型值点进行变换参数表示曲线参数方程直接进行变换
l 便处理斜率穷情形会中断计算
l 参数方程中代数相关关变量完全分离变量数限便户低维空间中曲线扩展高维空间种变量分离特点数学公式处理分量
l 规格化参数变量相应分量界必外参数定义边界
l 易量矩阵表示分量简化计算
22 插值逼
221 插值
定组序数点(i012…n)构造条曲线序通数点称数点进行插值构造曲线称插值曲线
(1) 线性插值
假设定函数f(x)两点值线形函数似代f(x)称f(x)线性插值函数中线性函数系数ab通条件:
表示:
(25)
(2) 抛物线插值
抛物线插值称二次插值设已知f(x)3互异点函数值求构造函数:结点处处值相等构造线性方程组求abc构造插值函数
[02]
图21 曲线插值
221 逼
型值点较时构造插值函数通型值点相困难测量数点身较粗糙构造精确插值函数没意义时通常选择次数较低函数构造条曲线某种意义接定数点称数点进行逼构造曲线逼曲线插值逼统称拟合
逼方法常二法假设定组数点求构造逼函数令m次项式
逼程度通点偏差方度量二问题求出系数偏差方求解式(56)示函数极值问题:
(26)
取极值
(27)
里m+1系数未知量通求解m+1方程出系数带入项式函数求逼函数
图22 曲线逼
[02]
23 连续性
设计条复杂曲线时常常通段曲线组合成需解决曲线段间实现光滑连接问题曲线间连接光滑度度量两种
231 函数微性
组合参数曲线构造成连接处具直n阶连续n阶连续微类光滑度称n阶参数连续性
232 连续性
组合曲线连接处满足某组约束条件称具n阶连续性简记
曲线光滑度两种度量方法矛盾连续包含连续中
曲线P(t)Q(t)参数求接合处达连续连续两曲线结合处位置连续
(28)
求结合处达连续说两条曲线结合处满足连续条件公切线量:
(29)
时连续称连续求结合处达连续说两条曲线结合处满足连续条件公曲率:
(210)
式(29)式(210)合整理
(211)
关系
(212)
意函数时连续称连续
24 样条描述
样条(Spline)词源工程绘图员指定点连接成条光曲线工具富弹性细木条薄钢条
初样条曲线助物理样条放样员富弹性细木条(机玻璃条)压铁固定曲线应该通定型值点处样条做然弯曲绘制出曲线样条曲线样条曲线仅通序型值点型值点处阶二阶导数连续该曲线具连续曲率变化均匀特点
计算机图形学中样条曲线指项式曲线段连接成曲线段边界处满足特定连续性条件
通常式(29)描述n次样条参数项式曲线:
(213)
式(29)写成矩阵积形式
(214)
中C(n+1)×3阶系数矩阵Tn+1幂形式基函数组成量[02]
25 三次样条
项式种基数学研究象计算机图形学中常项式时项式定义简介计算起效率高
然Sederberg已证明定项式函数x(t)y(t)总找隐式形式般说次二次隐式形式总找参数方程形式次二次项式参数化曲线容易理解更高次项式时情况复杂
三次项式曲线设计提供条功强途径方法隐式形式出发寻找参数化形式设计者选定组控制点出发应某特定算法生成曲线点果满意接受条曲线隐式形式单纯采数学手段相种方法许方面种更然曲线设计方法[01]
三次项式灵活性计算速度间提供合理种方案更高次项式相三次样条需较少计算存储较稳定低次项式相三次样条具更灵活性事实数形状表示设计采三次项式实现
定n+1点通点分段三次项式曲线:
(215)
方程组中12系数唯确定条3次参数曲线位置形状式(211)写成量式
(216)
中abcd代数系数量p(t)三次参数曲线点位置量
描述参数曲线条件端点位置量端点切线量曲率等三次参数曲线端点量端点切线量描述简记式(213)
(217)
系数代回原曲线方程曲线方程表示
(218)
时三次参数曲线三次Hermite样条曲线
(219)
(220)
中Hermite矩阵边界约束矩阵逆阵通常常数Hermite量式(217)三次Hermite样条曲线方程:
(221)
式中定求出p(t)初始条件T相T•称Hermite基函数(称混合函数调函数)表达式
(222)
Hermite基函数分量写
(223)
利基函数表达三次Hermite样条曲线方程
(224)
中专门控制端点函数值曲线影响端点导数值关专门控制端点阶导数值曲线形状影响端点函数值关者说控制左端点影响控制右端点影响
三次Hermite样条曲线特点局部调整曲线段仅赖端点约束基Hermite样条变化形式Cardinal样条KochanekBartels样条Hermite曲线具变性[02]
第3章 BezierB样条曲线
BezierB样条曲线算法研究基运算规定运算序构成完整解题步骤
31 Bezier曲线算法研究
1971年法国雷诺(Renault)汽车公司贝济埃(Bezier)发表种控制边形定义曲线曲面方法——Bezier曲线中方法够较直观表示定条件曲线形状关系户方便通修改参数改变曲线形状阶次算法较简单易户接受
Bezier曲线通组边形顶点定义果边形顶点固定变定义Bezier曲线唯边形顶点中第点点曲线作曲线起点中点点控制曲线形状阶次曲线形状趋边形形状修改曲线修改边形顶点该边形称Bezier曲线控制边形顶点称控制点
常三次Bezier曲线图31示[03]
[02]
P2
P2
P0
P1
P3
P1
P0
P3
图31 三次Bezier曲线
311 Bezier曲线定义
Bezier曲线质调函数根控制点插值生成数学表达式参数方程:
(31)
中构成该Bezier曲线特征边形n次Bernstein基函数Bernstein基函数具形式:
(32)
里规定t=0i=0时t=0i≠0时t1in时t1i≠n时
(1) 次Bezier曲线(n1)
次项式两控制点数学表示矩阵表示
(33)
显然条连接P0P1直线段图32示
[06]
图32 线性插法获线性Bezier曲线程
(2) 二次Bezier曲线(n2)
二次项式三控制点数学表示:
(34)
式结果知二次Bezier曲线抛物线图形图33式改写矩阵形式:
[06]
(35)
图33 de Casteljau算法获二次Bezier曲线程
(3) 三次Bezier曲线(n3)
三次项式四控制点数学表示:
(36)
矩阵形式
(37)
面式中Bernstein项式构成三次Bezier曲线组基称三次Beizer曲线调函数:
(38)
[03]
图34 三次Bezier曲线调函数
图34中示4条曲线[03]
类似出四次更高次Bezier曲线函数
通定义出Bezier曲线特点:
l Bezier曲线基函数次数等控制点数目减1
l Bezier曲线基函数整定义区间0[02]
[06]
图35 de Casteljau算法获三次Bezier曲线程
312 Bezier曲线性质
Bezier曲线具重性质性质特适合CAGD(开放B样条曲线具性质)
l 端点插值
t0时P(t0)决定曲线起点t1时P(t1)决定曲线终点Bezier曲线起点终点相应特征边形起点终点重合[02]
l 称性
保持特征边形顶点位置变序颠倒新Bezier曲线形状变参数变化方相反[03]
l 仿射变性(变性)
常常缩放条Bezier曲线者改变方位置备需进行仿射变化须控制点施加变换(变换次)然新控制点样Bernstein式重新生成意t值处变换Bezier曲线[01]
l 参数仿射变换变性
通常定义参数区间时区间更方便方参数ua~b区间变化须t换:
(39)
着ua变化bBernstein项式变量0变化1正
l 凸包性(线性精度:曲线部分直线)
t∈[01]时Bernstein项式
(310)
(311)
图36 凸包性
说明构成Beizer曲线组权函数Bezier曲线定落控制边形凸包中
l 波动减性
粗略说Bezier曲线波动程度超控制边形波动更精确说直线Bezier曲线交点数超条曲线控制边形交点数[01]
图37 波动减性
313 Bezier曲线拼接
设计中条Bezier曲线难描述复杂曲线形状增加特征边形顶点数会引起Bezier曲线次数提高高次项式会带计算困难时采分段设计然段曲线相互连接起接合处保持定连续条件面讨两条Bezier曲线达阶连续条件
假设定两条Bezier曲线相应控制点图38示
[02]
图38 两段三次Bezier曲线连接
P
0
P
1
P
2
P
3
(Q
0
)
Q
1
Q
2
Q
3
(1) 达连续充分必条件:
(312)
(2) 达连续充分必条件:3点线
(313)
(3) 达连续充分必条件:
① 连续条件均零求处曲率相等法线方致三次Bezier曲线达连续满足式(313)
(314)
② 5点面者直线者位直线侧
(315)
中分表示直线距离通常达二阶连续满足求[02]
314 de Casteljau算法离散生成Bezier曲线
前面讨Bezier曲线绘制算法完全调函数方式写出运算量较面研究de Casteljau算法效率高
de Casteljau算法面迭代公式计算型值点:
(316)
数学纳法证明型值点
三次Bezier曲线
(317)
[03]
图39 de Casteljau算法计算程
计算程图39示中横箭头表示权重斜箭头表示权重t
根该算法原理三次Bezier曲线例求取参数t处型值点步骤:
(1) 特征边形顶点排列序特征边形三条边次值t:1t分两段取分店
(2) 边分值t:(1t)分两段取分点
(3) 边值t:(1t)分两段取分点t处型值点
[03]
图310 de Casteljau算法绘制Bezier曲线点[03]
315 Bezier曲线足
(1) Bernstein项式次数控制点数关基n+1控制点Bezier曲线干n次项式组合导致高次项式计算起代价高数字取整结果带误差
(2) 没局部控制力Bezier曲线中控制点改变会导致整条曲线改变Bernstein项式整[01]区间支持曲线函数混合控制点0~1间t值处曲线影响寻找组控制点具定局部控制力调函数
(3) 然通点集中插入点满足段Bezier曲线光滑连接条件种方法显然方便
克服述缺点1972年de BoorCox分提出B样条计算方法1974年美国通汽车公司GordenRiesenfeld提出B样条曲线曲面B样条曲线保持Bezier曲线直观性凸包性等优点外局部修改曲线形状更趋特征边形B样条曲线连续光滑拼接曲线阶次顶点数关原B样条曲线曲面越越广泛应
32 B样条曲线算法研究
B样条曲线低阶次曲线易进行局部修改更逼特征边形B样条曲线n次B样条基函数换Bernstein基函数
321 B样条曲线定义
B样条曲线方程定义:
(318)
式(318)中顶点控制顶点称德布尔(de Boor)点称折线p(t)控制边形kB样条曲线次数k次B样条基函数通式(319)计算B样条基函数
(319)
式(319)中规定该递推公式表明欲确定第ik次B样条基函数需k+2结点称区间支持区间B样条曲线方程中n+1控制点n+1k次B样条基函数支持区间集定义组B样条基函数结点量[02]分段函数相遇点称连结点(joints)发生相遇时t值称结点(knot)
[01]
(1) 次B样条基函数
次B样条基函数两零次基函数递推两零次基函
数凸线性组合公式
(320)
中
式(320)分段函数表示
(321)
(2) 二次B样条基函数
二次B样条基函数相邻两次B样条基函数凸线性组合
(322)
类似递推出三次更高次B样条基函数
通递推定义出B样条曲线基函数特点:
l B样条曲线基函数次数控制点数关
l B样条曲线基函数具局部支承性支承区间非零
322 B样条曲线分类
B样条曲线结点量中结点分布情况分均匀B样条曲线开放均匀B样条曲线非均匀B样条曲线3类
(1) 均匀周期性B样条曲线
结点参数轴均匀等距分布=常数时表示该B样条曲线均匀B样条曲线例
结点量取T(2151050051152)T(01234567)等4段二次均匀B样条曲线基函数图示
[02]
t
2
1
4
3
5
1
图311 四段三次均匀B样条基函数
图出均匀B样条基函数呈周期性基函数定义域结点区间具相形状
(323)
定义结点区间整体参数t表示B样条基函数换成局部坐标参数表示参数变换公式
(324)
(325)
样变换区间B样条基函数具相数学表达式
① 二次均匀B样条曲线分段表达式
(326)
中t 参数应控制顶点基函数
(327)
表示矩阵形式:
(328)
中 i 012…nnk段分段曲线式中分段曲线特征边形顶点中连续3顶点二次均匀B样条曲线图示
P3
P0
P2
P1
P1P2P3
P4
i0
P02(t)
i1
P12(t)
图312 二次均匀B样条曲线
[02]
曲线起点终点值
(329)
均匀二次B样条曲线起点终点处导数
(330)
意数目控制点构造二次周期性B样条曲线说曲线起始点位头两控制点间终止点位两控制点间高次项式起点终点k1控制点加权均值点某控制点出现次样条曲线会更加接该点分段二次B样条曲线条抛物线n顶点定义二次B样条曲线实质n2段抛物线(相邻三点定义)连接接点处达阶连续
② 三次均匀B样条曲线
分段三次均匀B样条曲线相邻4顶点定义表达式
(331)
见n顶点定义完整三次均匀B样条曲线n3段分段曲线连接成容易证明三次云均B样条曲线连接处达二次连续三次均匀B样条曲线基函数
(332)
三次均匀B样条曲线表示矩阵形式
(333)
4控制点三次均匀B样条边界条件
(334)
三次均匀B样条曲线图示
[03]
图313 三次B样条曲线
见三次均匀B样条曲线处开始处阶数曲线段两端点处导数行相邻控制点连线
(2) 非均匀B样条曲线:结点量中重结点
然均匀B样条曲线满意效果算法效率高存足贴切反映控制顶点分布特征型值点分布均匀时难获理想插值曲线等非均匀B样条曲线克服述足结点分布均匀基函数具移性基函数相生成曲线时基函数单独计算计算量均匀B样条曲线
(3) 开放B样条曲线:标准结点量
均匀B样条曲线首末端点控制顶点首末点重合均匀B样条次数高二次时端点处控制边形相切开放均匀B样条保留Bezier曲线端点性质更控制曲线端点
开放均匀B样条均匀B样条结点量差两端结点n次开放均匀B样条结点量中两端结点具重复度n+1结点均匀分布两端n1结点区间外n次开放均匀B样条均匀B样条基函数具相图形
开放均匀B样条曲线开放B样条曲线特殊形式计算处理均匀B样条复杂[01][02]
323 B样条曲线性质
总结B样条曲线生成曲线性质Bezier曲线具备许期性质B样条曲线具备
l 局部支柱性
B样条基函数分段函数重特征参数变化范围基函数子区间函数值零余区间均零通常该特征称局部支柱性k次B样条曲线参数段k+1控制点关控制点关图示
[02]
图314 B样条局部支柱性
P
0
P
1
P
2
P
3
P″4
P
5
P
6
P
7
P
4
P′4
l B样条凸组合性质
(335)
B样条凸组合性B样条基函数数值均等0保证B样条曲线凸包性B样条曲线必处控制边形形成凸包B样条曲线凸包区域组控制顶点定义Bezier曲线凸包B样条曲线更加逼特征边形
l 连续性
结点量中结点均相m次B样条曲线结点处m1阶连续
B样条曲线基函数次数控制顶点数关
重结点问题 连接点重复度rk次B样条曲线结点处kr次连续
l 导数曲线
B样条曲线基函数微分公式
(336)
出B样条曲线导数曲线方程
(337)
B样条曲线导数曲线条k1次B样条曲线
l 变性
l 波动减性[02]
重控制点
通点防止控制点改变B样条曲线形状时产生重控制点该点曲线更强烈吸引[01]
324 理样条NURBS曲线
B样条曲线表示设计型曲线曲面形状时显式强威力然表示设计二次曲面构成初等曲面时遇困难B样条曲线包括特例Bezier曲线精确表示抛物线抛物面外二次曲线曲面出似表示必表示方法进行推广理形式B样条曲线然推广推广形式保留原形式许特点二次曲面旋转面等包含中
(1) 理B样条曲线
理B样条曲线B样条曲线推广称式()示曲线控制边形
权m次理B样条曲线
(338)
中应权子特定控制点权子越曲线越该控制点首末权子余P(t)分母0式(338)中m次B样条曲线基函数B样条曲线分段项式加权理B样条曲线分段理项式具B样条曲线相凸包性变性保凸性变差缩减性局部调整性造型灵活性等性质B样条曲线理B样条曲线特例权全相等理B样条曲线理B样条曲线表示圆椭圆等曲线表示更复杂曲线
(2) 非均匀理B样条曲线
理B样条曲线中应广泛非均匀理B样条曲线(Nonuniform Rational BSpline
NURBS)结点量结点数n+m+1(n控制项点数mB样条基函数次数)非周期NURBS曲线常取两端结点重复度i
(339)
二次NURBS曲线表示二次曲线例进行说明:定义二次开放均匀B样条取三
控制顶点均匀结点量T(000111)取权函数
(340)
理B样条表达式
(341)
NURBS曲线理基函数形式表示:
(342)
中称理基函数具m阶B样条基函数类似性质:
l 普遍性
l 局部支承性
l 权性
l 微性
(3) NURBS曲线优点
l 标准解析形状(前面提初等曲线曲面)型曲线曲面精确表示设计提供公数学形式
l 修改控制顶点权子种形状设计提供充分灵活性
l 具明显解释强力配套技术(包括结点插入细分升阶等)
l 变换投影变换具变性
l 非理B样条理非理Bezier方法特例
(4) NURBS曲线性质
NURBS曲线B样条曲线具类似性质局部性质变差减性质凸包性
仿射投射变化变性曲线定义域理基函数样微性等[02][01]
33 Bezier曲线B样条曲线较相互转换
331 Bezier曲线B样条曲线较
Bezier曲线次数控制点数减调函数均零作局部修改然通点集中插入点满足段Bezier曲线光滑连接条件种方法显然方便
n顶点确定n1次B样条曲线通彼衔接构成特征边形生成条B样条曲线条B样条曲线间动保持光滑连接控制点序列中添加点会生成段B样条曲线原曲线保持连续B样条曲线具局部支柱性参数变化范围基函数子区间函数值零余区间均零
332 Bezier曲线B样条曲线相互转换
段曲线言n次Bezier曲线n次B样条曲线知道段曲线作Bezier控制顶点时求出作B样条曲线控制顶点反然
设段曲线作三次Bezier曲线控制顶点作B样条曲线控制顶点
三次Bezier曲线矩阵形式:
(343)
简写
(344)
三次B样条曲线矩阵形式:
(345)
简写:
(346)
二者表示条曲线
(347)
面关系
(348)
(349)
34 曲线曲面基础
曲线系列曲线段Hermite曲线段Bezier曲线段B样条曲线段连接成类似空间曲面系列曲面片拼合成说曲面片曲面基单元曲面片需采取双参数函数表示
(350)
三次参数方程表示曲面片
(351)
样曲面片称双三次曲面片参数u固定时参数v01变化会组互相交曲线理参数v固定二参数u01变化会组互相交曲线两组曲线相交构成空间网格交点构成曲面片[03]
图315 双三次Bezier曲面控制网格
P
00
P
30
P
03
P
33
P
10
P
20
P
01
P
02
P
11
P
21
P
31
P
12
P
22
P
32
P
13
P
23
[02]
第4章 结
Bezier曲线简洁性先定义Bezier曲线类曲线迭代de Casteljau插程根生成程够类曲线许直观性质类曲线具种希性质形状预测指导设计者安排控制点位置
许设计环境Bezier曲线基础Bernstein项式整参数区间支持类曲线允许局部控制外素复杂性项式阶数着控制点数增加增加特性法想形状曲线计算代价太高稳定性太低介绍更广泛类基样条混合函数分段项式组合处阶导数连续作类特殊基函数B样条够生成样条样条中范围集中够设计者提供强局部控制力B样条具备Bezier函数具期属性B样条项式阶数增加控制点数时时B样条基函数变成Bernstein项式
NURBS曲线够更精细控制曲线形状类曲线BezierB样条曲线复杂B样条类曲线特例类曲线够精确表示圆锥曲线支持NURBS算法CAGD环境设计者提供创建类形状曲线统工具
样条曲线具限生命力通寻找更参数条件研究参数曲线具体影响作调整改变找更具调性曲线类曲线推广三边曲面等
致 谢
文尊敬导师老师悉心指导完成写毕业文期间导师言传身教受益匪浅蔼态度严谨学风兢兢业业丝苟工作作风创新重视精神受益终身张老师直予悉心指导帮助文中知识点较全面理解掌握文完成际特导师表示衷心感谢
学四年学生活中数计系位老师学生活提供许帮助便利条件表示衷心感谢
感谢窗友感谢生活学关心指导帮助
衷心感谢家年关心支持顾全身心投入学中时完成学业
次关心支持帮助表示衷心感谢
参考文献
[1](美)希尔(HILLFS)著计算机图形学——OpenGL实现(第2版) [M]罗霄等译北京清华
学出版社2006601675
[2]张曦煌杜俊俐计算机图形学[M]北京北京邮电学出版社2006:146175
[3]徐文鹏计算机图形学[M]北京机械工业出版社2009:5884
[4]高晶Bezier曲线算法研究[N]辽宁师专学报200806(第2期第10卷)
[5]孔令德计算机图形学实践教程Visual C++版[M]北京清华学出版社2008:
164171184192
[6] Evgeny Demidov交互式样条简介[EBOL]
httpwwwibiblioorgenotesSplinesIntrohtm20040212
[7]宋丽CB样条曲线曲面理造型中应[D]西安:西安理工学2008
[8](美)安杰尔(Angel E)著OpenGL程序设计指南第2版[M]OpenGLA Primer
Second Edition[M]李桂琼张文祥译北京清华学出版社2005148159
[9]孙立镌计算机图形学哈尔滨哈尔滨工业学出版社[M]2000:123168
[10]孙家广等编著计算机图形学(第三版) [M]北京清华学出版社1998:286357
[11](美) 彼•舍利(Peter Shirley)著计算机图形学(第2版)[M]高春晓赵清杰张文耀译
北京民邮电出版社2007205234
[12]援军计算机图形学[M]北京机械工业出版社2006208228
[13]李伟波发智编赵卿松蔡波副编武汉武汉学出版社2007231251
[14]潘云鹤董金祥陈德编著计算机图形学原理方法应(修订版)北京高等教育出版
社2003188220
[15]陈元琰等编著计算机图形学实技术(第2版)[EBOL]
httpwwwtupcomcnbookShowbookaspCPBH02243201&DJ3020090526
[16]杨钦计算机图形学[EBOL]
httpwwwtupcomcnbookShowbookaspCPBH00963601&DJ2220090106.
[17]陆润民计算机图形学教程[EBOL]
httpwwwtupcomcnbookShowbookaspCPBH00624201&DJ1920060406
[18]孙家广胡事民计算机图形学基础教程(第2版)[EBOL]
httpwwwtupcomcnbookShowbookaspCPBH03374001&DJ2320091014
附 件
1 Bezier曲线算法流程图:
2 三次Bezier曲线绘制
四控制点生成三次Bezier曲线示例代码(Point类定义)
绘制p0p1p2p3确定Bezier曲线
参数区间[01]离散count份
Void BezierCurve(Point p0Point p1Point p2Point p3int count)
{
double t 00
dt 10 count
moveto(p1xp2x) 设置起点
for(int i0 i
t+dt
double F1F2F3F4 调函数
double u 10 – t
F1 u * u * u
F2 3 * t * u * u
F3 3 * t * t * u
F4 t * t * t
x p0x * F1 + p1x * F2 + p2x * F3 + p3x * F4
y p0y * F1 + p1y * F2 + p2y * F3 + p3y * F4
lineto(xy)
}
}[03]
3 三次均匀B样条曲线算法流程图:
4 三次均匀B样条曲线绘制
四控制点绘制生成段B样条曲线函数代码(Point类定义)
绘制p0p1p2p3确定B样条曲线段
参数区间[01]离散count份
Void B_SpLine(Point p0Point p1Point p2Point p3int count)
{
double t 00
dt 10 count
moveto(p1xp2x) 设置起点
for(int i0 i
t+dt
double F1F2F3F4 调函数
double u 10 – t
F1 t * t * t + 3 * t * t – 3 * t + 1
F2 3 * t * t * t – 6 * t * t + 4
F3 3 * t * t * t + 3 * t * t + 3 * t + 1
F4 t * t * t
x p0x * F1 + p1x * F2 + p2x * F3 + p3x * F4
y p0y * F1 + p1y * F2 + p2y * F3 + p3y * F4
x60
y60
lineto(xy)
}
}[03]
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档