Plotting Bezier curve by having tangent
1 次查看(过去 30 天)
显示 更早的评论
My problem: I have coordinate and tangent of first point and the end point of Bezier curve and I should draw Bezier Curve in MATLAB. What I did is extracting two control points from the below formulae: First point= p0; end point=p1; two control point=c0 & c1
B(t)=(1-t)^3*p0+3*(t)*(1-t)^2*c0+3*(1-t)*(t)^2*c1+t^3*p1
C0=(B’(0)+3*p0)/3 C1=(-B’(1)+3p1)/3 Then when I plot it, it would be like a straight line (because c0 and c1 will be so closed to the first and end point. Also following is my Matlab code: p0=[0;0;0]; diff_b1=[1;0;1] diff_b0=[0;0;1] p1=[10;0;20]
c0=(diff_b0+(3*p0))/3 c1=(-diff_b1+(3*p1))/3
counter=0; for t=0:0.05:1 counter=counter+1; b(counter,:)=[(1-t)^3*p0+3*(t)*(1-t)^2*c0+3*(1-t)*(t)^2*c1+t^3*p1]'; end plot3(b(:,1),b(:,2),b(:,3))
0 个评论
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Linear and Nonlinear Regression 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!