how to create helix
Afficher commentaires plus anciens
create helix with radius 2 withone revolution in xy plane and one unit in z direction
Réponses (2)
Ameer Hamza
le 12 Oct 2020
Modifié(e) : Ameer Hamza
le 12 Oct 2020
Try this
r = 2;
t = linspace(0, 10*pi, 1000);
x = r*cos(t);
y = r*sin(t);
z = t/(2*pi);
plot3(x, y, z);
grid on

5 commentaires
Adil Asif
le 12 Oct 2020
Ameer Hamza
le 12 Oct 2020
If you want just one revolution then change 't' to
t = linspace(0, 2*pi, 1000);
t control the number of revolutions. 2*k*pi will create k revolutions.
Adil Asif
le 12 Oct 2020
John D'Errico
le 12 Oct 2020
Modifié(e) : John D'Errico
le 12 Oct 2020
What happens after 2*pi radians? (Hint: x,y return to their original position, because sin and cos are periodic with period 2*pi.)
Therefore, at t = 0, we start the curve, where z=0. When do x and y return to the same spot? Again, at t = 2*pi. What is the value of z at that "time"?
z = (2*pi)/(2*pi) = 1
So z increments by EXACTLY one unit in z, every 2*pi units of time.
Ameer Hamza
le 12 Oct 2020
@Adil, as John explained, you will move a unit distance along the z-axis for each 2*pi increment in 't'.
r = 2 ;
c = 10 ;
th = linspace(0,2*pi*c,500) ;
x = r*cos(th) ;
y = r*sin(th) ;
z = c*th ;
plot3(x,y,z)
Catégories
En savoir plus sur Resizing and Reshaping Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!