Revolving a 2D profile around any axis
15 views (last 30 days)
Show older comments
Hello, I'm trying to rotate a curve around the y - axis. The code is under:
figure
% Define our initial profile
t = 0:.01:1;
x = 2*pi*t + 1;
y = sin(2*pi*t) + 2;
plot(x,y);
figure
% We use the cylinder function to rotate and align
% with the z-axis, to produce a 3D solid
[X,Y,Z] = cylinder(y);
surf(X,Y,Z)
The problem is that the cylinder does not count the x coordinates from the 2D profile and only revolves the curve around the z - axis. Can anyone help?
0 Comments
Answers (1)
Devineni Aslesha
on 26 Mar 2020
The rotate function allows you to rotate a curve around any axis. To rotate the curve along y-axis, use the below code.
h = surf(X,Y,Z);
for i = 1:360
rotate(h,[0 1 0], i);
drawnow;
end
For more information, refer the following link.
1 Comment
Ayan
on 26 Jun 2024
Hello,
If you have this plot:
t = 0:.01:1;
x = 2*pi*t + 1;
y = sin(2*pi*t) + 2;
plot(x,y);
figure
and want to get a surface plot from an x-y plot, how would I approach this? Essentially if the x axis is goin from 0-1, then revolve the x axis around the y axis and generate a surface plot. How would I go about this?
See Also
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!