How can I generate a 3D torus taking a function as the torus shape?
24 次查看(过去 30 天)
显示 更早的评论
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 个评论
Dyuman Joshi
2023-10-19
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).
回答(1 个)
KSSV
2023-10-17
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 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!