Main applet window General Help JavaView Help.

For details of the basic operation of the program see the Main Help page. Some special options specific to the calculation of algebraic surfaces is below. Example definitions plus some explanation are also below.

These parameters control the range over which the surface is calculated. *Its
best if unequal values are chosen for the ranges. Otherwise certain degeneracies
may occur which can lead to poorer results. *

These parameters control how detailed the resulting mesh will be. Each of
these must be a power of two. The box specified by the range is split into a
number of smaller boxes and points of the faces of these boxes will be found
together with any singularities lying in the middle of them. The **Coarse**
parameter specifies the number of smaller boxes, by default 8 along the x, y,
z directions, i.e. 512 boxes. The **Fine** parameter specifies the smallest
box size used to find a singularity. The **Face** specifies how accurately
each face of the box is subdivided and the **edge** parameter specifies how
accurately each edge is subdivided.

Generally you will just want to change the **Coarse** parameter.
If the singularities are not calculated very well then you could also increase
the **Fine** parameter.
Lowering the other parameters may give quicker results. Not much will be gained
by increasing them. As a rule you should keep
**Coarse < Fine < Face < Edge** or the results will be unpredictable.

If a degenerate surface is specified the program can take a very long time to run. To prevent this from happening the cgi program will timeout after a certain time. This may mean the surface will not be calculated properly. If you want to calculate more complicated surfaces please email me at rich@singsurf.org and I'll provide a version you can run at home which does not have the timeout restriction.

Some surfaces such as the cross cap `x^2 y + z^2 = 0;` can contain
degenerate lines, and isolated points as well as surface you normally expect.
By default the drawing of these lines and points is switched off, clicking on
the **Draw Degenerate lines** switches the drawing of these on. Note that
when this option is on two additional geometries will be created, these are
called something like **asurf lines** and **asurf points** will be created.

Below are various examples of algebraic surfaces, they include:

- Singularities
- Deformations of surfaces
- Low degree polynomials with many nodes
- Other surfaces include sphere, roman surface, cyclides.

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.

**Cross Cap (Whitney Umbrella)**-
x^2 y - z^2 = 0;

Considered as a map from R^2 to R^3 the cross cap This differs from a cross cap (a parameterised surface) because it has a handle along the line x = z = 0. You will find cross caps present in many famous algebraic surface, for example Steiner's Roman surface contains six. **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;

This surface is an example of a discriminate surface. Consider the polynomial

f = t^4 + z t^2 + y t + x

f will have a repeated root when f=0 and df/dt = 0. Nowdf/dt = 4 t^3 + 2 z t + y

solving this pair of equations for t gives4 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

so the surface of the swallowtail gives the set of values of x,y,z where f has a repeated root. There a several special curves on this surface. Ifd^2f/dt^2 = 12 t^2 + 2 z = 0

as well then f has a triple root, this happens whenx = - (t^4 + z t^2 + y t); y = - (4 t^3 + 2 z t); z = - 6 t^2

this curve lies along the cuspidal edge of the surface.The polynomial with have two repeated roots if it can be written as

f = (t^2 - a)^2 f = t^4 - 2 a t^2 + a^2

i.e. if x = a^2, y = 0, z = - 2 a, i.e. if 4 x = z^2, y = 0. If z > 0 this corresponds to two repeated real roots (the self intersection of the surface) and if z < 0 then it gives two complex repeated roots (a tail shown on the surface).Finally if x = y = z then the polynomial is just t^4 which has a four times repeated root for t = 0.

The reason why the above singularities are important is that when you have a family of surfaces controlled a 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 show 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.

Lots of

**Cayley's cubic**-
4 (x^2+y^2+z^2) + 16 x y z = 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, try: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;

**Kummer surface**- A family of quartic surfaces, some of which have 16 nodes.
(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).

**Barth's 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 + 2 t) (x^2 + y^2 + z^2 - 1)^2 = 0; t = 1.618034;

The second equation defines the value of tau, the golden ratio). (use +/-2 for the domain bounds)

