MATLAB Answers

## Plotting Bezier curve by having tangent

Asked by Mahsa

### Mahsa (view profile)

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))

## Products

No products are associated with this question.

## 0 Answers

#### Join the 15-year community celebration.

Play games and win prizes!

Learn more

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

### Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

### MATLAB Academy

New to MATLAB?

Learn MATLAB today!