计算机图形学--贝塞尔曲线1

(n+1)个控制点可以定义一条n次贝塞尔曲线

如下图,P1、P2、P3三个点可以定义一条二次贝塞尔曲线。

对于贝塞尔曲线的原理,我们先不去解释,先说明如何应用。

常见的应用是:给出一系列的控制点,要求拟合出一条贝塞尔曲线。

==============================================================================================

先给出公式

一阶贝塞尔曲线(也就是直线)参数方程:

二阶贝塞尔曲线参数方程:

三阶贝塞尔曲线参数方程:

一般参数:

===============================================================================================

算例1:已知四个控制点P0(1,1)、P1(2,5)、P2(5,8)、P3(7,4),构造一条三阶贝塞尔曲线。

将这四个点带入上面的三阶贝塞尔参数方程中:

所以得到:

下面在matlab中执行:

%绘制特征多边形

 x=[1,2,5,7];
 y=[1,5,8,4];
 plot(x,y,'-*');
hold on;

%绘制贝塞尔曲线

t=0:0.001:1;
x=1-3*power(t,3)+6*power(t,2)+3*t;
y=1-6*power(t,3)-3*power(t,2)+12*t;
plot(x,y,'r');

结果如下图:

原文地址:https://www.cnblogs.com/hosseini/p/9904941.html