Minimal surfaces#

Helicoid#

See also: https://mathworld.wolfram.com/Helicoid.html

See also Wikipedia [1484], MathWorld [1160].

TestHelicoid_a \(\quad\) TestHelicoid_b

Left figure: Helicoid (see also Wikipedia [1462], Gray et al. [368], Krivoshapko and Ivanov [421]).

Right figure: Helicoid (see also Wikipedia [1444], Gray et al. [368], Krivoshapko and Ivanov [421]).

double a = 1;
x = u * Math.Cos(v);
z = u * Math.Sin(v);
y = v;

References

Gray, A. Modern Differential Geometry of Curves and Surfaces with Mathematica, 2nd ed. Boca Raton, FL: CRC Press, pp. 449 and 644, 1997.

Bours minimal surface#

See also: https://mathworld.wolfram.com/BoursMinimalSurface.html

See also Wikipedia [1484], MathWorld [1160].

double sv = Math.Sin(v);
double s2v = Math.Sin(2*v);
double c32u = Math.Cos(1.5*v);
double cv = Math.Cos(v);
double c2v = Math.Cos(2*v);
double u2 = 0.5*u*u;
double u32 = (4/3)* Math.Sqrt(u*u*u);
x = u * cv - u2 * c2v;
y = -u * sv - u2 * s2v;
z = u32 * c32u;

TestBour_a \(\quad\) TestBour_b

Left figure: Bours Minimal Surface (see also Wikipedia [1462], Gray et al. [368], Krivoshapko and Ivanov [421]).

Right figure: Bours Minimal Surface (see also Wikipedia [1444], Gray et al. [368], Krivoshapko and Ivanov [421]).

Catalan minimal surface#

See also: https://mathworld.wolfram.com/CatalanMinimalSurface.html

See also: https://en.wikipedia.org/wiki/Catalan%27s_minimal_surface

See also Wikipedia [1484], MathWorld [1160].

x = u - u * u * u / 3 + u * v * v;
y = u * u - v * v;
z = v - v * v * v / 3 + v * u * u;

TestCatalan_a \(\quad\) TestCatalan_b

Left figure: Catalan Minimal Surface (see also Wikipedia [1462], Gray et al. [368], Krivoshapko and Ivanov [421]).

Right figure: Catalan Minimal Surface (see also Wikipedia [1444], Gray et al. [368], Krivoshapko and Ivanov [421]).

Ennepers first minimal surface#

See also: https://mathworld.wolfram.com/EnnepersMinimalSurface.html

See also: https://en.wikipedia.org/wiki/Enneper_surface

See also Wikipedia [1484], MathWorld [1160].

x = u - u * u * u / 3 + u * v * v;
y = u * u - v * v;
z = v - v * v * v / 3 + v * u * u;

TestEnneper_a \(\quad\) TestEnneper_b

Left figure: Ennepers Minimal Surface (see also Wikipedia [1462], Gray et al. [368], Krivoshapko and Ivanov [421]).

Right figure: Ennepers Minimal Surface (see also Wikipedia [1444], Gray et al. [368], Krivoshapko and Ivanov [421]).

Enneper second minimal surface#

See also: https://mathcurve.com/surfaces.gb/enneper/enneper.shtml

See also Wikipedia [1484], MathWorld [1160].

double n = 2;
double a = 1;

Complex i = Complex.ImaginaryOne;
Complex w = new Complex(u, v);
Complex w2nm1 = Complex.Pow(w, 2*n-1)/(2*n-1);
Complex wn = Complex.Pow(w, n);
x = a * (w - w2nm1).Real;
y = a * (-i*(w + w2nm1)).Real;
z = 2 * a * (wn/n).Real;

TestEnneper2_a \(\quad\) TestEnneper2_b

Left figure: Ennepers Minimal Surface2 (see also Wikipedia [1462], Gray et al. [368], Krivoshapko and Ivanov [421]).

Right figure: Ennepers Minimal Surface2 (see also Wikipedia [1444], Gray et al. [368], Krivoshapko and Ivanov [421]).

Hennebergs minimal surface#

See also: https://mathworld.wolfram.com/HennebergsMinimalSurface.html

See also: https://en.wikipedia.org/wiki/Henneberg_surface

See also Wikipedia [1484], MathWorld [1160].

double sv = Math.Sin(v);
double s3v = Math.Sin(3*v);
double cv = Math.Cos(v);
double c2v = Math.Cos(2*v);
double c3v = Math.Cos(3*v);
double shu = Math.Sinh(u);
double ch2u = Math.Cosh(2*u);
double sh3u = Math.Sinh(3*u);
x = 2*shu * cv - (2.0/3.0)*sh3u * c3v;
y = 2*shu * sv + (2.0/3.0)*sh3u * s3v;
z = 2*ch2u * c2v;

TestHenneberg_a \(\quad\) TestHenneberg_b

Left figure: Hennebergs Minimal Surface (see also Wikipedia [1462], Gray et al. [368], Krivoshapko and Ivanov [421]).

