Using a vector to plot a cylinder
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/231468/image.jpeg)
2 commentaires
Javier Coves Toral
le 27 Mar 2021
Modifié(e) : darova
le 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));
Réponses (1)
Hari Krishna Ravuri
le 31 Juil 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 commentaires
Voir également
Catégories
En savoir plus sur Surface and Mesh Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!