https://blog.youkuaiyun.com/cdnight/article/details/48468653 链接介绍
https://en.wikipedia.org/wiki/B%C3%A9zier_curve 公式表达
以下是直接通过表达式,在matlab中运行的Bezier曲线,其中,Inverse开头的曲线,是以P(1)点平行于x轴的对称曲线。
P=[1,1.1,0.9,1.05];
t0=[0.5,1,3,5];
%控制点共线
%P=1:10;
%t0=0.5:0.1:1.4;
B1=P(1).*(1-t)+P(2).*t;
Inverse_B1=P(1).*(1-t)+(2*P(1)-P(2)).*t;
t1=t0(1).*(1-t)+t0(2).*t;
B2=P(1)*(1-t).^2+2*P(2)*(1-t).*t+P(3)*t.^2;
InverseB2=P(1)*(1-t).^2+2*(2*P(1)-P(2))*(1-t).*t+(2*P(1)-P(3))*t.^2;
t2=t0(1)*(1-t).^2+2*t0(2)*(1-t).*t+t0(3)*t.^2;
InverseB3=P(1)*(1-t).^3+3*(2*P(1)-P(2))*(1-t).^2.*t+3*(2*P(1)-P(3))*(1-t).*t.^2+(2*P(1)-P(4))*t.^3;
t3=t0(1)*(1-t).^3+3*t0(2)*(1-t).^2.*t+3*t0(3)*(1-t).*t.^2+t0(4)*t.^3;
%plot(t,B1);
hold on;
plot(t0(:,1:4),P(:,1:4),'*');
hold on;
plot(t1,InverseB1,t2,InverseB2,t3,InverseB3);
其中,B1对应了表达式
B2对应表达式
B3对应表达式
关于对称的问题,控制点、终点关于P1点对称,起点不变
Bezier曲线整体表达式