 Overview  Model Viewer  ODE Solver  RootFinder  Geodesic  Algebraic  Knots  Unfolder

## Examples of Algebraic Surfaces

Here are some example definitions you can try in the Algebraic Surface applet. Often, you can simply use cut-and-paste to grab the examples and paste them into the text field of the applet. Note, many examples are already built into the applet and may be selected from the pull-down menu.

### Different Singularities Which Can Appear

These are taken from a classification of degenerate points, see Singularities of Maps from R^3 to R for a bit more explanation.

Type Normal form Alternate forms
A0 (not singular) x - y^2 - z^2; x + y^2 - z^2;
A1 x^2 - y^2 - z^2; x^2 + y^2 + z^2; (isolated point)
A2 x^3 - y^2 - z^2; x^3 + y^2 - z^2;
A3 x^4 - y^2 - z^2; x^4 + y^2 - z^2;
x^4 + y^2 + z^2; (isolated point)
A4 x^5 - y^2 - z^2; x^5 + y^2 - z^2;
D4 x^2 y - y^3 - z^2; x^2 y + y^3 - z^2;
D5 x^2 y - y^4 - z^2; x^2 y + y^4 - z^2;
D6 x^2 y - y^5 - z^2; x^2 y + y^5 - z^2;
E6 x^3 - y^4 - z^2; x^3 + y^4 - z^2;
E7 x^3 - x y^3 - z^2;
E8 x^3 - y^5 - z^2;

Then there are some highly degenerate surfaces where whole curves are singular.

A Cross-cap
`x^2 y - z^2 = 0;`
A Swallowtail surface
`4 z^3 y^2 - 27 y^4 + 16 x z^4 -128 x^2 z^2 - 144 x y^2 z + 256 x^3 = 0;`

### Deformations of Surfaces

The reason why the above singularities are important is that when you have a family of surfaces controlled by a number of parameters you will often find some surfaces which contain one of these singularities. For example consider the one parameter family of surfaces:

`x^2 - y^2 - z^2 = a;`

for each different value of a you get a different surface. When a < 0 you get a hyperboloid of one sheet and when a > 0 you get a hyperboloid of two sheets. When a = 0 you get a surface which contains an A1 singularity. Try using the equation

```x^2 - y^2 - z^2 = a;
a = 0.1;```

with a taking the values 0.1, 0.05, 0, -0.05, -0.1. In a one parameter family you typically only get A1 singularities either of the type shown above or its alternate form. The alternate form is just an isolated point, which occurs in the family

`x^2 + y^2 + z^2 = a;`

Lots of fun can be had by taking one of the more complicated singularities such as D4 and adding lower degree terms for example try

```x^2 y - y^3 - z^2 + a x^2 + b y^2 + c (x^2-y^2) + d y z = 0;
a = 0.0;
b = 0.0;
c = 0.0;
d = 0.0;```

And vary the values of a, b, c, d. When a and b are non zero you get surfaces which show A2 singularities. Perhaps the most fun is had when the value of c is changed and a surfaces with three A1 points is displayed.

Another deformation to try is to take the D5 and add on multiples of y^3

```x^2 y + y^4 - z^2 + a y^3 = 0;
a = -0.5;```

You can do the same trick with the other forms of D4 and D5 as well as any of the other higher singularities.

### Collection of Other Surfaces

Sphere
`x^2 + y^2 + z^2 = 1;`
A squared off sphere
```x^4 + y^4 + z^4 = 1;
(You can increase the powers to get nearer to a cube.)```
Three planes
`x y z = 0;`
Cayley's Cubic
`4(x^2+y^2+z^2) + 16xyz = 1;`

Working in complex projective 3 space there is only one cubic with 4 singular points (up to isomorphism), which is called Cayley's cubic. An equation for this is

`4(x^3+y^3+z^3+w^3)-(x+y+z+w)^3 = 0;`

In real 3D space the other versions can look very different:

```4(x^3+y^3+z^3+w^3)-(x+y+z+w)^3 = 0;
w = 1;```

or

`-5(x^2*y+x^2*z+y^2*x+y^2*z+z^2*y+z^2*x)+2*(x*y+x*z+y*z)=0;`
Sextic Surface with 65 Singularities
```4( t^2 x^2 - y^2)(t^2 y^2-z^2)(t^2 z^2-x^2)-
(1 + 2t)(x^2 + y^2 + z^2 - 1)^2 = 0;
t = 1.618034;```

The second equation defines the value of t, the golden ratio. Use +/-2 for the domain bounds.

Steiner's Roman Surface
`x^2 y^2 + y^2 z^2 + z^2 x^2 = 2 x y z ;`
Kummer surface
```(3-v^2)(x^2+y^2+z^2-v^2)^2 -(3 v^2 - 1) p q r s = 0;
p = 1 - z - x rt2;
q = 1 - z + x rt2;
r = 1 + z + y rt2;
s = 1 + z - y rt2;
v = 1.1;
rt2 = sqrt(2);```

You can vary the value of v to get different surfaces, try v=1, 1.1, 1.5, 1.7, 1.8, 2. Note the similarity with the Roman surface.

