当前位置:   article > 正文

来自程序猿的爱心表白——贝塞尔曲线讲解及实例_贝塞尔曲线应用案例

贝塞尔曲线应用案例
一、概述

        Berzier curve是应用于二维图形应用程序的数学曲线。曲线定义:起始点、终止点(也称锚点)、控制点。通过调整控制点,贝塞尔曲线的形状会发生变化。1962年,法国数学家Pierre Bezier第一个研究出了这种矢量绘制曲线的方法,并给出了详细的计算公式,因此按照这样的公式绘制出来的曲线就被命名为贝塞尔曲线。

二、拟合原理

①在平面内选3个不在同一条直线的点A、B、C并且依次用线段连接。如下所示:

②在AB和BC上分别确定点D和点E,使得AD/AB = BE/BC成立:

③连接DE,并在DE上找出一点F,使得DF/DE = AD/AB = BE/BC

④、让选取的点D在第一条线段上从起点A,移动到终点B,并始终满足DF/DE=AD/AB=BE/BC成立。找出所有点F,并将它们连起来。会得到一条非常光滑的曲线,即贝塞尔曲线。具体可观看如下的动图加深理解。

三、简单推导(以三阶为例)

        设P0、P02、P2是一条抛物线上三个顺序不同的点。过P0和P2点的两切线交于P1点,在P02点的切线交P0P1和P2P1于P01和P11,则如下比例成立:

这也就是所谓的三切线定理:

当P0,P2固定,引入参数t,令上述比值为 t:(1-t) 则有:
当t从0变化到1时,上面的①和②就表示的是边P0P1和边P1P2,这是两条一次Bezier曲线,将①②代入③,得到:

        上式中的t从0变到1时,表示了由顶点P0、P1、P2三点定义的一条二次Bezier曲线。并且表明:这个二次贝塞尔曲线P02可以定义为分别由前两个顶点(P0,P1)和后两个顶点(P1,P2)决定的一次贝塞尔曲线的线性组合。
        依次类推,由4个控制点定义的三次贝塞尔曲线P03可被定义为分别由(P0,P1,P2)和(P1,P2,P3)确定的二条二次贝塞尔曲线的线性组合,由(n+1)个控制点Pi(i=0,1,…,n)定义的n次Bezier曲线P0n可被定义为分别由前、后n个控制点定义的两条(n-1)次Bezier曲线P0n-1与P1n-1的线性组合:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/812084
推荐阅读
相关标签
  

闽ICP备14008679号