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!