Plotting Bezier curve by having tangent

1 view (last 30 days)
Mahsa
Mahsa on 27 Sep 2013
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))

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!