Right figure: Hennebergs Minimal Surface (see also Wikipedia [1444], Gray et al. [368], Krivoshapko and Ivanov [421]).

Scherk’s first minimal surface#

See also Wikipedia [1484], MathWorld [1160].

See also https://mathcurve.com/surfaces.gb/scherk/scherk.shtml See also Krivoshapko and Ivanov [421], p. 431

var a = 1 / Math.PI;
var x = u;
var z = v;
var y = a * Math.Log(Math.Cos(v / a) / Math.Cos(u / a));
z = -z;

TestScherk1_a \(\quad\) TestScherk1_b

Left figure: Scherk’s first minimal surface (see also Wikipedia [1462], Gray et al. [368], Krivoshapko and Ivanov [421]).

Right figure: Scherk’s first minimal surface (see also Wikipedia [1444], Gray et al. [368], Krivoshapko and Ivanov [421]).

Scherk’s second minimal surface#

See also Wikipedia [1484], MathWorld [1160].

See also https://mathworld.wolfram.com/ScherksMinimalSurfaces.html

See also Krivoshapko and Ivanov [421], p. 442

var t = v;
var r = u;
var r2 = r * r;
var ct = Math.Cos(t);
var st = Math.Sin(t);
var x = Math.Log((1 + r2 + 2 * r * ct) / (1 + r2 - 2 * r * ct));
var y = Math.Log((1 + r2 - 2 * r * st) / (1 + r2 + 2 * r * st));
var z = 2 * Math.Atan((2 * r2 * Math.Sin(2 * t)) / (r2 * r2 - 1));
y = -y;

TestScherk2_a \(\quad\) TestScherk2_b

Left figure: Scherk’s second minimal surface (see also Wikipedia [1462], Gray et al. [368], Krivoshapko and Ivanov [421]).

Right figure: Scherk’s second minimal surface (see also Wikipedia [1444], Gray et al. [368], Krivoshapko and Ivanov [421]).

Richmond minimal surface#

// See also: http://www.3d-meier.de/tut3/Seite250.html // Richmond Surface III // See also: https://en.wikipedia.org/wiki/Richmond_surface

var n = 2.0;
var u2s = Math.Pow(u, 2 * n + 1) / (4 * n + 2);
var x = -Math.Cos(v) / (2 * u) - u2s * Math.Cos(-(2 * n + 1) * v);
var y = -Math.Sin(v) / (2 * u) + u2s * Math.Sin(-(2 * n + 1) * v);
var z = Math.Pow(u, n) * Math.Cos(n * v) / n;

TestRichmond_a \(\quad\) TestRichmond_b \(\quad\) TestRichmond_c

Left figure: Richmond minimal surface (see also Wikipedia [1462], Gray et al. [368], Krivoshapko and Ivanov [421]).

Middle figure: Richmond minimal surface (see also Wikipedia [1444], Gray et al. [368], Krivoshapko and Ivanov [421]).

Right figure: Richmond minimal surface (see also Wikipedia [1444], Gray et al. [368], Krivoshapko and Ivanov [421]).

TestRichmond_d \(\quad\) TestRichmond_e \(\quad\) TestRichmond_f

Left figure: Richmond minimal surface (see also Wikipedia [1462], Gray et al. [368], Krivoshapko and Ivanov [421]).

Middle figure: Richmond minimal surface (see also Wikipedia [1444], Gray et al. [368], Krivoshapko and Ivanov [421]).

Right figure: Richmond minimal surface (see also Wikipedia [1444], Gray et al. [368], Krivoshapko and Ivanov [421]).

Generalized Ennneper surfaces#

// See also: http://www.3d-meier.de/tut3/Seite247.html // Wavy Enneper Surface

var s = 2.0;
var u2s = Math.Pow(u, 2 * s - 1) / (2 * s - 1);
var x = u * Math.Cos(v) - u2s * Math.Cos((2 * s - 1) * v);
var y = -u * Math.Sin(v) - u2s * Math.Sin((2 * s - 1) * v);
var z = 2 * Math.Pow(u, s) * Math.Cos(s * v) / s;

TestGenEnneper_b \(\quad\) TestGenEnneper_c \(\quad\) TestGenEnneper_d

Left figure: Richmond minimal surface (see also Wikipedia [1462], Gray et al. [368], Krivoshapko and Ivanov [421]).

Middle figure: Richmond minimal surface (see also Wikipedia [1444], Gray et al. [368], Krivoshapko and Ivanov [421]).

Right figure: Richmond minimal surface (see also Wikipedia [1444], Gray et al. [368], Krivoshapko and Ivanov [421]).

TestGenEnneper_e \(\quad\) TestGenEnneper_f \(\quad\) TestGenEnneper_g

Left figure: Generalized Ennneper surface (see also Wikipedia [1462], Gray et al. [368], Krivoshapko and Ivanov [421]).

Middle figure: Generalized Ennneper surface (see also Wikipedia [1444], Gray et al. [368], Krivoshapko and Ivanov [421]).

Right figure: Generalized Ennneper surface (see also Wikipedia [1444], Gray et al. [368], Krivoshapko and Ivanov [421]).