Using a vector to plot a cylinder
2 views (last 30 days)
Show older comments
Good day,
I am trying to create a cylinder using the 6 data point in the figure provided. The current code is listed below. I am not certain if I am using the correct cylinder syntax. If you could please provided any assistance it would be greatly appreciated. Thank you.
[Z,X,Y] = cylinder(0.0191/2, 100);
rodLen = norm(rodPoints(6,:)-rodPoints(1,:));
surf(X,rodLen*Y,Z,...
'EdgeColor', 'none',...
'FaceColor', [0.7 0.7 0.7],...
'FaceAlpha', 0.2)
2 Comments
Javier Coves Toral
on 27 Mar 2021
Edited: darova
on 28 Mar 2021
Probably I arrive late, but I think I was trying to do something similar to you and I found this question. Finally I managed to do what I was triying so I am leaving my code here in case it is helpful to anyone :)
This creates a cylinder centered at (0,0,0), with its direction being the one of the vector "cyl_vect", with its radious being "R", and with its length being "l".
cyl_vect = [1,3,2];
R = 6378.137;
l = 100000;
[x,y,z] = cylinder(R);
th = atand(cyl_vect(3)/sqrt(cyl_vect(1)^2 + cyl_vect(2)^2));
if cyl_vect(1)>=0
phi = atand(cyl_vect(2)/cyl_vect(1));
else
phi = 180 + atand(cyl_vect(2)/cyl_vect(1));
end
surf(l*z*cosd(th)*cosd(phi)-x*sind(phi)-y*sind(th)*cosd(phi),l*z*cosd(th)*sind(phi)+x*cosd(phi)-y*sind(th)*sind(phi),l*z*sind(th)+y*cosd(th));
Answers (1)
Hari Krishna Ravuri
on 31 Jul 2019
I understand that you are trying to make a surface plot of a cylinder. One of the ways in which you can use cylinder() is
[X,Y,Z] = cylinder(r,n)
This returns x,y,z coordinates of a cylinder based on the parameters. In you script, I observed that, the cylinder’s x,y,z coordinates are being stored in z,x,y . You are trying to modify the y coordinates of the cylinder, which changes the shape of it. Please refer https://www.mathworks.com/help/matlab/ref/cylinder.html
0 Comments
See Also
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!