贝塞尔曲线

空间贝塞尔曲线(Spatial B′ ezier Curves)

当贝塞尔曲线的控制点为三维坐标时,即可得到空间贝塞尔曲线。

空间空间贝塞尔曲线任然满足性质:

  • 端点插值性质:
  • 端点切线定理:
  • 凸包性质
  • 仿射变换不变性
  • 变差缩减性质

微分

1、n 阶贝塞尔曲线的控制函数 Bi,n(t)B_{i,n}(t) 的一阶和二阶微分满足:


B′i,n(t)=(i−nt)t(1−t)Bi,n(t)

B'_{i,n}(t) = \frac {(i-nt)}{t(1-t)}B_{i,n}(t)

B′′i,n(t)=(i(i−1)−2i(n−1)t+n(n−1)t2t2(1−t)2)Bi,n(t)

B''_{i,n}(t) = ( \frac {i(i-1)-2i(n-1)t + n(n-1)t^2} {t^2(1-t)^2} )B_{i,n}(t)

B′i,n(t)=n(Bi−1,n−1(t)−Bi,n−1(t))

B'_{i,n}(t) = n(B_{i-1,n-1}(t) - B{i,n-1}(t) )


2、n 阶贝塞尔曲线的的一阶微分是:

B′(t)=∑i=0n−1b(1)iBi,n−1(t)

B'(t) = \sum _{i=0} ^{n-1} b_i^{(1)} B_{i,n-1}(t)

其中:b(1)i=n(bi+1−bi)b_i^{(1)} = n(b_{i+1} -b_i )

3、n 阶贝塞尔曲线的的rr阶微分是:

B(r)(t)=∑i=0n−rb(r)iBi,n−r(t)

B^{(r)}(t) = \sum _{i=0} ^{n-r} b_i^{(r)} B_{i,n-r}(t)

其中:b(r)i=(n−r+1)∑rj=1(−1)r−jrjbi+jb_i^{(r)} = (n-r+1) \sum _{j=1}^r (-1)^{r-j} \begin{matrix} r \\j \end{matrix} b_{i+j}

表达式之间的转换

任意多项式曲线都可以表示成贝塞尔曲线的形式

多项式表达:

a0+a1t+⋯+antn

a_0 + a_1 t + \cdots + a_n t^n

贝塞尔曲线的形式:

∑i=0nbin!(n−i)!i!(1−t)n−iti=p0+p1t+⋯+pntn

\sum ^n _{i=0} b_i \frac {n!}{(n-i)!i!} (1-t)^{n-i} t^i = p_0 + p_1 t + \cdots + p_n t^n

两式相等,即可解出多项式对应的贝塞尔曲线的控制点的坐标。

分段贝塞尔曲线

任意间隔贝塞尔曲线

控制点为 bo,⋯,bnb_o,\cdots,b_n 的任意时间间隔 [tmin,tmax][t_{min},t_{max}] 的贝塞尔曲线定义为:

B(t)=∑i=0nbiBi,n(t−tmintmax−tmin)

B(t) = \sum _{i=0} ^n b_i B_{i,n} (\frac {t-t_{min}}{t_{max}-t_{min}})

其中:
Bi,n B_{i,n} 为n阶贝塞尔曲线的基本控制函数
B(t)=∑ni=0biBi,nt∈[0,1] B(t) = \sum _{i=0} ^n b_i B_{i,n} t \in [0,1] 称为贝塞尔曲线的标准形式

分段贝塞尔曲线

令 I=[a,b] I = [a,b] P(t) P(t) 为分段贝塞尔曲线

\Longleftrightarrow
如果存在 t0<t1<⋯<tr−1<tr t_0 满足 a=t0,b=tr a=t_0, \quad b=t_r ;任意间隔贝塞尔曲线 Bj(t)t∈[tj,tj+1](j=0,1,⋯,r−1) B_j(t) t \in [t_j,t_{j+1}] \quad ( j=0,1,\cdots,r-1 ) 满足

(1) P(t)=Bj(t),t∈(tj,tj+1) P(t) = B_j(t), t \in (t_j,t_{j+1}) ,

(2) P(tj)=Bj−1(tj)或/和P(tj)=Bj(tj)(j=0,1,⋯,r−1) P(t_ j) = B_{j-1}(t_j) 或/和 P(t_j) = B_{j}(t_j) \quad ( j=0,1,\cdots,r-1 ) ,

(3) P(t0)=B0(t0)且P(tr)=Br−1(tr) P(t_0) = B_0(t_0) 且 P(t_r) = B_{r-1}(t_r) 。

tj t_j 称为断点。若 Bj(t)B_j(t)的最高阶数为n,则称分段贝塞尔曲线的阶数为n。

若分段贝塞尔曲线的两段在连接处的k阶导数连续,称其为几何连续。

有理贝塞尔曲线(Rational B´ezier Curves)

控制点为 bo,⋯,bnb_o,\cdots,b_n 的n阶有理贝塞尔曲线定义为:

B(t)=∑ni=0ωibiBi,n(t)∑ni=0ωiBi,n(t),t∈[0.1]