**Sarti's sextic with 48 double points**-
S6+lambda*Q6=0; Q6 =(xx^2+yy^2+zz^2+ww^2)^3; S6=xx^6+yy^6+zz^6+WW^6+15.0*(xx^2*yy^2*zz^2+xx^2*yy^2*WW^2+xx^2*zz^2*WW^2+yy^2*zz^2*WW^2); xx=z-1+sqrt(2)*x; yy=z-1-sqrt(2)*x; zz=-(z+1+sqrt(2)*y); WW=-(z+1-sqrt(2)*y); w=1; lambda = -2/3;

**A sphere**x^2 + y^2 + z^2 = 1;

**A squared off sphere**x^4 + y^4 + z^4 = 1;

A generalisation of a sphere, the square have been replaced by higher powers. Try increasing the powers to get nearer to a cube.

**Three planes**x y z = 0;

**Steiner's Roman Surface**x^2 y^2 + y^2 z^2 + z^2 x^2 = 2 x y z;

This is an immersion of the real projective plane into R^3. It contains a triple point as well as six cross caps.

**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;

Another immersion of the real projective plane. In this immersion there are no cross caps.

**Dupin Cyclides**- This is a family of quartic surfaces which are generalisation of a torus.
They are often used in engineering applications. They are special as all their
lines of curvature are circles and they consist entirely of ridge points.
f1 f2 (x^4+y^4+z^4) + 2 f1 f2 (x^2 y^2+x^2 z^2+y^2 z^2) + 2 ri^2 ((r1^2+r0^2-dy^2-dx^2) (2 x dx+2 y dy-ri^2)) (x^2+y^2+z^2) - 8 ri^2 (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; f1 = (r1^2 - dy^2 - (dx + r0)^2); f2 = (r1^2 - dy^2 - (dx - r0)^2); r0=2.1; r1=2; dx=2; dy=0; ri=2;

Here r0=Major radius of generating Torus, r1=Minor radius of generating Torus, dx,dy=Torus displacement, ri=Inversion radius.

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;

Look at the last of these with edges on and elements off.

**Chub's Surface**x^4 + y^4 + z^4 - x^2 - y^2 - z^2 + 0.5 = 0;

This has cubic symmetry and has 12 nodes.

**Tetrahedral skeleton**(x^2 + y^2 + z^2)^2 + 8 x y z - 10 (x^2 + y^2 + z^2) + 25=0;

Use +/- 5 for the bound.

**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;

A surface arising from the study of linkages, this has two cuspidal edges and two nodes. Use +/- 5 for domain limits

**Kohn-Nirenberg domain**-
3 z + 9 z^2*b + b^4 + 15/7*b*re + a*(x^2 + y^2 + 9 z^2)^5; 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). 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`.

**Bohemian Dome**-
y^4 = A^2 + B^2 + 6 A B + 2 ab ( A + B); AB = y^2 - A - B; A = 1-x^2; B = 1-z^2;

This surface is generated by taking a set of circles in planes parallel to the x-z plane whose centres lie on a circle in the y-z plane. A parameteric definition isx= cos(u); y= cos(v) + sin(u); z= sin(v);

To get an algebraic equation let`a = sin(u), b = COs(v), A = a^2 = 1- x^2, B = b^2 = 1- z^2`and calculate the second and fourth powers of y:y = a + b y^2 = a^2 + 2 a b + b^2 = A + 2 a b + B (3) y^4 = a^4 + 4 a^3 b + 6 a^2 b^2 + 4 a b^3 + b^4 = A^2 + 4 a b (A + B) + 6 A B

In this last eqn`A`and`B`are known in terms of`x`and`z`and a formula for`a b`can be found by rearranging the equation for`y^2`.

**Cayley 1**-
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;

**Cayley 2**-
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;

(Use +/-2 for the domain bounds). **Cayley 3**-
x^2+y^2+z^3+3.2*(x^3-3*x*y^2); 16*p*q*r-s^3;

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

(Use +-4 for domain bounds).

- A gallery of mathematical surfaces by Tore Nordstrand.
- Some beautiful algebraic surfaces by Bruce Hunt.
- Surfaces with many ordinary nodes by Stephan Endraß and W. Barth.
- Gallery of animated algebraic surfaces by XIAO, Gang.
- The Scientific Graphics Project
- The Cubic Surfaces Home Page by Oliver Labs

Web page, applet and Algebraic Surface program by Richard Morris

home page Email rich@singsurf.org. Copyright Jan 2001.