Steiner surface

Also known as the Roman Surface

Written by Paul Bourke
August 1988


The steiner surface is attributed to Jacob Steiner, created while he was visiting Rome in 1844.

Points on the so called Steiner surface satisfy the following equation in 3 space

x2 y2 + x2 z2 + z2 y2 + xyz = 0

This surface is relatively interesting but hard to visualise without 3D views. The method used here will place markers (speres) at points on the surface, these can then be rendered with most rendering software.

Solving for x

Rearranging, the equation of the Steiner surface can be written as a quadratic in x, namely

x2 (y2 + z2) + (y z) x + y2 z2 = 0

solving this quadratic in x gives

solutions exist as long as

The first condition is only satisfied if x and y are 0. The second condition means that solutions only exist for points within a circle in the yz plane.centered at the origin and radius 0.5.

From symmetry, similar equations can be derived for y and z.

Solving for y

solutions exist as long as

Solutions only exist for points within a circle in the xz plane.centered at the origin and radius 0.5.

Solving for z

solutions exist as long as

Solutions only exist for points within a circle in the xy plane.centered at the origin and radius 0.5.


Notes

* From the original equation it can be seen that the surface passes through the point (0,0,0).

* The surface lies within a sphere at the origin of radius 0.5

* At the points where the circle in each plane crosses the axes, the Steiner surface is 0 in the axis perpendicular to the surface.

* The equation of the surface around the circle on one of the planes is of the form (for the xy plane)

If the circle is flattenned out this curve looks like a skewed sine function.


Visualisation

To visualise this surface one might sample it on a mesh in each of the planes: xy, yz, zx. The pseudo code for the xy plane samples might be as follows. The smaller the grid size, delta, the finer the sampling of the surface.

for x=-0.5 to 0.5 step delta
   for y=-0.5 to 0.5 step delta
      if x*x + y*y is not 0 then
         if 1 - 4 (x*x + y*y) is greater than or equal to 0
            evaluate the two values of z
            draw something at the two positions
         end if
      end if
   end for
end for

The equalivalent sampling can be performed for the other two planes. The markers placed in space should be checked against the ones already found to avoid placing two markers in the same position. In the diagrams below small spheres were placed at each position on the surface, any sphere that intersected another by more than a certain amount was ignored.


Images of the Steiner surface rendered using the Radiance software are shown below.


View of the surface with the camera at (1,0.5,0) pointing towards the origin.


View of the surface and border with the camera at (1,1,1) pointing towards the origin


Parameterisation

The parametric form of the steiner surface is as follows:

x = cos(v) cos(v) sin(2u) / 2

y = sin(u) sin(2v) / 2

z = cos(u) sin(2v) / 2

where 0 <= u <= pi, 0 <= v <= pi