Impact-Site-Verification: dbe48ff9-4514-40fe-8cc0-70131430799e

Search This Blog

How to generate a torus in MATLAB ?

In geometry, a torus (plural tori) is a surface of revolution generated by revolving a circle in three-dimensional space about an axis coplanar with the circle. If the axis of revolution does not touch the circle, the surface has a ring shape and is called a torus of revolution.

MATLAB Program:

function  [xx,yy,zz] = torus(r,n,a)


%TORUS Generate a torus

%      torus(r,n,a) generates a plot of a torus with central

%      radius  a  and lateral radius  r.  n  controls the number

%      of facets on the surface.  These input variables are optional

%      with defaults  r = 0.5, n = 20, a = 1.

%

%      [x,y,z] = torus(r,n,a) generates three (n+1)-by-(2n+1)

%      matrices so that surf(x,y,z) will produce the torus.



if nargin < 3, a = 1; end

if nargin < 2, n = 20; end

if nargin < 1, r = 0.5; end

theta = pi*(0:2*n)/n;

phi   = 2*pi*(0:n)'/n;

x = (a + r*cos(phi))*cos(theta);

y = (a + r*cos(phi))*sin(theta);

z = r*sin(phi)*ones(size(theta));

if nargout == 0

   surf(x,y,z)

   ar = (a + r)/sqrt(2);

   axis([-ar,ar,-ar,ar,-ar,ar])

else

   xx = x; yy = y; zz = z;

end


Output:








No comments

Popular Posts