Dupin Cyclides This is a family of quartic surfaces which are generalization of a torus.
```(r1^2 - dy^2 - (dx + r0)^2)(r1^2 - dy^2 - (dx - r0)^2)*
(x^4+y^4+z^4)+ 2((r1^2 - dy^2 - (dx + r0)^2 )*
(r1^2 - dy^2 - (dx - r0)^2)(x^2 y^2+x^2 z^2+y^2 z^2))+
2 ri^2 ((-dy^2-dx^2+r1^2+r0^2)(2 x dx+2 y dy-ri^2)-4 dy r0^2 y)*
(x^2+y^2+z^2)+ 4 ri^4(dx x+dy y)(-ri^2+dy y+dx x)+
4 ri^4 r0^2 y^2+ri^8 = 0;
r0=2.1; r1=2; dx=2; dy=0; ri=2;```

Use +-5 for domain limits. Where

```r0    = Major radius of generating Torus.
r1    = Minor radius of generating Torus.
dx,dy = Torus displacement.

Other examples to try:

```r0=1.9; r1=2;  dx=2;   dy=0;  ri=2;
r0=2;   r1=2;  dx=2;   dy=0;  ri=2;
r0=2.1; r1=2;  dx=2;   dy=0;  ri=2;
r0=4;   r1=2;  dx=2;   dy=0;  ri=2;
r0=4.5; r1=2;  dx=2;   dy=0;  ri=2;
r0=1.1; r1=2;  dx=5.5; dy=0;  ri=3.0;```

Look at this one with edges on and elements off.

Boys surface
```64 (1-z)^3 z^3- 48 (1-z)^2 z^2 (3 x^2+3 y^2+2 z^2)+
12 (1-z) z (27 (x^2+y^2)^2-24 z^2 (x^2+y^2)+
36 sqrt(2) y z (y^2-3 x^2)+4 z^4)+
(9 x^2+9 y^2-2 z^2) (-81 (x^2+y^2)^2-72 z^2 (x^2+y^2)+
108 sqrt(2) x z (x^2-3 y^2)+4 z^4) = 0;```
Skeleton of a cube
`x^4 + y^4 + z^4 - 5 (x^2 + y^2 + z^2 ) + 11.8 = 0;`

Use +/- 3 for the domain bounds. It looks quite nice if 12.5 is used as the constant.

Tetrahedral skeleton
```(x^2+y^2+z^2-a*k^2)^2-b*((z-k)^2-2*x^2)*((z+k)^2-2*y^2) = 0;
k=5; a=0.95; b=0.8;```

Use +/- 5 for the domain bounds.

Hunt's Surface
```4 (x^2 + y^2 + z^2 - 13)(x^2 + y^2 + z^2 - 13)(x^2 + y^2 + z^2 - 13) +
27 (3 x^2 + y^2 -4 z^2 - 12)^2 = 0;```

Use +/- 5 for domain bounds.

Some other Surfaces from the Hand of Cayley
```a1*p1+(a2*z+a3)*p3+a4*z^3+a5*z^2+a6*z+a7 = 0;
p1 =  2*x^3-6*x*y^2;
p3 =  x^2+y^2;
a3 = -3*a1;
a5 =  a2^2/(3.0*a1);
a6 = -a2;
a7 =  a1;
a1 = -1.0;
a2 = -1.0;
a4 =  1.0;```

Use +/-2 for the domain bounds.

```a1*p1+(a2*z+a3)*p3+a4*z^3+a5*z^2+a6*z+a7 = 0;
p1 =  2*x^3-6*x*y^2;
p3 =  x^2+y^2;
a1 = -0.8;
a2 =  0.0;
a3 =  0.0;
a4 =  1.0;
a5 =  0.8;
a6 =  0.0;
a7 =  0.0;```

```25*z^3+16*z*y^2+60*x^2*y+50*z^2 = 0;
p1 =  2*x^3-6*x*y^2;
p3 =  x^2+y^2;
a1 =  3.0;
a2 =  0.8;```

Use +-4 for domain bounds.

`x^2+y^2+z^3+3.2*(x^3-3*x*y^2) = 0;`

```16*p*q*r-s^3 = 0;
p  =  1-z-w2*x;
q  =  1-z+w2*x;
r  =  1+z+w2*y;
s  =  1+z-w2*y;
w2 = 1.414214;```
Kohn-Nirenberg Domain
```3 z + 9 z^2*b + b^4 + 15/7*b*re + a*(x^2 + y^2 + 9 z^2)^5 = 0;
b  = x^2 + y^2;
re = ((x,y)*(x,y)*(x,y)*(x,y)*(x,y)*(x,y)).(1,0);
a  = 0.0;```

Use +/-3 for the domain). Try a=0, 0.3, 0.64, 1.0.

Five-Fold Oddity
`z + ((x,y)*(x,y)*(x,y)*(x,y)*(x,y)).(1,0);`

Use +/-2 for the domain bounds. This example illustrates some more complex features of the syntax, namely the use of vectors and the fact that 2D vectors can be used as complex numbers. Hence (x,y)*(x,y) calculates the square of the complex number (x,y) and (x,y).(1,0) calculates the dot product of two vectors. Here it calculates the real part of (x,y)^5.

### Other Pages about Algebraic Surfaces

Many of the equations here have been pinched from other place on the web, have a look to see some other wonderful surface.

and Richard Morris' own

Web page, applet and Algebraic Surface program by Richard Morris, copyright 1990-2003.