贝塞尔曲线(Bezier Curves)
贝塞尔曲线
空间贝塞尔曲线(Spatial B′ ezier Curves)
当贝塞尔曲线的控制点为三维坐标时,即可得到空间贝塞尔曲线。
空间空间贝塞尔曲线任然满足性质:
- 端点插值性质:
- 端点切线定理:
- 凸包性质
- 仿射变换不变性
- 变差缩减性质
微分
1、n 阶贝塞尔曲线的控制函数 Bi,n(t)B_{i,n}(t) 的一阶和二阶微分满足:
B'_{i,n}(t) = \frac {(i-nt)}{t(1-t)}B_{i,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(B_{i-1,n-1}(t) - B{i,n-1}(t) )
2、n 阶贝塞尔曲线的的一阶微分是:
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) = \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}
表达式之间的转换
任意多项式曲线都可以表示成贝塞尔曲线的形式
多项式表达:
a_0 + a_1 t + \cdots + a_n t^n
贝塞尔曲线的形式:
\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) = \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) = \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)相关推荐
- 计算机图形学十:几何2—贝塞尔曲线(Bézier Curves)与贝塞尔曲面(Bézier Surfaces)
贝塞尔曲线与贝塞尔曲面 1 贝塞尔曲线(Bézier Curves) 2 贝塞尔曲面(Bézier Surfaces) Reference (本篇文章同步发表于知乎专栏:https://zhuanla ...
- 史上最全的贝塞尔曲线(Bezier)全解(一):初识贝塞尔曲线
作为一个有只志向的码农,除了知道一些基本的知识够自己努力搬砖以外,还应该get一些更炫酷的技能,用更优雅的姿势进行搬砖;想要实现一些十分炫酷的效果,贝塞尔曲线就必须进行一些研究了; 最近一段时间, ...
- html贝塞尔曲线爱心,史上最全的贝塞尔曲线(Bezier)全解(三):贝塞尔曲线实现满屏爱心...
这一篇文章会完整的介绍如何通过贝塞尔曲线实现爱心点赞的效果,如果实在看不懂,可以看第一篇贝塞尔曲线的简介,还有第二篇安卓中的简单使用; 好了,终于到了放大招的时候了,真实憋了很久了 这里写图片描述 先 ...
- 贝塞尔曲线 弯曲动画ios_用贝塞尔曲线弯曲
贝塞尔曲线 弯曲动画ios by Nash Vail 由Nash Vail 用贝塞尔曲线弯曲 (Nerding Out With Bezier Curves) Since the past few d ...
- html贝塞尔曲线在线,贝塞尔曲线的一些事情_html/css_WEB-ITnose
贝塞尔曲线(Bezier curves)是曲率的一种典型代表,而且在很多应用中都会运用到,比如计算机的图形学中.字体和动画.如果你以前玩过CSS,那么你可能就运到过贝塞尔曲线.例如,在CSS的时间函数 ...
- 计算机图形学作业( 七):利用 OpenGL 绘制 Bezier 贝塞尔曲线
计算机图形学作业( 七):利用 OpenGL 绘制 Bezier 贝塞尔曲线 Bezier 曲线原理 OpenGL 实现思路 捕获鼠标点击时的坐标 根据顶点画出连续的线段 根据顶点画出 Bezier ...
- 贝塞尔曲线(Bezier Curve)原理及公式推导
1. 定义 贝塞尔曲线(Bezier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线.一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点, ...
- 贝塞尔曲线(Bezier Curve)原理、公式推导及matlab代码实现
1. 定义 贝塞尔曲线(Bezier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线.一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点, ...
- 【转】贝塞尔曲线介绍
原文链接: http://blog.csdn.net/sangxiaonian/article/details/51984013 http://blog.csdn.net/sangxiaonian/a ...
最新文章
- switch能使用的数据类型有6种
- Ubuntu MySQL
- python avg函数_学习python第三天之多行函数
- SAP RETAIL 为物料组指派Merchandise Hierarchy Level Code
- jlink、DAPLink、J-Link OB资料整理
- 编译原理三大经典书籍(龙书 虎书 鲸书)
- NYOJ 595 乱七八糟
- Way to configure the logon navigaion layouts via Business Roles in CRM
- 5.3.1计算机网络传输层之TCP可靠传输
- redis特点单进程单线程高性能服务器,Redis为什么是单线程?Redis又为什么这么快!...
- ASP.NET Core on K8S深入学习(3)Deployment
- java编写记事本程序出现图形,高手帮忙啊,老师布置了一个作业,要用java编写一个记事本程序...
- 怎么把线稿提取出来_PS教程:提取线稿如此简单?三种方法总有一种适合你
- TSP-遗传算法求解
- ArcGIS动态表格扩展模块Mapping and Charting Solutions使用教程及下载地址
- shell 发送短信
- 微信小程序解密encryptedData 报错:pad block corrupted 解决方法
- SPSS处理单元素,多元素logistic,详细流程和操作截图
- NeHe OpenGL教程 第七课:光照和键盘 代码
- Smiditor实现图片上传功能
热门文章
- JRE System Library、Referenced Libraries、Web App Libraries的含义
- jQuery笔记之工具方法extend插件扩展
- Vuejs报错error: Unexpected console statement (no-console) at src\... 解决办法
- Css中路径data用法
- 基于Mybatis,处理多表联合获取
- Java 多线程使用
- iOS开发中didSelectRowAtIndexPath tap事件响应延迟
- [转] Firefox 24.0中的插件激活提示
- poj 1338 优先队列
- 程序员必备的代码审查(Code Review)清单