Bezier贝塞尔曲线

https://blog.csdn.net/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;


t=0:0.01:1;
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;


B3=P(1)*(1-t).^3+3*P(2)*(1-t).^2.*t+3*P(3)*(1-t).*t.^2+P(4)*t.^3;
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(t1,B1,t2,B2,t3,B3);
%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曲线整体表达式



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值