贝塞尔曲线

http://www.html-js.com/article/1628这篇文章对于贝塞尔曲线的初学者来说非常简单易懂,原理讲解的非常清晰,建议对贝塞尔曲线比较陌生的同学可以看一看。

关于用德卡斯特里奥算法(De Casteljau's algorithm)绘制贝塞尔曲线的具体流程可以参考https://blog.csdn.net/venshine/article/details/51750906

 

需要注意的是n+1个控制点确定的是n次贝塞尔曲线。

给定点P0、P1、…、Pn,其贝塞尔曲线即

mathbf{B}(t)=sum_{i=0}^n {nchoose i}mathbf{P}_i(1-t)^{n-i}t^i =mathbf{P}_0(1-t)^n+{nchoose 1}mathbf{P}_1(1-t)^{n-1}t+cdots+mathbf{P}_nt^n mbox{ , } t in [0,1]

例如 :

mathbf{B}(t)=mathbf{P}_0(1-t)^5+5mathbf{P}_1t(1-t)^4+10mathbf{P}_2t^2(1-t)^3+10mathbf{P}_3t^3(1-t)^2+5mathbf{P}_4t^4(1-t)+mathbf{P}_5t^5 mbox{ , } t in [0,1]

如上公式可如下递归表达: 用 mathbf{B}_{mathbf{P}_0mathbf{P}_1ldotsmathbf{P}_n} 表示由点P0、P1、…、Pn 所决定的贝塞尔曲线。则

mathbf{B}(t) = mathbf{B}_{mathbf{P}_0mathbf{P}_1ldotsmathbf{P}_n}(t) = (1-t)mathbf{B}_{mathbf{P}_0mathbf{P}_1ldotsmathbf{P}_{n-1}}(t) + tmathbf{B}_{mathbf{P}_1mathbf{P}_2ldotsmathbf{P}_n}(t)

用平常话来说, 阶贝塞尔曲线之间的插值。

 

 

一些关于参数曲线的术语,有

mathbf{B}(t) = sum_{i=0}^n mathbf{P}_imathbf{b}_{i,n}(t),quad tin[0,1]

即多项式

mathbf{b}_{i,n}(t) = {nchoose i} t^i (1-t)^{n-i},quad i=0,ldots n

又称作 n 阶的伯恩斯坦基底多项式,定义  00 = 1。

点 Pi 称作贝塞尔曲线的控制点多边形以带有线的贝塞尔点连接而成,起始于P0 并以 Pn 终止,称作贝塞尔多边形(或控制多边形)。贝塞尔多边形的凸包(convex hull)包含有贝塞尔曲线。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值