贝塞尔曲线(B′ezier)基础

本文深入讲解了贝塞尔曲线的基本概念及其在计算机图形学中的应用。包括低阶贝塞尔曲线(线性、二次、三次)的定义及公式表示,一般贝塞尔曲线的数学描述,以及贝塞尔曲线多项式的特性。此外,还探讨了贝塞尔曲线的性质,如端点插值性质、端点切线定理、凸包性质等,并介绍了de Casteljau算法及其在曲线分支中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

贝塞尔曲线是计算机图形学和计算机辅助设计中最重要的曲线之一。

在机器人(特别是移动机器人)轨迹规划中,经常用到贝塞尔曲线。

贝塞尔曲线是一种特殊的多项式曲线,n 阶贝塞尔曲线由 n+1 个控制点来确定。

1、低阶贝塞尔曲线

线性贝塞尔曲线

控制点为b0(p0,q0)b1(p1,q1),其多项式表示为:

(x(t),y(t))=(1t)(p0,q0)+t(p1,q1),fort[0,1]

用向量形式表示为:

B(t)=(1t)b0+tb1

二次贝塞尔曲线

控制点为b0(p0,q0)b1(p1,q1)b2(p2,q2),其多项式表示为:

B(t)=(1t)2(p0,q0)+2(1t)t(p1,q1)+t2(p2,q2),fort[0,1]

三个控制点组成的图形角控制三角形。

三次贝塞尔曲线

四个控制点为:b0b1,b2,b3,三次贝塞尔曲线定义为:

B(t)=(1t)3b0+3(1t)2tb1+3(1t)tb2+t3b3,fort[0,1]

三次贝塞尔曲线所能表示的形状远远多于二次贝塞尔曲线,它可以表示环、尖角和拐点。

B(0)=3(b1b0), B(1)=3(b3b2)

表示初始点的切向量和最初两个控制点的连线平行,终点的切向量和最后两个控制点的连线平行。

2、一般贝塞尔曲线

给定 n+1 个控制点 b0,b1,,bn, 则 n 阶贝塞尔曲线定义为:

B(t)=i=0nbiBi,n(t)

其中:

Bi,n(t)={n!(ni)!i!(1t)niti,0,if   0inotherwise

称作n 阶贝塞尔曲多项式或控制函数。

二项式展开定理:

x+yn=i=0nCinxniyi

其每一项的系数和贝塞尔曲线的系数形同。

3、贝塞尔曲多项式的性质:

  • 统一性

各项系数之和为1

  • 非负性

各项系数均大于0

  • 对称性

第i项系数和倒数第i项系数相同

  • 递归性

递归性指其系数满足下式:

Bi,n(t)=(1t)Bi,n1(t)+tBi1,n1(t),i=1,,n,B1,n1(t)=Bn,n1(t)=0

4、贝塞尔曲曲线的性质:

凸包(Convex Hulls):

在一个实数向量空间V中,对于给定的集合X,所有包含X的凸集(Convex)的交集S被称为X凸包

S:=XKVK,k

X的凸集(Convex)可以用X内所有点 (x1,,xn)的线性组合来构造。

S:=[j=1ntjxj|xjX,j=1ntj=1,tj[0,1]]

在二维欧几里得空间中,凸包可想象为一条刚好包着所有点的橡皮圈。

性质1:

n阶贝塞尔曲线 B(t) ,控制点为 b0,,bn, 满足如下性质:

  • 端点插值性质:

    B(0)=boB(1)=bn
  • 端点切线定理:

    B(0)=n(b1b0),B(1)=n(bnbn1)
  • 凸包性质

    B(t)S{bo,,bn},t[0,1]

    即:贝塞尔曲线上的点在其控制点定义的凸包内
  • 仿射变换不变性

    T(i=0nbiBi,n(t))=i=0nT(bi)Bi,n(t),T仿
  • 变差缩减性质

    对平面贝塞尔曲线 B(t) 和给定的直线,贝塞尔曲线与直线的交点个数不大于其控制多边形和直线的交点的个数。

5、The de Casteljau Algorithm

贝塞尔曲线 n+1 个控制点 b0,b1,,bnt[0,1],那么:

{B(t)=bn0bji=bj1i(1t)+bj1i+1tb0i=bii=0,,nj,j=1,,n

6、贝塞尔曲线分支

对于贝塞尔曲线 B(t)=ni=0biBi,n(t), 其在时刻 t 被分成两部分:

Bleft:bo0,b10,,bn10,bn0Bright:bn0,,n1n1,b0n,

其中,bji 仍然由 de Casteljau Algorithm 计算出。

参考:

 [1]:https://en.wikipedia.org/wiki/Convex_hull
 [2]:Duncan M. Applied Geometry for Computer Graphics and CAD. Springer, 2005.
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值