B(t) = \frac { \sum ^n_{i=0} \omega_i b_i B_{i,n}(t)} { \sum ^n_{i=0} \omega_i B_{i,n}(t)}, \quad t\in [0.1]

ωi\omega_i 不全为零,若 ωi=0\omega_i =0 ,可直接约去,

贝塞尔曲线(Bezier Curves)相关推荐

  1. 计算机图形学十:几何2—贝塞尔曲线(Bézier Curves)与贝塞尔曲面(Bézier Surfaces)

    贝塞尔曲线与贝塞尔曲面 1 贝塞尔曲线(Bézier Curves) 2 贝塞尔曲面(Bézier Surfaces) Reference (本篇文章同步发表于知乎专栏:https://zhuanla ...

  2. 史上最全的贝塞尔曲线(Bezier)全解(一):初识贝塞尔曲线

      作为一个有只志向的码农,除了知道一些基本的知识够自己努力搬砖以外,还应该get一些更炫酷的技能,用更优雅的姿势进行搬砖;想要实现一些十分炫酷的效果,贝塞尔曲线就必须进行一些研究了; 最近一段时间, ...

  3. html贝塞尔曲线爱心,史上最全的贝塞尔曲线(Bezier)全解(三):贝塞尔曲线实现满屏爱心...

    这一篇文章会完整的介绍如何通过贝塞尔曲线实现爱心点赞的效果,如果实在看不懂,可以看第一篇贝塞尔曲线的简介,还有第二篇安卓中的简单使用; 好了,终于到了放大招的时候了,真实憋了很久了 这里写图片描述 先 ...

  4. 贝塞尔曲线 弯曲动画ios_用贝塞尔曲线弯曲

    贝塞尔曲线 弯曲动画ios by Nash Vail 由Nash Vail 用贝塞尔曲线弯曲 (Nerding Out With Bezier Curves) Since the past few d ...

  5. html贝塞尔曲线在线,贝塞尔曲线的一些事情_html/css_WEB-ITnose

    贝塞尔曲线(Bezier curves)是曲率的一种典型代表,而且在很多应用中都会运用到,比如计算机的图形学中.字体和动画.如果你以前玩过CSS,那么你可能就运到过贝塞尔曲线.例如,在CSS的时间函数 ...

  6. 计算机图形学作业( 七):利用 OpenGL 绘制 Bezier 贝塞尔曲线

    计算机图形学作业( 七):利用 OpenGL 绘制 Bezier 贝塞尔曲线 Bezier 曲线原理 OpenGL 实现思路 捕获鼠标点击时的坐标 根据顶点画出连续的线段 根据顶点画出 Bezier ...

  7. 贝塞尔曲线(Bezier Curve)原理及公式推导

    1. 定义 贝塞尔曲线(Bezier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线.一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点, ...

  8. 贝塞尔曲线(Bezier Curve)原理、公式推导及matlab代码实现

    1. 定义 贝塞尔曲线(Bezier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线.一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点, ...

  9. 【转】贝塞尔曲线介绍

    原文链接: http://blog.csdn.net/sangxiaonian/article/details/51984013 http://blog.csdn.net/sangxiaonian/a ...

最新文章

  1. switch能使用的数据类型有6种
  2. Ubuntu MySQL
  3. python avg函数_学习python第三天之多行函数
  4. SAP RETAIL 为物料组指派Merchandise Hierarchy Level Code
  5. jlink、DAPLink、J-Link  OB资料整理
  6. 编译原理三大经典书籍(龙书 虎书 鲸书)
  7. NYOJ 595 乱七八糟
  8. Way to configure the logon navigaion layouts via Business Roles in CRM
  9. 5.3.1计算机网络传输层之TCP可靠传输
  10. redis特点单进程单线程高性能服务器,Redis为什么是单线程?Redis又为什么这么快!...
  11. ASP.NET Core on K8S深入学习(3)Deployment
  12. java编写记事本程序出现图形,高手帮忙啊,老师布置了一个作业,要用java编写一个记事本程序...
  13. 怎么把线稿提取出来_PS教程:提取线稿如此简单?三种方法总有一种适合你
  14. TSP-遗传算法求解
  15. ArcGIS动态表格扩展模块Mapping and Charting Solutions使用教程及下载地址
  16. shell 发送短信
  17. 微信小程序解密encryptedData 报错:pad block corrupted 解决方法
  18. SPSS处理单元素,多元素logistic,详细流程和操作截图
  19. NeHe OpenGL教程 第七课:光照和键盘 代码
  20. Smiditor实现图片上传功能

热门文章

  1. JRE System Library、Referenced Libraries、Web App Libraries的含义
  2. jQuery笔记之工具方法extend插件扩展
  3. Vuejs报错error: Unexpected console statement (no-console) at src\... 解决办法
  4. Css中路径data用法
  5. 基于Mybatis,处理多表联合获取
  6. Java 多线程使用
  7. iOS开发中didSelectRowAtIndexPath tap事件响应延迟
  8. [转] Firefox 24.0中的插件激活提示
  9. poj 1338 优先队列
  10. 程序员必备的代码审查(Code Review)清单