Surfaces from Alfred Grays "Modern Differential Geometr

 
Post new topic   Reply to topic    K3DSurf forum Forum Index -> Mathematical Models Collection
View previous topic :: View next topic  
Author Message
jolkaP



Joined: 17 Oct 2011
Posts: 12
Location: Marseille (France)

PostPosted: Thu Jan 12, 2012 11:57 pm    Post subject: Surfaces from Alfred Grays "Modern Differential Geometr Reply with quote

Hello everybody,

There is a book called "Modern Differential Geometry of Curves and Surfaces with Mathematica" that has a lot of beautiful formulae inside. And the author put them on line, at first in his own website, now they are available on Wolfram (Mathematica's editor). The direct link to the file is http://library.wolfram.com/infocenter/Books/3759/Gray.zip?file_id=4520. Of course, they are in Mathematica syntaxe.

Here I share the isosurfaces from this source with the k3dsurf syntaxe. The morph parameter t in Scherk surfaces was added by myself.

Code:
Name: cossurface
/*(z - a*x*y)^2 - a^2(1 - x^2)(1 - y^2)=0 is the 
nonparametric form of the surface (u,v)->(a*cos(u),a*cos(v),a*cos(u + v)).*/
F(): (z - x*y) ^2-(1 - x^2)*(1 - y^2)
[x]: -1 , 1
[y]: -1 , 1
[z]: -1 , 1
;
Name: crosscap(1,1)
/*(a*x^2 + b*y^2)(x^2 + y^2 +  z^2) - 2*z*(x^2 + y^2) =0 is the nonparametric form of a crosscap*/
F(): (x^2+y^2)*(x^2+y^2+z^2)-2*z*(x^2+y^2)
[x]: -1 , 1
[y]: -1 , 1
[z]: -2 , 2
;
Name: ellipsoid(1,2,3)
/*(x/a)^2 + (y/b)^2 + (z/c)^2 - 1=0 is the nonparametric form of an ellipsoid.*/
F(): (x/1)^2 + (y/2)^2 + (z/3)^2 - 1
[x]: -1 , 1
[y]: -2 , 2
[z]: -3 , 3
;
Name: ellipticparaboloid(1,2,3)
/*(x/a)^2 + (y/b)^2 - c*z=0 is the nonparametric form of an elliptic paraboloid.*/
F(): x^2 + (y/2)^2 - 3*z
[x]: -6 , 6
[y]: -12 , 12
[z]: 0 , 12
;
Name: equihom1
/*xyz-1=0 is the nonparametric
form of the first equiaffinely homogeneous surface.*/
F(): x*y*z-1
[x]: -3 , 3
[y]: -3 , 3
[z]: -3 , 3
;
Name: equihom2
/*This is the nonparametric form of the second equiaffinely homogeneous surface.*/
F(): (x^2 + y^2)*z - 1
[x]: -3 , 3
[y]: -3 , 3
[z]: -3 , 3
;
Name: equihom3
/*This is the nonparametric form of the third equiaffinely homogeneous surface.*/
F(): x^2*(z - y^2)^3 - 1
[x]: -3 , 3
[y]: -2 , 2
[z]: 0 , 4
;
Name: equihom4
/*This is the nonparametric form of the fourth equiaffinely homogeneous surface.*/
F(): x^2*(z - y^2)^3 + 1
[x]: -3 , 3
[y]: -3 , 3
[z]: -5 , 3
;
Name: equihom5
/*This is the nonparametric form of the fifth equiaffinely homogeneous surface.*/
F(): z - x*y - x^3/3
[x]: -3 , 3
[y]: -3 , 3
[z]: -3 , 3
;
Name: equihom6
/*This is the nonparametric form of the sixth equiaffinely homogeneous surface.*/
F(): z - x*y + log(x)
[x]: 0.00001 , 5
[y]: -5 , 5
[z]: -5 , 5
;
Name: goursat(0.5,0.8,-1)
/* x^4 + y^4 + z^4 +a*(x^2 + y^2 + z^2)^2 + b*(x^2 + y^2 + z^2) + c=0.  is the nonparametric form of Goursat's surface*/
F(): x^4 + y^4 + z^4 +0.5*(x^2 + y^2 + z^2)^2 + 0.8*(x^2 + y^2 + z^2) -1
[x]: -1 , 1
[y]: -1 , 1
[z]: -1 , 1
;
Name: hyperbolicparaboloid(1,2,3)
/*(x/a)^2 - (y/b)^2 - c*z=0 is the nonparametric form of a hyperbolic paraboloid.*/
F(): x^ 2-(y/2)^2-3*z
[x]: -3 , 3
[y]: -6 , 6
[z]: -3 , 3
;
Name: hyperboloid(1,2,3)
/*(x/a)^2 + (y/b)^2 - (z/c)^2 - 1=0 is the nonparametric form of a hyperboloid.*/
F(): x^ 2+(y/2)^2-(z/3)^2-1
[x]: -10 , 10
[y]: -10 , 10
[z]: -5 , 5
;
Name: hy2sheet(1,1,1)
/*(x/a)^2 - (y/b)^2 - (z/c)^2 - 1=0 is the nonparametric form of a hyperboloid of two sheets.*/
F(): x^2-y^2-z^2-1
[x]: -sqrt(10) , sqrt(10)
[y]: -3 , 3
[z]: -3 , 3
;
Name: hy2sheet(1,2,3)
/*(x/a)^2 - (y/b)^2 - (z/c)^2 - 1=0 is the nonparametric form of a hyperboloid of two sheets.*/
F(): x^2-(y/2)^2-(z/3)^2-1
[x]: -sqrt(10) , sqrt(10)
[y]: -6 , 6
[z]: -9 , 9
;
Name: kazoola(1,1,1,1)
/*d + c*x^2y^2z^2 - a*(x^2 + y^2 + z^2) - b*(x^4 + y^4 + z^4)=0 is the nonparametric form of a kazoola.*/
F(): 1 + x^2*y^2*z^2 - (x^2 + y^2 + z^2) - (x^4 + y^4 + z^4)
[x]: -sqrt(10) , sqrt(10)
[y]: -6 , 6
[z]: -9 , 9
;
Name: kummer
/*x^4 + y^4 + z^4 - (y^2*z^2 + z^2*x^2 + x^2*y^2) - (x^2 + y^2 + z^2) + 1=0 is the nonparametric form of Kummer's surface..*/
F(): x^4 + y^4 + z^4 - (y^2*z^2 + z^2*x^2 + x^2*y^2) - (x^2 + y^2 + z^2) + 1
[x]: -2 , 2
[y]: -2 , 2
[z]: -2 , 2
;
Name: scherk(1+t)
/*exp(a*z)*cos(a*x) - cos(a*y)==0 is the nonparametric form of Scherk's minimal surface.*/
F(): exp((1+t)*z)*cos((1+t)*x)-cos((1+t)*y)
[x]: -20 , 20
[y]: -20 , 20
[z]: -4 , 4
;
Name: scherk(1,pi-t)
/*exp(a/*tan(x/(a*cos(phi)))*tan(y/(a*sin(phi))) - tanh(z/a)==0 is the 
nonparametric form of a twisted Scherk's minimal surface.*/
F(): tan(x/(cos(pi-t)))*tan(y/(sin(pi-t))) - tanh(z)
[x]: -pi , pi
[y]: -pi , pi
[z]: -pi/2 , pi/2
;
Name: scherk5
/*sinh(x)*sinh(y) - sin(z)=0 is the nonparametric form of a Scherk's fifth minimal surface.*/
F(): sinh(x)*sinh(y) - sin(z)
[x]: -3 , 3
[y]: -3 , 3
[z]: -5*pi/2 , 5*pi/2
;
Name: sinsurface
/*4*x^2*y^2*(a^2 - z^2) - a^2*(x^2 + y^2 - z^2)^2=0 is the nonparametric form of the surface (u,v)->a*sin(u),a*sin(v),a*sin(u + v))*/
F(): 4*x^2*y^2*(1 - z^2) - (x^2 + y^2 - z^2)^2
[x]: -1 , 1
[y]: -1 , 1
[z]: -1 , 1
;
Name: sphere(1)
/*x^2+y^2+z^2-a^2=0 is the nonparametric form of a sphere.*/
F(): x^2+y^2+z^2-1
[x]: -1 , 1
[y]: -1 , 1
[z]: -1 , 1
;
Name: sphere(2,1)
/*x^2n+y^2n+z^2n-a^2n=0 the nonparametric form of
the surface x^(2*n) + y^(2*n) +z^(2*n) = a^(2*n).*/
F(): x^4+y^4+z^4-1
[x]: -1 , 1
[y]: -1 , 1
[z]: -1 , 1
;
Name: torus(8,3)
/*z^2 + (sqrt(x^2 + y^2) - a)^2 - b^2=0 the nonparametric form of a torus.*/
F(): z^2 + (sqrt(x^2 + y^2) - 8)^2 - 3^2
[x]: -11 , 11
[y]: -11 , 11
[z]: -3 , 3
;
Name: twocusps
/*The nonparametric form of a surface with two cusps.*/
F(): (z - 1)^2*(x^2 - z^2) - (x^2 - z)^2 - y^4 - y^2*(2*x^2 + z^2 + 2*z - 1)
[x]: -1 , 1
[y]: -1.2 , 1.2
[z]: -0.5 , 0.9
;


I know some of them are already in the k3dsurf's default examples but there are some others that are not yet in the pre-loaded list of isosurfaces.

To use these examples just save the code in a file with k3ds extension and then load it while working in the isosurfaces environement inside k3dsurf. They will be added to the list of surfaces directly available for this session.
Back to top View user's profile Send private message
jolkaP



Joined: 17 Oct 2011
Posts: 12
Location: Marseille (France)

PostPosted: Fri Jan 13, 2012 12:34 am    Post subject: Parametric morphed surfaces Reply with quote

This source has also an interesting list of morphed parametric surfaces: like a catenoid becoming a plane. Here you are:
Code:
Name:richmondpolar
/*
richmondpolar(n)[t](u,v):=
        {-cos(t + v)/(2*u) -
          u^(2*n + 1)*cos(t - (2*n + 1)*v)/(4*n + 2),
         -sin(t + v)/(2*u) +
          u^(2*n + 1)*sin(t - (2*n + 1)*v)/(4*n + 2),
          u^n*cos(t - n*v)/n}
is the polar parametrization of a 1-parameter family of minimal surfaces such that {r,theta}->richmondpolar[n][0][r,theta] is a minimal surface with one planar end of degree n.*/
X():-cos(t + v)/(2*u) - u^3*cos(t - 3*v)/6
Y():-sin(t + v)/(2*u) + u^3*sin(t - 3*v)/6
Z():u*cos(t - v)
[u]:0.3,1.3
[v]:0,2*pi
Code:
Name:planetocat
/*
{u,v}->planetocat[t](u,v) is a 1-parameter family of minimal surfaces containing a plane and a catenoid. The principal curves of each surface are planar.
*/
X():cos(t)*u + sin(u)*cosh(v)
Y():sin(t)*cos(u)*cosh(v)
Z():v + cos(t)*cos(u)*sinh(v)
[u]:0,2*pi
[v]:-2,2
Code:
Name:hypocycloidinvolutemin
/*
(u,v)->hypocycloidinvolutemin(a,b)[t](u,v)=
        (cos(t)*((a - b)*cos(u)*cosh(v) +
         b*cos((a - b)*u/b)*cosh((a - b)*v/b)) +
         sin(t)*((-a + b)*sin(u)*sinh(v) -
         b*sin((a - b)*u/b)*sinh((a - b)*v/b)),
         cos(t)*((a - b)*cosh(v)*sin(u) -
         b*cosh((a - b)*v/b)*sin((a - b)*u/b)) +
         sin(t)*((a - b)*cos(u)*sinh(v) -
         b*cos(((a - b)*u)/b)*sinh((a - b)*v/b)),
         (-4*(a - b)*b*cos((a*u)/(2*b))*cosh((a*v)/(2*b))*sin(t))/a -
        (4*(a - b)*b*cos(t)*sin((a*u)/(2*b))*sinh((a*v)/(2*b)))/a) is a 1-parameter family of minimal surfaces such that (u,v)->hypocycloidinvolutemin(a,b)[0](u,v) is a minimal surface containing the involute of a hypocycloid as a geodesic.
*/
X():cos(t)*(3*cos(u)*cosh(v) + cos(3*u)*cosh(3*v)) + sin(t)*(-3*sin(u)*sinh(v) - sin(3*u)*sinh(3*v))
Y():cos(t)*(3*cosh(v)*sin(u) - cosh(3*v)*sin(3*u)) + sin(t)*(3*cos(u)*sinh(v) - cos((3*u))*sinh(3*v))
Z():-3*cos(2*u)*cosh(2*v)*sin(t) - 3*cos(t)*sin(2*u)*sinh(2*v)
[u]:-pi,pi
[v]:-1,1
Code:
Name:heltocat
/*
(u,v)->heltocat[t](u,v)=(
         cos(u)*cosh(v)*sin(t) + cos(t)*sin(u)*sinh(v),
         cosh(v)*sin(t)*sin(u) - cos(t)*cos(u)*sinh(v),
         u*cos(t) + v*sin(t))
is a 1-parameter family of minimal surfaces connecting a helicoid to a catenoid.
*/
X():cos(u)*cosh(v)*sin((1-t)*pi/2) + cos((1-t)*pi/2)*sin(u)*sinh(v)
Y():cosh(v)*sin((1-t)*pi/2)*sin(u) - cos((1-t)*pi/2)*cos(u)*sinh(v)
Z():u*cos((1-t)*pi/2) + v*sin((1-t)*pi/2)
[u]:0,4*pi
[v]:-1.5,1.5
Code:
Name:enneperpolar(5)
/*
enneperpolar(n)[t](u_,v_):=
{u*cos(t - v) - u^(2*n + 1)*cos(t - (2*n + 1)*v)/(2*n + 1),
u*sin(t - v) + u^(2*n + 1)*sin(t - (2*n + 1)*v)/(2*n + 1),
2*u^(n + 1)*cos(t - (n + 1)*v)/(n + 1)}
is the polar parametrization of a 1-parameter family of minimal surfaces such that {r,theta}->enneperpolar[n][0][r,theta] is Enneper's minimal surface of degree n.
*/
X():u*cos(t - v) - u^11*cos(t - 11*v)/11
Y():u*sin(t - v) + u^11*sin(t - 11*v)/11
Z():2*u^6*cos(t - 6*v)/6
[u]:0,  1.57
[v]:-pi,  pi
Code:
Name:ennepercatenoidpolar(1,1,1)
/*
ennepercatenoidpolar(n)[t](u,v):=(
(n*(2*n + 1)*u^2*cos(t - v) + n*(2*n + 1)*cos(t + v) - u^(n + 1)*(n*u^(n + 1)*cos(t - v - 2*n*v) + 2*cos(t - n*v) + 4*n*cos(t - n*v)))/(n*(2*n + 1)*u),
(n*(2*n + 1)*u^2*sin(t - v) - n*(2*n + 1)*sin(t + v) + u^(n + 1)*(2*sin(t - n*v) + 4*n*sin(t - n*v) + n*u^(n + 1)*sin(t + v - 2*(n + 1)*v)))/(n*(2*n + 1)*u),
2*(u^(n + 1)*cos(t - (n + 1)*v) + (n + 1)*(cos(t)*log(u) + v*sin(t)))/(n + 1))
ennepercatenoidpolar(n,a,b)[t](u,v):=
((n*(2*n + 1)*u^2*cos(t - v) + a^2*n*(2*n + 1)*cos(t + v) - b*u^(n + 1)*(2*a*cos(t - n*v) + 4*a*n*cos(t - n*v) + b*n*u^(n + 1)*cos(t - (2*n + 1)*v)))/(n*(2*n + 1)*u),
(n*(2*n + 1)*u^2*sin(t - v) - a^2*n*(2*n + 1)*sin(t + v) + b*u^n*(b*n*u^(n + 2)*sin(t - v - 2*n*v) + 2*a*u*sin(t + v - (n + 1)*v) + 4*a*n*u*sin(t + v - (n + 1)*v)))/(n*(2*n + 1)*u),
(2*b*u^(n + 1)*cos(t - (n + 1)*v) + 2*a*(n + 1)*cos(t)*log(u) + 2*a*(n + 1)*v*sin(t))/(n + 1))
ennepercatenoidpolar(n,a,b)[t](r,theta) is the polar parametrization of a 1-parameter family of minimal surfaces constructed from the minimal curve whose Weierstrass representation is given by f[z_]:=2 and g[z_]:=a/z + b*z^n. For t=0 and a=b=1 the surface has a catenoid-like bottom and an enneper-like top with n + 1 lobes.
*/
X():(3*u^2*cos(t - v) + 3*cos(t + v) - u^2*(2*cos(t - v) + 4*cos(t - v) + u^2*cos(t - 3*v)))/(3*u)
Y():(3*u^2*sin(t - v) - 3*sin(t + v) +   u*(u^3*sin(t - 4*v) + 2*u*sin(t + v - 2*v) + 4*u*sin(t - v)))/(3*u)
Z():(2*u^2*cos(t - 2*v) + 4*cos(t)*log(u) + 4*v*sin(t))/2
[u]:0.40,  1.08
[v]:-pi,  pi
Code:
Name:deltoidinvolutemin(1)
/*
deltoidinvolutemin(a)[t](u,v) = a*deltoidinvolutemin(1)[t](u,v) is a 1-parameter family of minimal surfaces such that (u,v)->deltoidinvolutemin(a)[0](u,v) is a minimal surface containing the involute of a deltoid as a geodesic.
*/
X():(1/3)*cos(t)*(8*cos(u/2)*cosh(v/2) + 2*cos(u)*cosh(v) - cos(2*u)*cosh(2*v)) + (1/3)*sin(t)*(-8*sin(u/2)*sinh(v/2) - 2*sin(u)*sinh(v) + sin(2*u)*sinh(2*v))
Y():(cos(t)*(-8*cosh(v/2)*sin(u/2) + 2*cosh(v)*sin(u) + cosh(2*v)*sin(2*u)))/3 + (sin(t)*(-8*cos(u/2)*sinh(v/2) + 2*cos(u)*sinh(v) + cos(2*u)*sinh(2*v)))/3
Z():(4*sin(t)*(3*u - 2*cosh(3*v/2)*sin(3*u/2)))/9 - (4*cos(t)*(3*v - 2*cos(3*u/2)*sinh(3*v/2)))/9
[u]:-2*pi,  2*pi
[v]:-0.3,  0.3
Code:
Name:deltoidmin(1)
/*deltoidmin(a)(t)(u,v):=
          {a*cos(t)*(2*cos(u)*cosh(v) + cos(2*u)*cosh(2*v)) +
           2*a*sin(t)*sin(u)*(-sinh(v) - cos(u)*sinh(2*v)),
           -2*a*(cos(u)*sinh(v)*((-1 + cos(u)*cosh(v))*sin(t) +
            2*a*cos(t)*sin(u)*sinh(v))) +
            cosh(v)*sin(u)*(2*a*cos(t)*(1 - cos(u)*cosh(v)) +
            2*a*sin(t)*sin(u)*sinh(v)),
            -(8/3)*a*cos(3*u/2)*cosh(3*v/2)*sin(t) -
           (8/3)*a*cos(t)*sin(3*u/2)*sinh(3*v/2)} is a 1-parameter family of minimal surfaces such that (u,v)->deltoidmin(a)(0)(u,v) is a minimal surface containing a deltoid as a geodesic.
*/
X():cos(t)*(2*cos(u)*cosh(v) + cos(2*u)*cosh(2*v)) +
           2*sin(t)*sin(u)*(-sinh(v) - cos(u)*sinh(2*v))
Y():-2*(cos(u)*sinh(v)*((-1 + cos(u)*cosh(v))*sin(t) +
            2*cos(t)*sin(u)*sinh(v))) +
            cosh(v)*sin(u)*(2*cos(t)*(1 - cos(u)*cosh(v)) +
            2*sin(t)*sin(u)*sinh(v))
Z():-(8/3)*cos(3*u/2)*cosh(3*v/2)*sin(t) -
           (8/3)*cos(t)*sin(3*u/2)*sinh(3*v/2)
[u]:-pi,  pi
[v]:-0.3,  0.3
Code:
Name:circleinvolutemin(1,1)
/*
circleinvolutemin(1,a)[t]=a*circleinvolutemin(1,1)[t] is a 1-parameter family of minimal surfaces such that (u,v)->circleinvolutemin(1,a)[0](u,v) is a minimal surface containing the first involute of a circle as a geodesic.
*/
X():cos(t)*(cos(u)*cosh(v) + u*cosh(v)*sin(u) - v*cos(u)*sinh(v)) +  sin(t)*(v*cosh(v)*sin(u) + u*cos(u)*sinh(v) - sin(u)*sinh(v))
Y():sin(t)*(-v*cos(u)*cosh(v) + cos(u)*sinh(v) + u*sin(u)*sinh(v)) + cos(t)*(-u*cos(u)*cosh(v) + cosh(v)*sin(u) - v*sin(u)*sinh(v))
Z():-u*v*cos(t) + (u^2 - v^2)*sin(t)/2
[u]:0,  pi
[v]:-1,  1
Code:
Name:catalandef(1)
/*
(u,v)->catalandef(a)[t](u,v)={a*cos(t)*(u - cosh(v)*sin(u)) +
         a*sin(t)*(v - cos(u)*sinh(v)),
         a*cos(t)*(1 - cos(u)*cosh(v)) +
         a*sin(t)*sin(u)*sinh(v),
         4*a*(1 - cos(u/2)*cosh(v/2))*sin(t) -
         4*a*cos(t)*sin(u/2)*sinh(v/2))
is a 1-parameter family of minimal surfaces connecting Catalan's minimal surface to its conjugate.
*/
X():cos(t)*(u - cosh(v)*sin(u)) + sin(t)*(v - cos(u)*sinh(v))
Y():cos(t)*(1 - cos(u)*cosh(v)) + sin(t)*sin(u)*sinh(v)
Z():4*(1 - cos(u/2)*cosh(v/2))*sin(t) - 4*cos(t)*sin(u/2)*sinh(v/2)
[u]:-pi*2,  pi*2
[v]:-pi/2,  pi/2
Code:
Name:bourpolar(1,1)
/*bourpolar(m)[t](u,v):=
      (u^(m - 1)*cos(t - (m - 1)*v)/(m - 1) -
       u^(m + 1)*cos(t - (m + 1)*v)/(m + 1),
       u^(m - 1)*sin(t - (m - 1)*v)/(m - 1) +
       u^(m + 1)*sin(t - (m + 1)*v)/(m + 1),
       2*u^m*cos(t - m*v)/m)
bourpolar(m,n)[t](r,theta):=
      (r^(m - 1)*cos(t - (m - 1)*theta)/(m - 1) -
       r^(m + 2*n - 1)*cos(t - (m + 2*n - 1)*theta)/(m + 2*n - 1),
       r^(m - 1)*sin[t - (m - 1)*theta]/(m - 1) +
       r^(m + 2*n - 1)*sin(t - (m + 2*n - 1)*theta)/(m + 2*n - 1),
       2*r^(m + n - 1)*cos(t - (m + n - 1)*theta)/(m + n - 1))
{r,theta}->bourpolar[m,n][t][r,theta] is the polar parametrization of a 1-parameter family of minimal surfaces such that {r,theta}->bourpolar[m,n][0][r,theta] is Bour's minimal surface of degree {m,n}.
*/
X():cos(t) -u^2*cos(t - 2*v)/2
Y():cos(t) -u^2*sin(t - 2*v)/2
Z():2*u*cos(t-v)
[u]:0,  pi/2
[v]:-pi,  pi

Please, let me know if you find any formula wrong.

To use these examples of parametric surfaces just save any code block in a file with k3ds extension and then load it while working in the parametric environement inside k3dsurf.
Back to top View user's profile Send private message
Phil999



Joined: 08 Feb 2007
Posts: 24

PostPosted: Thu Jan 19, 2012 9:38 pm    Post subject: Reply with quote

thank you
Back to top View user's profile Send private message Send e-mail
jolkaP



Joined: 17 Oct 2011
Posts: 12
Location: Marseille (France)

PostPosted: Tue Jan 31, 2012 11:06 pm    Post subject: Almost all parametric surfaces from this source Reply with quote

You welcome,

Here go all the parametric surfaces described in this source that can be expressed in k3dsurf. I tried to categorize them but of course some of them fall into multiples categories

FAMILIES OF MINIMAL SURFACES ( those where already in my post above, but here they are written in a clearer way; activate morph to see what happens)

In the next one, for t=0 you get Bour's minimal surface of degree (m,n)
Code:
X():u^(m - 1)*cos(t - (m - 1)*v)/(m - 1) -
 u^(m + 2*n - 1)*cos(t - (m + 2*n - 1)*v)/(m + 2*n - 1)
Y():u^(m - 1)*sin(t - (m - 1)*v)/(m - 1) +
 u^(m + 2*n - 1)*sin(t - (m + 2*n - 1)*v)/(m + 2*n - 1)
Z():2*u^(m + n - 1)*cos(t - (m + n - 1)*v)/(m + n - 1)
[u]:0,  1.7
[v]:-pi,  pi
You have to replace m and n with integers. For example, for m=2 and n=1 you get
Code:
X():u*cos(t - v) -u^3*cos(t - 3*v)/3
Y():u*cos(t - v) -u^3*sin(t - 3*v)/3
Z():2*u^2*cos(t - 2*v)/2
[u]:0,  1.7
[v]:-pi,  pi


See Catalan's minimal surface become its conjugate and viceversa.
Code:
X():cos(t)*(u - cosh(v)*sin(u)) + sin(t)*(v - cos(u)*sinh(v))
Y():cos(t)*(1 - cos(u)*cosh(v)) + sin(t)*sin(u)*sinh(v)
Z():4*(1 - cos(u/2)*cosh(v/2))*sin(t) - 4*cos(t)*sin(u/2)*sinh(v/2)
[u]:-pi*2,  pi*2
[v]:-pi/2,  pi/2


In the next one, for t=0 you get a minimal surface containing first involute of a circle as a geodesic.
Code:
X():cos(t)*(cos(u)*cosh(v) + u*cosh(v)*sin(u) - v*cos(u)*sinh(v)) +  sin(t)*(v*cosh(v)*sin(u) + u*cos(u)*sinh(v) - sin(u)*sinh(v))
Y():sin(t)*(-v*cos(u)*cosh(v) + cos(u)*sinh(v) + u*sin(u)*sinh(v)) + cos(t)*(-u*cos(u)*cosh(v) + cosh(v)*sin(u) - v*sin(u)*sinh(v))
Z():-u*v*cos(t) + (u^2 - v^2)*sin(t)/2
[u]:0,  pi
[v]:-1,  1


In the next one, for t=0 you get a minimal surface containing the involute of a deltoid as a geodesic.
Code:
X():(1/3)*cos(t)*(8*cos(u/2)*cosh(v/2) + 2*cos(u)*cosh(v) - cos(2*u)*cosh(2*v)) + (1/3)*sin(t)*(-8*sin(u/2)*sinh(v/2) - 2*sin(u)*sinh(v) + sin(2*u)*sinh(2*v))
Y():(cos(t)*(-8*cosh(v/2)*sin(u/2) + 2*cosh(v)*sin(u) + cosh(2*v)*sin(2*u)))/3 + (sin(t)*(-8*cos(u/2)*sinh(v/2) + 2*cos(u)*sinh(v) + cos(2*u)*sinh(2*v)))/3
Z():(4*sin(t)*(3*u - 2*cosh(3*v/2)*sin(3*u/2)))/9 - (4*cos(t)*(3*v - 2*cos(3*u/2)*sinh(3*v/2)))/9
[u]:-2*pi,  2*pi
[v]:-0.3,  0.3


In the next one, for t=0 you get a minimal surface containing a deltoid as a geodesic.
Code:
X():a*cos(t)*(2*cos(u)*cosh(v) + cos(2*u)*cosh(2*v)) + 2*a*sin(t)*sin(u)*(-sinh(v) - cos(u)*sinh(2*v))
Y():-2*a*(cos(u)*sinh(v)*((-1 + cos(u)*cosh(v))*sin(t) + 2*a*cos(t)*sin(u)*sinh(v))) + cosh(v)*sin(u)*(2*a*cos(t)*(1 - cos(u)*cosh(v)) + 2*a*sin(t)*sin(u)*sinh(v))
Z():-(8/3)*a*cos(3*u/2)*cosh(3*v/2)*sin(t) - (8/3)*a*cos(t)*sin(3*u/2)*sinh(3*v/2)
[u]:-pi,  pi
[v]:-0.3,  0.3
You have to replace a with any positive number. For example, for a=1, you get.
Code:
X():cos(t)*(2*cos(u)*cosh(v) + cos(2*u)*cosh(2*v)) + 2*sin(t)*sin(u)*(-sinh(v) - cos(u)*sinh(2*v))
Y():-2*(cos(u)*sinh(v)*((-1 + cos(u)*cosh(v))*sin(t) +
2*cos(t)*sin(u)*sinh(v))) + cosh(v)*sin(u)*(2*cos(t)*(1 - cos(u)*cosh(v)) + 2*sin(t)*sin(u)*sinh(v))
Z():-(8/3)*cos(3*u/2)*cosh(3*v/2)*sin(t) - (8/3)*cos(t)*sin(3*u/2)*sinh(3*v/2)
[u]:-pi,  pi
[v]:-0.3,  0.3


The following describes a family of minimal surfaces constructed from the minimal curve whose Weierstrass representation is given by f[z_]:=2 and g[z_]:=a/z + b*z^n.
Code:
X():(n*(2*n + 1)*u^2*cos(t - v) + a^2*n*(2*n + 1)*cos(t + v) - b*u^(n + 1)*(2*a*cos(t - n*v) + 4*a*n*cos(t - n*v) + b*n*u^(n + 1)*cos(t - (2*n + 1)*v)))/(n*(2*n + 1)*u)
Y():(n*(2*n + 1)*u^2*sin(t - v) - a^2*n*(2*n + 1)*sin(t + v) + b*u^n*(b*n*u^(n + 2)*sin(t - v - 2*n*v) + 2*a*u*sin(t + v - (n + 1)*v) + 4*a*n*u*sin(t + v - (n + 1)*v)))/(n*(2*n + 1)*u)
Z():(2*b*u^(n + 1)*cos(t - (n + 1)*v) + 2*a*(n + 1)*cos(t)*log(u) + 2*a*(n + 1)*v*sin(t))/(n + 1)
[u]:0.4,1.08
[v]:-pi,pi
Replace n with any integer, a and b with real numbers. For instance, for n=1, a=b=1 you get
Code:

X():(3*u^2*cos(t - v) + 3*cos(t + v) - u^2*(2*cos(t - v) + 4*cos(t - v) + u^2*cos(t - 3*v)))/(3*u)
Y():(3*u^2*sin(t - v) - 3*sin(t + v) +  u*(u^3*sin(t - 4*v) +
2*u*sin(t + v - 2*v) + 4*u*sin(t - v)))/(3*u)
Z():(2*u^2*cos(t - 2*v) + 4*cos(t)*log(u) + 4*v*sin(t))/2
[u]:0.40,  1.08
[v]:-pi,  pi


In the next, for t=0, you get Enneper's minimal surface of degree n.
Code:
X():u*cos(t - v) - u^(2*n + 1)*cos(t - (2*n + 1)*v)/(2*n + 1)
Y():u*sin(t - v) + u^(2*n + 1)*sin(t - (2*n + 1)*v)/(2*n + 1)
Z():2*u^(n + 1)*cos(t - (n + 1)*v)/(n + 1)
[u]:0,1.58
[v]:-pi,pi
Replace n with any integer. For instance, for n=2 you get
Code:
X():u*cos(t - v) - u^5*cos(t - 5*v)/5
Y():u*sin(t - v) + u^5*sin(t - 5*v)/5
Z():2*u^3*cos(t - 3*v)/3
[u]:0,  1.58
[v]:-pi,  pi


See an helicoid become a catenoid and vice-versa.
Code:
X():cos(u)*cosh(v)*sin((1-t)*pi/2) + cos((1-t)*pi/2)*sin(u)*sinh(v)
Y():cosh(v)*sin((1-t)*pi/2)*sin(u) - cos((1-t)*pi/2)*cos(u)*sinh(v)
Z():u*cos((1-t)*pi/2) + v*sin((1-t)*pi/2)
[u]:0,4*pi
[v]:-1.5,1.5


In the next, for t=0, you get a minimal surface containing the involute of a hypocycloid as a geodesic
Code:
X():cos(t)*((a - b)*cos(u)*cosh(v) + b*cos((a - b)*u/b)*cosh((a - b)*v/b)) + sin(t)*((-a + b)*sin(u)*sinh(v) - b*sin((a - b)*u/b)*sinh((a - b)*v/b))
Y():cos(t)*((a - b)*cosh(v)*sin(u) - b*cosh((a - b)*v/b)*sin((a - b)*u/b)) + sin(t)*((a - b)*cos(u)*sinh(v) - b*cos(((a - b)*u)/b)*sinh((a - b)*v/b))
Z():(-4*(a - b)*b*cos((a*u)/(2*b))*cosh((a*v)/(2*b))*sin(t))/a - (4*(a - b)*b*cos(t)*sin((a*u)/(2*b))*sinh((a*v)/(2*b)))/a
[u]:-pi,pi
[v]:-1,1
You have to replace parameters a and b. For a=4 and b=1 you get
Code:
X():cos(t)*(3*cos(u)*cosh(v) + cos(3*u)*cosh(3*v)) + sin(t)*(-3*sin(u)*sinh(v) - sin(3*u)*sinh(3*v))
Y():cos(t)*(3*cosh(v)*sin(u) - cosh(3*v)*sin(3*u)) + sin(t)*(3*cos(u)*sinh(v) - cos((3*u))*sinh(3*v))
Z():-3*cos(2*u)*cosh(2*v)*sin(t) - 3*cos(t)*sin(2*u)*sinh(2*v)
[u]:-pi,pi
[v]:-1,1


In the next, for t=0, you get a minimal surface containing a parabola as a geodesic
Code:
X():2*(u*cos(t) + v*sin(t))
Y():((u^2 - v^2)*cos(t) + 2*u*v*sin(t))
Z():((-2*(u*v + atan(2*v/(u + sqrt(1 + u^2))))*cos(t) +
         (-2*v^2 + log((u + sqrt(1 + u^2))^2 + 4*v^2))*sin(t) +
          2*sqrt(1 + u^2)*(-(v*cos(t)) + u*sin(t))))/2
[u]:-2,2
[v]:-0.3,0.3


See a plane become a catenoid and vice-versa. The principal curves of each surface in this family are planar.
Code:
X():cos(t)*u + sin(u)*cosh(v)
Y():sin(t)*cos(u)*cosh(v)
Z():v + cos(t)*cos(u)*sinh(v)
[u]:0,2*pi
[v]:-2,2


In the next, for t=0, you get Richmond's surface with one planar end of degree n.
Code:
X():-cos(t + v)/(2*u) - u^3*cos(t - 3*v)/6
Y():-sin(t + v)/(2*u) + u^(2*n + 1)*sin(t - (2*n + 1)*v)/(4*n + 2)
Z():u^n*cos(t - n*v)/n
[u]:0.3,1.3
[v]:0,2*pi
Replace n with any integer. For instance, for n=1 you get
Code:
X():-cos(t + v)/(2*u) - u^3*cos(t - 3*v)/6
Y():-sin(t + v)/(2*u) + u^3*sin(t - 3*v)/6
Z():u*cos(t - v)
[u]:0.3,1.3
[v]:0,2*pi


MINIMAL SURFACES

Bour's minimal surface
Code:
X():(2*u^2 - u^4 - 2*v^2 + 6*u^2*v^2 - v^4)/4
Y():u*v*(-1 - u^2 + v^2)
Z():(2/3)*(u^3 - 3*u*v^2)
[u]:-1,  1
[v]:-1,  1


Catalan's minimal surface
Code:
X():(u - cosh(v)*sin(u))
Y():(1 - cos(u)*cosh(v))
Z():- 4*sin(u/2)*sinh(v/2)
[u]:-pi*2,  pi*2
[v]:-pi/2,  pi/2


Enneper's minimal surface
Code:
X():u -u^3/3  + u*v^2
Y():-v +v^3/3  - v*u^2
Z():u^2 - v^2
[u]:-1.75,  1.75
[v]:-1.75,  1.75


Henneberg's minimal surface
Code:
X():2*sinh(u)*cos(v) - (2/3)*sinh(3*u)*cos(3*v)
Y():2*sinh(u)*sin(v) + (2/3)*sinh(3*u)*sin(3*v)
Z():2*cosh(2*u)*cos(2*v)
[u]:0.3,1
[v]:-pi,pi


Richmond's minimal surface is a minimal surface with one planar end
Code:
X():(-3*u - u^5 + 2*u^3*v^2 + 3*u*v^4)/(6*(u^2 + v^2))
Y():(-3*v - 3*u^4*v - 2*u^2*v^3 + v^5)/(6*(u^2 + v^2))
Z():u
[u]:-1,1
[v]:-1,1


Scherk's minimal surface
Code:
X():u
Y():v
Z():(1/a)*log(cos(a*v)/cos(a*u))
[u]:0.01,3*pi/2 + 0.01
[v]:-pi/2 + 0.01,3*pi/2 + 0.01
You have to replace parameter a. For a=1 you get
Code:
X():u
Y():v
Z():log(cos(v)/cos(u))
[u]:0.01,3*pi/2 + 0.01
[v]:-pi/2 + 0.01,3*pi/2 + 0.01


Thomsen's minimal surface
Code:
X():b*u/a + sqrt(1+b^2)*sinh(a*u)*cos(a*v)/a^2
Y():sqrt(1 + b^2)*v/a + b*cosh(a*u)*sin(a*v)/a^2
Z():sinh(a*u)*sin(a*v)/a^2
[u]:-pi/2,pi/2
[v]:0,2*pi
You have to replace parameters a and b. For a=1 and b=2 you get:
Code:
X():-2*u+sqrt(5)*sinh(u)*cos(v)
Y():sqrt(5)*v-2*cosh(u)*sin(v)
Z():sinh(u)*sin(v)
[u]:-pi/2,pi/2
[v]:0,2*pi


COMPACT SURFACES

Astroidial ellipsoid with axes of lengths a, b and c
Code:
X():(a*cos(u)*cos(v))^3
Y():(b*sin(u)*cos(v))^3
Z():(c*sin(v))^3
[u]:0,  2*pi
[v]:-pi/2,  pi/2
You have to replace a,b and c. For example, for a=b=c=1 you get
Code:
X():(cos(u)*cos(v))^3
Y():(sin(u)*cos(v))^3
Z():sin(v)^3
[u]:0,  2*pi
[v]:-pi/2,  pi/2


Bohemian dome formed by moving an ellipse along a circle in a perpendicular plane so that the ellipse remains parallel to a plane
Code:
X():a*cos(u)
Y():a*sin(u)+b*cos(v)
Z():c*sin(v)
[u]:0,  2*pi
[v]:-pi,  pi
You have to replace a,b and c. For example, for a=1, b=2 and c=1 you get
Code:
X():cos(u)
Y():sin(u)+2*cos(v)
Z():sin(v)
[u]:0,  2*pi
[v]:-pi,  pi


Boy's surface
Code:
X():(a/2)*(-cos(v)^2 + 2*cos(u)^2*sin(v)^2 + cos(v)*cos(u)*sin(v)*(-cos(v)^2 + cos(u)^2*sin(v)^2) - sin(v)^2*sin(u)^2 + 2*cos(v)*sin(v)*sin(u)*(-cos(v)^2 + sin(v)^2*sin(u)^2) - sin(v)^4*sin(4*u)/4)
Y():(sqrt(3)/2)*b*(-cos(v)^2 + cos(v)*cos(u)*sin(v)*(cos(v)^2 - cos(u)^2*sin(v)^2) + sin(v)^2*sin(u)^2 - (sin(v)^4*sin(4*u))/4)
Z():c*(cos(v) + cos(u)*sin(v) + sin(u)*sin(v))*(-4*sin(v)*(cos(u) - sin(u))*(-cos(v) + cos(u)*sin(v))* (cos(v) - sin(u)*sin(v)) + (cos(v) + cos(u)*sin(v) + sin(u)*sin(v)
[u]:-pi/2,  pi/2
[v]:-pi/2,  pi/2
You have to replace a,b and c. For example, for a=b=4 and c=1 you get
Code:
X():2*(-cos(v)^2 + 2*cos(u)^2*sin(v)^2 + cos(v)*cos(u)*sin(v)*(-cos(v)^2 + cos(u)^2*sin(v)^2) - sin(v)^2*sin(u)^2 + 2*cos(v)*sin(v)*sin(u)*
(-cos(v)^2 + sin(v)^2*sin(u)^2) - sin(v)^4*sin(4*u)/4)
Y():(sqrt(3)/2)*4*(-cos(v)^2 + cos(v)*cos(u)*sin(v)*(cos(v)^2 - cos(u)^2*sin(v)^2) +
sin(v)^2*sin(u)^2 - (sin(v)^4*sin(4*u))/4)
Z():(cos(v) + cos(u)*sin(v) + sin(u)*sin(v))*
(-4*sin(v)*(cos(u) - sin(u))*(-cos(v) + cos(u)*sin(v))*
(cos(v) - sin(u)*sin(v)) +(cos(v) + cos(u)*sin(v) + sin(u)*sin(v))^3)
[u]:-pi/2,  pi/2
[v]:-pi/2,  pi/2


Cossurface
Code:
X():cos(u)
Y():cos(v)
Z():cos(u+v)
[u]:-pi,pi
[v]:-pi,pi


A cross cap
Code:
X():sin(u) * sin(2 * v) / 2
Y():sin(2 * u) * cos(v) * cos(v)
Z():cos(2 * u) * cos(v) * cos(v)
[u]:-pi/2,  pi/2
[v]:-pi/2,  pi/2


Eight turning on another eight
Code:
X():sin(u)*sin(v)
Y():cos(u)*sin(u)*sin(v)
Z():cos(v)*sin(v)
[u]:-pi,  pi
[v]:-pi/2,  pi/2


A cyclide of Dupin of radius k whose focal sets are the ellipse u->(a*cos(u),sqrt(a^2 - c^2)*Sin(u),0} and the hyperbola v->(c*sec(v),0,sqrt(a^2 - c^2)*tan(v))
Code:
X():(c*(k - c*cos(u)) + a*cos(u)*(a - k*cos(v)))/
(a - c*cos(u)*cos(v))
Y():
(sqrt(a^2 - c^2)*(a - k*cos(v))*sin(u))/
(a - c*cos(u)*cos(v))
Z():(sqrt(a^2 - c^2)*(k - c*cos(u))*sin(v))/(a - c*cos(u)*cos(v))
[u]:-pi,  pi
[v]:-pi,  pi
You have to replace a,c and k. For example for a=8, c=3 and k=5 you get
Code:
X():(3*(5 - 3*cos(u)) + 8*cos(u)*(8 - 5*cos(v)))/(8 - 3*cos(u)*cos(v))
Y():(sqrt(8^2 - 3^2)*(8 - 5*cos(v))*sin(u))/(8 - 3*cos(u)*cos(v))
Z():(sqrt(8^2 - 3^2)*(5 - 3*cos(u))*sin(v))/(8 - 3*cos(u)*cos(v))
[u]:-pi,  pi
[v]:-pi,  pi


An ellipsoid with axes of lengths a, b and c
Code:
X():a*cos(v)*cos(u)
Y():b*cos(v)*sin(u)
Z():c*sin(v)
[u]:-pi,  pi
[v]:-pi/2,  pi/2
You have to replace a,b and c with non-zero real numbers. For a=1, b=2, c=3 you get
Code:
X():cos(v)*cos(u)
Y():2*cos(v)*sin(u)
Z():3*sin(v)
[u]:-pi,  pi
[v]:-pi/2,  pi/2


A generalized cube
Code:
X():a*(cos(u)*sqrt(cos(u)^2)^(n - 1) + sin(u)*sqrt(sin(u)^2)^(n - 1))*(cos(v)*sqrt(cos(v)^2)^(n - 1) + sin(v)*sqrt(sin(v)^2)^(n - 1))
Y():b*(-cos(u)*sqrt(cos(u)^2)^(n - 1) + sin(u)*sqrt(sin(u)^2)^(n - 1))*(cos(v)*sqrt(cos(v)^2)^(n - 1) + sin(v)*sqrt(sin(v)^2)^(n - 1))
Z():c*(-cos(v)*sqrt(cos(v)^2)^(n - 1) + sin(v)*sqrt(sin(v)^2)^(n - 1))
[u]:-pi/2,  pi/2
[v]:-pi,  pi
You have to replace n with a natural number and a,b,c with positive real numbers. For example, for n=4, a=b=c=1 you get
Code:
X():cos(u)*abs(cos(u))^3+sin(u)*abs(sin(u))^3*(cos(v)*abs(cos(v))^3+sin(v)*abs(sin(v))^3)
Y():-cos(u)*abs(cos(u))^3+sin(u)*abs(sin(u))^3*(cos(v)*abs(cos(v))^3+sin(v)*abs(sin(v))^3)
Z():-cos(v)*abs(cos(v))^3+sin(v)*abs(sin(v))^3
[u]:-pi/2,  pi/2
[v]:-pi,  pi


A generalized octahedron.
Code:
X():a*cos(u)*cos(v)*sqrt(cos(u)^2*cos(v)^2)^(n - 1)
Y():b*sin(u)*cos(v)*sqrt(sin(u)^2*cos(v)^2)^(n - 1)
Z():c*sin(v)*sqrt(sin(v)^2)^(n - 1)
[u]:-pi/2,  pi/2
[v]:-pi,  pi
You have to replace n with a natural number and a,b,c with positive real numbers. For n=1 you get an ellipsoid, for n=2 and a=b=c you get an ordinary octahedron and for n=3 you get an astroidial ellipsoid. For example, for n=2, a=b=c=1 you get
Code:
X():cos(u)*cos(v)*abs(cos(u)*cos(v))
Y():sin(u)*cos(v)*abs(sin(u)*cos(v))
Z():sin(v)*abs(sin(v))
[u]:-pi/2,  pi/2
[v]:-pi,  pi


A Klein bottle formed by moving and twisting a figure eight along a circle of radius a. The surface is nonorientable and a neighborhood of the self-intersection curve is nonorientable.
Code:
X():(a + cos(u/2)*sin(v) - sin(u/2)*sin(2*v))*cos(u)
Y():(a + cos(u/2)*sin(v) - sin(u/2)*sin(2*v))*sin(u)
Z():sin(u/2)*sin(v) + cos(u/2)*sin(2*v)
[u]:-pi/4,3*pi/2
[v]:-pi,pi
You have to replace a. For a=2, you get
Code:
X():(2 + cos(u/2)*sin(v) - sin(u/2)*sin(2*v))*cos(u)
Y():(2 + cos(u/2)*sin(v) - sin(u/2)*sin(2*v))*sin(u)
Z():sin(u/2)*sin(v) + cos(u/2)*sin(2*v)
[u]:-pi/4,3*pi/2
[v]:-pi,pi


A Klein bottle in which a neighbourhood of self-intersection curve is orientable
Code:
X():((u-abs(u))/(2*u))*sin(u)+
((u+abs(u))/(2*u))*(10*sin(0.105*u) + 2*(1 + 0.066*u)*
         (cos(0.105*u) + 4*cos(0.21*u))*cos(v)*
         (sin(0.105*u) + 2*sin(0.21*u))/
         sqrt(100*cos(0.105*u)^2 + 4*(cos(0.105*u) +
          4*cos(0.21*u))^2*(sin(0.105*u) + 2*sin(0.21*u))^2))
Y():((u-abs(u))/(2*u))*(- 2 + cos(u))*cos(v)+
((u+abs(u))/(2*u))*((sin(0.105*u) + 2*sin(0.21*u))^2 -
         (10*(1 + 0.033*2*u)*cos(0.105*u)*cos(v))/
         sqrt(100*cos(0.105*u)^2 + 4*(cos(0.105*u) +
          4*cos(0.21*u))^2*(sin(0.105*u) + 2*sin(0.21*u))^2))
Z():((u-abs(u))/(2*u))*(2 - cos(u))*sin(v)+
((u+abs(u))/(2*u))*((1 + 0.066*u)*sin(v))
[u]:-pi,29.9517
[v]:-pi,pi


WRI's version of a Klein bottle. The self-intersection curve has an orientable neighbourhood.
Code:
X():if(sin(u)<0,(6*cos(u)*(1 + sin(u)) + 4*(1 - cos(u)/2)*cos(v + pi)),
(6*cos(u)*(1 + sin(u)) + 4*(1 - cos(u)/2)*cos(u)*cos(v)))
Y():if(sin(u)<0,(16*sin(u)),(16*sin(u) + 4*(1 - cos(u)/2)*sin(u)*cos(v)))
Z():4*(1 - cos(u)/2)*sin(v)
[u]:0,2*pi
[v]:0,2*pi


A pillow
Code:
X():cos(u)
Y():cos(v)
Z():sin(u)*sin(v)
[u]:-pi,pi
[v]:-pi,pi


A pseudocrosscap in R^3
Code:
X():(1 - u^2)*sin(v)
Y():(1 - u^2)*sin(2*v)
Z():u
[u]:-1,1
[v]:0,2*pi


Steiner's Roman surface
Code:
X():(1/2)*sin(2*u)*cos(v)^2
Y():(1/2)*sin(u)*sin(2*v)
Z():(1/2)*cos(u)*sin(2*v)
[u]:0,pi
[v]:-pi/2,pi/2


n-th Roman surface
Code:
X():(1/2)*(cos(u)*cos(v)^2*sin(u))^n
Y():(1/2)*(cos(v)*sin(u)*sin(v))^n
Z():(1/2)*(cos(u)*cos(v)*sin(v))^n
[u]:0,pi
[v]:-pi,pi
You have to replace n with any positive integer. For n=3 you get.
Code:
X():(1/2)*(cos(v)^2*sin(u))^3
Y():(1/2)*(cos(v)*sin(u)*sin(v))^3
Z():(1/2)*(cos(u)*cos(v)*sin(v))^3
[u]:0,pi
[v]:-pi,pi


Sinsurface
Code:
X():sin(u)
Y():sin(v)
Z():sin(u+v)
[u]:-pi,pi
[v]:-pi,pi


A surface resembling a snail
Code:
X():u*cos(v)*sin(u)
Y():u*cos(u)*cos(v)
Z():-u*sin(v)
[u]:-pi,pi
[v]:-pi,pi


COMPACT REVOLUTION SURFACES

A parametrization of the Earth (with equatorial diameter 12756.4 kilometers and polar diameter 12713.2 kilometers)
Code:
X():6378.2*cos(u)*cos(v)
Y():6378.2*sin(u)*cos(v)
Z():6356.6*sin(v)
[u]:-pi,  pi
[v]:-pi/2,  pi/2


Eight surface is a surface of revolution generated by an eight-shaped curve.
Code:
X():cos(u)*sin(2*v)
Y():sin(u)*sin(2*v)
Z():sin(v)
[u]:-pi,  pi
[v]:-pi/2,  pi/2


Heart is a surface of revolution generated by a cardioid with the axis of revolution passing through the cusp
Code:
X():2*cos(u)*(1 + cos(v))*sin(v)
Y():2*sin(u)*(1 + cos(v))*sin(v)
Z():-2*cos(v)*(1 + cos(v))
[u]:-pi/2,pi/2
[v]:-pi,pi


A circular cylinder of radius a inverted with respect to a sphere of radius rho. It is a cyclide of Dupin.
Code:
X():a*rho^2*cos(u)/(a^2 + v^2)
Y():a*rho^2*sin(u)/(a^2 + v^2)
Z():rho^2*v/(a^2 + v^2)
[u]:-pi,pi
[v]:-rho,rho
You have to replace rho and a. For example, for rho=40, a=1 you get
Code:
X():40^2*cos(u)/(1+v^2)
Y():40^2*sin(u)/(1+v^2)
Z():40^2*v/(1+v^2)
[u]:-pi,pi
[v]:-40,40


A torus inverted with respect to a sphere of radius rho. It is a cyclide of Dupin.
Code:
X():rho^2*cos(u)*(a + b*cos(v))/(a^2 + b^2 + 2*a*b*cos(v))
Y():rho^2*(a + b*cos(v))*sin(u)/(a^2 + b^2 + 2*a*b*cos(v))
Z():b*rho^2*sin(v)/(a^2 + b^2 + 2*a*b*cos(v))
[u]:-pi,pi
[v]:-pi,pi
You have to replace rho, a and b. For example, for rho=40, a=8 and b=3 you get
Code:
X():40^2*cos(u)*(8+3*cos(v))/(90+48*cos(v))
Y():40^2*(8+3*cos(v))*sin(u)/(90+48*cos(v))
Z():8*40^2*sin(v)/(90+48*cos(v))
[u]:-pi,pi
[v]:-pi,pi


Kidney is a surface of revolution generated by a nephroid
Code:
X():cos(u)*(3*cos(v) - cos(3*v))
Y():sin(u)*(3*cos(v) - cos(3*v))
Z():(3*sin(v) - sin(3*v))
[u]:0,2*pi
[v]:-pi/2,pi/2


Generalized paraboloid's polar parametrization
Code:
X():a*u*cos(v)
Y():b*u*sin(v)
Z():u^n
[u]:0,1
[v]:0,2*pi
You have to replace n, a and b. For example, for a=n=2 and c=1 you get
Code:
X():2*u*cos(v)
Y():u*sin(v)
Z():u^2
[u]:0,1
[v]:0,2*pi


The sphere's standard parametrization
Code:
X():cos(v)*cos(u)
Y():cos(v)*sin(u)
Z():sin(v)
[u]:-pi,pi
[v]:-pi/2,pi/2


The torus formed by revolving a circle of radius b in the xz-plane about the z-axis along a circle of radius a in the xy-plane.
Code:
X():(a + b*cos(v))*cos(u)
Y():(a + b*cos(v))*sin(u)
Z():b*sin(v)
[u]:0,2*pi
[v]:-pi,pi
You have to replace a and b. For example, for a=8 and b=3 you get
Code:
X():(8+3*cos(v))*cos(u)
Y():(8+3*cos(v))*sin(u)
Z():3*sin(v)
[u]:0,2*pi
[v]:-pi,pi


FRUITS REVOLUTION SURFACES

Apple
Code:
X():cos(u)*(4+3.8*cos(v))
Y():sin(u)*(4+3.8*cos(v))
Z():(cos(v)+sin(v)-1)*(1+sin(v))*log(1 - pi*v/10) + 7.5*sin(v)
[u]:0,  2*pi
[v]:-pi,  pi


Pear
Code:
X():cos(u)*(4 + 3.8*cos(v))
Y():sin(u)*(4 + 3.8*cos(v))
Z():((cos(v) - 3.5)*(1 + sin(v))*log(1 - pi*v/10) + 10*sin(v))*(1 - 0.4*cos(v/2)*(1 + 0.2*sin(v^2)))
[u]:0,2*pi
[v]:-30*pi/31,30*pi/31


NON-COMPACT REVOLUTION SURFACES

Rotated witch of Agnesi
Code:
X():-cos(u)*cos(v)^2
Y():-cos(v)^2*sin(u)
Z():tan(v)
[u]:0,  2*pi
[v]:-1,  1


A catenoid is the minimal surface of revolution generated by the catenary
Code:
X():a*cosh(v/a)*cos(u)
Y():a*cosh(v/a)*sin(u)
Z():v
[u]:-pi,  pi
[v]:-pi,  pi
You have to replace a with a positive real number. For example, for a=1 you get.
Code:
X():2*cosh(v/2)*cos(u)
Y():2*cosh(v/2)*sin(u)
Z():v
[u]:-pi,  pi
[v]:-pi,  pi


Circular cone of radius a and slope b/a
Code:
X():a*v*cos(u)
Y():a*v*sin(u)
Z():b*v
[u]:-pi,  pi
[v]:-1,  1
You have to replace a and b. For example for a=1 and b=0.5 you get
Code:
X():v*cos(u)
Y():v*sin(u)
Z():v/2
[u]:-pi,  pi
[v]:-1,  1


Circular cylinder
Code:
X():cos(u)
Y():sin(u)
Z():v
[u]:-pi,  pi
[v]:-4,  4


A circular cone inverted with respect to a sphere of radius rho. It is a cyclide of Dupin
Code:
X():a*rho^2*cos(u)/(a^2*v + b^2*v)
Y():a*rho^2*sin(u)/(a^2*v + b^2*v)
Z():b*rho^2/(a^2*v + b^2*v)
[u]:-pi,pi
[v]:0.1,rho
You have to replace rho, a and b. For example, for rho=40, a=b=1 you get
Code:
X():40^2*cos(u)/(2*v)
Y():40^2*sin(u)/(2*v)
Z():40^2/(2*v)
[u]:-pi,pi
[v]:0.1,40


Sphere's Mercator parametrization
Code:
X():cos(u)/cosh(v)
Y():sin(u)/cosh(v)
Z():tanh(v)
[u]:0,3*pi/2
[v]:-0.49*pi,0.49*pi


Polar parametrization of a plane
Code:
X():u*cos(v)
Y():u*sin(v)
Z():0
[u]:0.01,pi
[v]:-pi,pi


Pseudosphere: surface of revolution of constant negative curvature.
Code:
X():cos(u)*sin(v)
Y():sin(u)*sin(v)
Z():(cos(v) + log(tan(v/2)))
[u]:0,2*pi
[v]:0.001,pi-0.001


Pseudosphere's another parametrization
Code:
X():cos(u)*tanh(v)
Y():sin(u)*tanh(v)
Z():(1/cosh(v) + log(tanh(v/2)))
[u]:0,2*pi
[v]:0.01,2


Sphere's polar stereographic parametrization
Code:
X():2*u*cos(v)/(1 + u^2)
Y():2*u*sin(v)/(1 + u^2)
Z():(-1 + u^2)/(1 + u^2)
[u]:0,3
[v]:0,2*pi


Torus parametrization
Code:
X():u*cos(v)
Y():u*sin(v)
Z():pm*sqrt(b^2 - (r - a)^2)
[u]:a-b,a+b
[v]:0,2*pi
You have to replace pm with +1 or -1 and a and b with positive real numbers such as a>b. For example for pm=1, a=8 and b=3 you get
Code:
X():u*cos(v)
Y():u*sin(v)
Z():sqrt(9-(u-8)^2)
[u]:5,11
[v]:0,2*pi


PARAMETRIZATIONS BY PRINCIPAL CURVES

Dini's surface of constant negative curvature
Code:
X():cos(b)*cos(v)/cosh((u - v*sin(b))/cos(b))
Y():cos(b)*sin(v)/cosh((u - v*sin(b))/cos(b))
Z():(u - cos(b)*tanh((u - v*sin(b))/cos(b)))
[u]:-3,  3
[v]:0,  6*pi
You have to replace b. For example, for b=0.2 you get
Code:
X():cos(0.2)*cos(v)/cosh((u - v*sin(0.2))/cos(0.2))
Y():cos(0.2)*sin(v)/cosh((u - v*sin(0.2))/cos(0.2))
Z():(u - cos(0.2)*tanh((u - v*sin(0.2))/cos(0.2)))
[u]:-3,  3
[v]:0,  6*pi


Circular helicoid
Code:
X():cos(u + v)*sinh(-u + v)
Y():sin(u + v)*sinh(-u + v)
Z():u + v
[u]:-pi/2,pi/2
[v]:-pi/2,pi/2


Kuen's surface of constant negative curvature
Code:
X():2*cosh(u)*(cos(v) + v*sin(v))/(v^2 + cosh(u)^2)
Y():2*cosh(u)*(sin(v) - v*cos(v))/(v^2 + cosh(u)^2)
Z():(u - sinh(2*u)/(v^2 + cosh(u)^2))
[u]:-1.91,  1.91
[v]:-1.13,  1.13


Pseudosphere
Code:
X():cos(v)/cosh(u)
Y():sin(v)/cosh(u)
Z():u-tanh(u)
[u]:-2.8,2.8
[v]:0,2*pi


PARAMETRISATIONS BY ASYMPTOTIC CURVES

Catenoid
Code:
X():cos((u + v)/2)*cosh((u - v)/2)
Y():sin((u + v)/2)*cosh((u - v)/2)
Z():(u-v)/2
[u]:-pi,  pi
[v]:-pi,  pi


Dini's surface of constant negative curvature
Code:
X():cos(b)*cos(u-v)/cosh((u+v - (u-v)*sin(b))/cos(b))
Y():cos(b)*sin(u-v)/cosh((u+v - (u-v)*sin(b))/cos(b))
Z():(u+v - cos(b)*tanh((u+v - (u-v)*sin(b))/cos(b)))
[u]:-3,  3
[v]:0,  6*pi
You have to replace b. For example, for b=0.2 you get
Code:
X():cos(0.2)*cos(u-v)/cosh((u+v - (u-v)*sin(0.2))/cos(0.2))
Y():cos(0.2)*sin(u-v)/cosh((u+v - (u-v)*sin(0.2))/cos(0.2))
Z():(u+v - cos(0.2)*tanh((u+v - (u-v)*sin(0.2))/cos(0.2)))
[u]:-3,  3
[v]:0,  6*pi


Exponential twist (v cos(u),v sin(u), exp(c u))
Code:
X():exp(c*(u - v)/2)*cos(u)
Y():exp(c*(u - v)/2)*sin(u)
Z():exp(c*u)
[u]:-pi,  2*pi
[v]:-pi,  2*pi
You have to replace c. For example, for c=0.3 you get
Code:
X():exp(0.3*(u - v)/2)*cos(u)
Y():exp(0.3*(u - v)/2)*sin(u)
Z():exp(0.3*u)
[u]:-pi,  2*pi
[v]:-pi,  2*pi


Funnel (v cos(u), v sin(u), log(v))
Code:
X():exp(u - v)*cos(u + v)
Y():-exp(u - v)*sin(u + v)
Z():(u - v)
[u]:-pi/2,  pi/2
[v]:0.0,  pi


Kuen's surface of constant negative curvature
Code:
X():2*cosh(u+v)*(cos(u-v) + (u-v)*sin(u-v))/((u-v)^2 + cosh(u+v)^2)
Y():2*cosh(u+v)*(sin(u-v) - (u-v)*cos(u-v))/((u-v)^2 + cosh(u+v)^2)
Z():(u+v - sinh(2*(u+v))/((u-v)^2 + cosh(u+v)^2))
[u]:-2,2
[v]:-2,2


Pseudosphere
Code:
X():cos(u-v)/cosh(u+v)
Y():sin(u-v)/cosh(u+v)
Z():u+v-tanh(u+v)
[u]:-1,1
[v]:0,pi


Shoe
Code:
X():(-3*b/(4*a))^(1/3)*(u-v)^(2/3)
Y():-u-v
Z():(b/4)*(u^2+14*u*v+v^2)
[u]:-1,1.2
[v]:-1,1.2
You have to replace a and b. For example for a=-1 and b=1 you get
Code:
X():(3/4)^(1/3)*(u-v)^(2/3)
Y():-u-v
Z():(-1/4)*(u^2+14*u*v+v^2)
[u]:-1,1.2
[v]:-1,1.2


Torus
Code:
X():(cos((u + v)/2)/(1 + cosh((u - v)/sqrt(8))^2))
Y():(sin((u + v)/2)/(1 + cosh((u - v)/sqrt(8))^2))
Z():pm*(cosh((u - v)/sqrt(8))/(1 + cosh((u - v)/sqrt(8))^2))
[u]:-pi,pi
[v]:-pi,pi
You have to replace pm with +1 or -1. For example for pm=1 you get
Code:
X():(cos((u + v)/2)/(1 + cosh((u - v)/sqrt(8))^2))
Y():(sin((u + v)/2)/(1 + cosh((u - v)/sqrt(8))^2))
Z():(cosh((u - v)/sqrt(8))/(1 + cosh((u - v)/sqrt(8))^2))
[u]:-pi,pi
[v]:-pi,pi


OTHER SURFACES

A modified catenoid
Code:
X():a*cosh(v)*cos(u)
Y():b*cosh(v)*sin(u)
Z():c*v
[u]:-pi,  pi
[v]:-pi,  pi
You have to replace a,b and c. For example for a=3, b=2, c=1 you get
Code:
X():2*cosh(v)*cos(u)
Y():3*cosh(v)*sin(u)
Z():v
[u]:-pi,  pi
[v]:-pi,  pi


An isothermal parametrization of a catenoid
Code:
X():a*cosh(v/a)*cos(u/a)
Y():a*cosh(v/a)*sin(u/a)
Z():v
[u]:-pi,  pi
[v]:-pi,  pi
You have to replace a, for example for a=2 you get
Code:
X():2*cosh(v/2)*cos(u/2)
Y():2*cosh(v/2)*sin(u/2)
Z():v
[u]:-pi,  pi
[v]:-pi,  pi


Dini's surface of constant negative curvature -1/a^2. It is the generalized helicoid of slant b generated by a tractrix. The case b=0 is the standard parametrization of a pseudosphere.
Code:
X():a*cos(u)*sin(v)
Y():a*sin(u)*sin(v)
Z():a*(cos(v) + log(tan(v/2))) + b*u
[u]:0,  4*pi
[v]:0.05,  1
You have to replace a and b, for example for a=1 and b=0.2 you get
Code:
X():cos(u)*sin(v)
Y():sin(u)*sin(v)
Z():(cos(v) + log(tan(v/2))) + 0.2*u
[u]:0,  4*pi
[v]:0.05,  1


Elliptic paraboloid
Code:
X():u
Y():v
Z():u^2/a^2 + v^2/b^2
[u]:-1,  1
[v]:-1,  1
You have to replace a and b. For example for a=1 and b=2 you get
Code:
X():u
Y():v
Z():u^2 + v^2/2^2
[u]:-1,  1
[v]:-1,  1


Helicoid-like surface whose twisting varies exponentially
Code:
X():v*cos(u)
Y():v*sin(u)
Z():exp(c*u)
[u]:0,  4*pi
[v]:-1,  1
You have to replace c. For example for c=0.2 you get
Code:
X():v*cos(u)
Y():v*sin(u)
Z():exp(0.2*u)
[u]:0,  4*pi
[v]:-1,  1


Funnel
Code:
X():a*v*cos(u)
Y():b*v*sin(u)
Z():c*log(v)
[u]:-pi,  pi
[v]:0.01,  1
You have to replace a, b and c. For example for a=5, b=1, c=2 you get
Code:
X():5*v*cos(u)
Y():v*sin(u)
Z():2*log(v)
[u]:-pi,  pi
[v]:0.01,  1


Handkerchief shaped surface
Code:
X():u
Y():u
Z():(1/3)*u^3 + u*v^2 +a*(u^2 - v^2)
[u]:-1 , 1
[v]:0 , 1
You have to replace a. For example, for a=1 you get
Code:
X():u
Y():u
Z():(1/3)*u^3 + u*v^2 +(u^2 - v^2)
[u]:-1 , 1
[v]:0 , 1


Elliptical helicoid of slant c.
Code:
X():a*v*cos(u)
Y():b*v*sin(u)
Z():c*u
[u]:0,4*pi
[v]:-1,1
You have to replace a,b and c. For example for a=1, b=1, c=0.3
Code:
X():v*cos(u)
Y():v*sin(u)
Z():0.3*u
[u]:0,4*pi
[v]:-1,1


Elliptical hyperboloid of two sheets
Code:
X():a*cosh(u)*cosh(v)
Y():b*sinh(u)*cosh(v)
Z():c*sinh(v)
[u]:-1,1
[v]:-1,1
You have to replace a, b and c. For example, for a=b=c=1 you get
Code:
X():cosh(u)*cosh(v)
Y():sinh(u)*cosh(v)
Z():sinh(v)
[u]:-1,1
[v]:-1,1


Hyperbolic paraboloid
Code:
X():u
Y():v
Z():u*v
[u]:-1,1
[v]:-1,1


Elliptical hyperboloid of one sheet
Code:
X():a*cosh(v)*cos(u)
Y():b*cosh(v)*sin(u)
Z():c*sinh(v)
[u]:0,2*pi
[v]:-2,2
You have to replace a, b and c. For example for a=1, b=2 and c=3 you get
Code:
X():cosh(v)*cos(u)
Y():2*cosh(v)*sin(u)
Z():3*sinh(v)
[u]:0,2*pi
[v]:-2,2


Another parametrization of an hyperboloid
Code:
X():a*sec(v)*cos(u)
Y():b*sec(v)*sin(u)
Z():c*tan(v)
[u]:0,3*pi/2
[v]:-pi/2,pi/2
You have to replace a, b and c. For example for a=1, b=2 and c=3 you get
Code:
X():sec(v)*cos(u)
Y():2*sec(v)*sin(u)
Z():3*tan(v)
[u]:0,3*pi/2
[v]:-pi/2,pi/2


Polar parametrization of Jorge-Meeks 2-oid
Code:
X():(1/8)*log((1 + u^2 + 2*u*cos(v))/(1 + u^2 - 2*u*cos(v)))
Y():-u*(1 + u^2)*sin(v)/(2*(1 + u^4 - 2*u^2*cos(2*v)))
Z():(1 - u^4)/(4*(1 + u^4 - 2*u^2*cos(2*v)))
[u]:-1.9,1.9
[v]:0.1,pi-0.1


Kuen's surface of constant negative curvature
Code:
X():2*(cos(u) + u*sin(u))*sin(v)/(1 + u^2*sin(v)^2)
Y():2*(sin(u) - u*cos(u))*sin(v)/(1 + u^2*sin(v)^2)
Z():log(tan(v/2)) + 2*cos(v)/(1 + u^2*sin(v)^2)
[u]:-4,4
[v]:0.01,  pi
-0.01


Menn's surface
Code:
X():u
Y():v
Z():a*u^4 + u^2*v - v^2
[u]:-1.5,1.5
[v]:-1.5,1.5
You have to replace a. For example, for a=1, you get
Code:
X():u
Y():v
Z():u^4 + u^2*v - v^2
[u]:-1.5,1.5
[v]:-1.5,1.5


Mercator injection of an ellipsoid with axes of lengths a, b and c
Code:
X():cos(u)/cosh(v)
Y():2*sin(u)/cosh(v)
Z():3*tanh(v)
[u]:0,3*pi/2
[v]:-0.49*pi,0.49*pi
You have to replace a,b and c. For example for a=1, b=2 and c=3 you get
Code:
X():cos(u)/cosh(v)
Y():2*sin(u)/cosh(v)
Z():3*tanh(v)
[u]:0,3*pi/2
[v]:-0.49*pi,0.49*pi


Parametrization of a Moebius strip that has a circle as boundary
Code:
X():(-2*cos(2*v)*sin(u))/
     (-2 + sqrt(2)*cos(u)*sin(v) + sqrt(2)*sin(u)*sin(2*v))
Y():(sqrt(2)*(cos(u)*sin(v) - sin(u)*sin(2*v)))/
     (-2 + sqrt(2)*cos(u)*sin(v) + sqrt(2)*sin(u)*sin(2*v))
Z():(-2*cos(u)*cos(v))/
     (-2 + sqrt(2)*cos(u)*sin(v) + sqrt(2)*sin(u)*sin(2*v))
[u]:0,pi
[v]:0,pi


Moebius strip's standard parametrization
Code:
X():(cos(u) + v*cos(u/2)*cos(u))
Y():(sin(u) + v*cos(u/2)*sin(u))
Z():v*sin(u/2)
[u]:0,2*pi
[v]:-0.3,0.3


Monkey saddle
Code:
X():u
Y():v
Z():u^3 - 3*u*v^2
[u]:-1.1,1.1
[v]:-1.1,1.1


Polar parametrization of a monkey saddle with n - 2 tails.
Code:
X():u*cos(v)
Y():u*sin(v)
Z():u^n*cos(n*v)
[u]:0,  1
[v]:0,  2*pi
You have to replace n. For example, for n=3 you get.
Code:
X():u*cos(v)
Y():u*sin(v)
Z():u^3*cos(3*v)
[u]:0,  1
[v]:0,  2*pi


Cyclide of Dupin of radius k whose focal sets are the parabolas u->{u,0,-u^2/(8*a) + a} and v->{0,v,v^2/(8*a) - a}
Code:
X():u*(8*a^2 + k + v^2)/(16*a^2 + u^2 + v^2)
Y():v*(8*a^2 - k + u^2)/(16*a^2 + u^2 + v^2)
Z():(16*a^2*(k - u^2 + v^2) - k*(u^2 + v^2))/(8*a*(16*a^2 + u^2 + v^2))
[u]:-40,40
[v]:-40,40
You have to replace a and k. For example for a=2 and k=1 you get
Code:
X():u*(33 + v^2)/(64 + u^2 + v^2)
Y():v*(31 + u^2)/(64 + u^2 + v^2)
Z():(64*(1 - u^2 + v^2) - (u^2 + v^2))/(16*(64 + u^2 + v^2))
[u]:-40,40
[v]:-40,40


Elliptic or hyperbolic paraboloid
Code:
X():u
Y():v
Z():a*u^2 + b*v^2+c*u*v
[u]:-1,1
[v]:-1,1
You have to replace a, b and c. For example for a=b=1 and c=0 you get
Code:
X():u
Y():v
Z():u^2 + v^2
[u]:-1,1
[v]:-1,1


Polar parametrization of a generalized paraboloid
Code:
X():a*u*cos(v)
Y():b*u*sin(v)
Z():b*u^n
[u]:0,1
[v]:0,2*pi
You have to replace n, a and b. For example for n=2, a=2 and b=1 you get
Code:
X():2*u*cos(v)
Y():u*sin(v)
Z():u^2
[u]:0,1
[v]:0,2*pi


Monkey saddle perturbed by a circular paraboloid
Code:
X():u
Y():v
Z():u^3 - 3*u*v^2 + a*(u^2 + v^2)
[u]:-1,1
[v]:-1,1
You have to replace a. For example for a=-1 you get
Code:
X():u
Y():v
Z():u^3 - 3*u*v^2 - (u^2 + v^2)
[u]:-1,1
[v]:-1,1


Polar parametrization of a monkey saddle of order n perturbed by a circular paraboloid.
Code:
X():u*cos(v)
Y():u*sin(v)
Z():u^n*cos(n*v) + a*u^2
[u]:0,1
[v]:0,2*pi
You have to replace n and a. For example for n=3 and a=-1 you get
Code:
X():u*cos(v)
Y():u*sin(v)
Z():u^3*cos(3*v) - u^2
[u]:0,1
[v]:0,2*pi


A plane
Code:
X():a1*u + a2*v
Y():b1*u + b2*v
Z():c1*u + c2*v
[u]:-pi,pi
[v]:-pi,pi
You have to replace a1, b1, c1, a2, b2 and c2. For example
Code:
X():u+v
Y():u-v
Z():2*u-3*v
[u]:-pi,pi
[v]:-pi,pi


Generalization of the monkey saddle and Plucker's surface
Code:
X():u
Y():v
Z():(u+v)^(m/2)*sin(4*atan(v/u))
[u]:-1,1
[v]:-1,1
You have to replace m and n. For example for m=2 and n=4 you get
Code:
X():u
Y():v
Z():(u+v)*sin(4*atan(v/u))
[u]:-1,1
[v]:-1,1


Plucker's surface with n folds
Code:
X():u
Y():v
Z():sin(n*atan(v/u))
[u]:-1,1
[v]:-1,1
You have to replace n. For example, for n=6 you get
Code:
X():u
Y():v
Z():sin(6*atan(v/u))
[u]:-1,1
[v]:-1,1


Plucker's surface
Code:
X():u
Y():v
Z():2*u*v/(u^2 + v^2)
[u]:-1,1
[v]:-1,1


Generalization of the polar parametrizations of the monkey saddle and Plucker's surface.
Code:
X():u*cos(v)
Y():u*sin(v)
Z():u^m*sin(n*v)
[u]:0,1
[v]:-pi,pi
You have to replace m and n. For example for m=2 and n=3 you get
Code:
X():u*cos(v)
Y():u*sin(v)
Z():u^2*sin(3*v)
[u]:0,1
[v]:-pi,pi


Polar parametrization of Plucker's surface with n folds
Code:
X():u*cos(v)
Y():u*sin(v)
Z():sin(n*v)
[u]:0,1
[v]:-pi,pi
You have to replace n. For example for n=5 you get
Code:
X():u*cos(v)
Y():u*sin(v)
Z():sin(5*v)
[u]:0,1
[v]:-pi,pi


Elliptical "pseudosphere"
Code:
X():a*cos(u)*sin(v)
Y():b*sin(u)*sin(v)
Z():c*(cos(v) + log(tan(v/2)))
[u]:0,2*pi
[v]:0.001,pi-0.001
You have to replace a, b and c. For example for a=1, b=2 and c=3 you get
Code:
X():cos(u)*sin(v)
Y():2*sin(u)*sin(v)
Z():3*(cos(v) + log(tan(v/2)))
[u]:0,2*pi
[v]:0.001,pi-0.001


Right conoid
Code:
X():v*cos(u)
Y():v*sin(u)
Z():2*sin(u)
[u]:-pi,pi
[v]:-2,2


Shoe resembles the instep of a shoe.
Code:
X():u
Y():v
Z():a*u^3+b*v^2
[u]:-1.5,1.5
[v]:-1.5,1.5
You have to replace a and b. For example for a=1 and b=-1 you get
Code:
X():u
Y():v
Z():u^3-v^2
[u]:-1.5,1.5
[v]:-1.5,1.5


Sievert's surface of constant positive curvature a^2.
Code:
X():(2/(a + 1 - a*sin(v)^2*cos(u)^2))*(sqrt((a + 1)*(1 + a*sin(u)^2))*sin(v)/sqrt(a))*cos(-u/sqrt(a + 1) + atan(sqrt(a + 1)*tan(u)))
Y():(2/(a + 1 - a*sin(v)^2*cos(u)^2))*(sqrt((a + 1)*(1 + a*sin(u)^2))*sin(v)/sqrt(a))*sin(-u/sqrt(a + 1) + atan(sqrt(a + 1)*tan(u)))
Z():log(tan(v/2))/sqrt(a) + 2*(a + 1)*cos(v)/((a + 1 - a*sin(v)^2*cos(u)^2)*sqrt(a))
[u]:-pi/2,pi/2
[v]:0.1,pi-0.1
You have to replace a. For example for a=1 you get
Code:
X():(2/(2 - sin(v)^2*cos(u)^2))*(sqrt(2*(1 + sin(u)^2))*sin(v))*cos(-u/sqrt(2) + atan(sqrt(2)*tan(u)))
Y():(2/(2 - sin(v)^2*cos(u)^2))*(sqrt(2*(1 + sin(u)^2))*sin(v))*sin(-u/sqrt(2) + atan(sqrt(2)*tan(u)))
Z():log(tan(v/2)) + 4*cos(v)/((2 - sin(v)^2*cos(u)^2))
[u]:-pi/2,pi/2
[v]:0.1,pi-0.1


Stereographic parametrization of an ellipsoid with axes of lengths a, b and c
Code:
X():2*a*u/(u^2 + v^2 + 1)
Y():2*b*v/(u^2 + v^2 + 1)
Z():c*(u^2 + v^2 - 1)/(u^2 + v^2 + 1)
[u]:-2.8,2.8
[v]:-2.8,2.8
You have to replace a, b and c. For example for a=5, b=3 and c=1 you get
Code:
X():10*u/(u^2 + v^2 + 1)
Y():6*v/(u^2 + v^2 + 1)
Z():(u^2 + v^2 - 1)/(u^2 + v^2 + 1)
[u]:-2.8,2.8
[v]:-2.8,2.8


Stereographic parametrization of a sphere
Code:
X():2*u/(u^2 + v^2 + 1)
Y():2*v/(u^2 + v^2 + 1)
Z():(u^2 + v^2 - 1)/(u^2 + v^2 + 1)
[u]:-2.8,2.8
[v]:-2.8,2.8


Polar stereographic parametrization of a sphere
Code:
X():2*exp(b*v)*u*cos(v)/(1 + exp(2*b*v)*u^2)
Y():2*exp(b*v)*u*sin(v)/(1 + exp(2*b*v)*u^2)
Z():(-1 + exp(2*b*v)*u^2)/(1 + exp(2*b*v)*u^2)
[u]:0,3
[v]:0,2*pi
You have to replace b. For example for b=0.05 you get
Code:
X():2*exp(0.05*v)*u*cos(v)/(1 + exp(0.1*v)*u^2)
Y():2*exp(0.05*v)*u*sin(v)/(1 + exp(0.1*v)*u^2)
Z():(-1 + exp(0.1*v)*u^2)/(1 + exp(0.1*v)*u^2)
[u]:0,3
[v]:0,2*pi


Swallow tail shaped surface
Code:
X():3*v^4 + u*v^2
Y():-4*v^3 - 2*u*v
Z():u
[u]:-3,2
[v]:-0.8,0.8


Tetrahedral surface
Code:
X():A*(u - a)^m*(v - a)^n
Y():B*(u - b)^m*(v - b)^n
Z():C*(u - c)^m*(v - c)^n
[u]:0,1
[v]:0,1
You have to replace A, a, B, b, C and c. For example
Code:
X():(u-1)*(v-1)^2
Y():2*(u-1/2)*(v-1/2)^2
Z():1/3*(u-3)*(v-3)^2
[u]:0,1
[v]:0,1


Generalized helicoid of zero Gaussian curvature of slant sl
Code:
X():v*cos(u)
Y():v*sin(u)
Z():sl*u+asin(c/(v*a))*c+sqrt(v^2*a^2-c^2)
[u]:0,7*pi/2
[v]:1,5
You have to replace a, c and sl. For example, for a=c=sl=1 you get[code:1:89cab81d3d]X():v*cos(u)
Y():v*sin(u)
Z():u+asin(1/v)+sqrt(v^2-1)
[u]:0,7*pi/2
Back to top View user's profile Send private message
abdelhamid belaid



Joined: 13 Aug 2009
Posts: 170

PostPosted: Wed Feb 01, 2012 4:27 pm    Post subject: Reply with quote

Very nice works, thank you much Jolkap Smile
_________________
My YouTube channel
Back to top View user's profile Send private message Send e-mail Visit poster's website
nextstep
Site Admin


Joined: 06 Jan 2007
Posts: 538

PostPosted: Sun Feb 05, 2012 11:39 pm    Post subject: Reply with quote

Hi,
Great list indeed... Thank you for sharing Smile
_________________
Cheers,
Abderrahman
Back to top View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    K3DSurf forum Forum Index -> Mathematical Models Collection All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


2005 Powered by phpBB © 2001, 2005 phpBB Group


Start Your Own Video Sharing Site

Free Web Hosting | Free Forum Hosting | FlashWebHost.com | Image Hosting | Photo Gallery | FreeMarriage.com

Powered by PhpBBweb.com, setup your forum now!
For Support, visit Forums.BizHat.com