How can I generate a 3D torus taking a function as the torus shape?
22 views (last 30 days)
Show older comments
I'd like to graph a 3d surface with a torus like aspect from this function
This function generates the top half of an ellipse, I thought of an approach of revolving this function around the y-axis and then doing the same process with the same function multiplied by -1, but, I wouldn't know how to plot this inside Matlab.
Thanks.
3 Comments
Dyuman Joshi
on 19 Oct 2023
Please refer to this link - https://en.wikipedia.org/wiki/File:Ring_Torus_to_Degenerate_Torus_(Short).gif
You can see that there are two rings (red color ones) that define a torus.
Generally, the inner ring, the one that revolves around, is a circle. You can use a non-circular ellipse in place of it.
So, you can use the same ellipse for both the rings, but the outcome might not be aesthetic (for the lack of a better word).
Answers (1)
KSSV
on 17 Oct 2023
R1 = 3 ;
R2 = 1 ;
u = linspace(0,2*pi-eps) ;
v = linspace(0,2*pi-eps) ;
[u,v] = meshgrid(u,v) ;
X = (R1+R2*cos(v)).*cos(u) ;
Y = (R1+R2*cos(v)).*sin(u) ;
Z = R2*sin(v) ;
surf(X,Y,Z)
axis equal
0 Comments
See Also
Categories
Find more on Annotations 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!