How can I generate a 3D torus taking a function as the torus shape?
    12 次查看(过去 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!



