Inspired by a post from John Baez, here is an interactive visualization of the 27 lines on a Clebsch diagonal cubic surface rendered using Three.js and presented with MathCell:

The figure can be rotated by clicking and dragging with a mouse or swiping on a touch device, as well as zoomed in or out with a mouse wheel or pinching on a touch device. Click here to open the graphic in a separate window.

As stated in the post, the isosurface is defined by

$81(x3 +y3 +z3) -189(x2y +x2z +xy2 +xz2 +y2z +yz2) +54xyz +126(xy+xz +yz) -9(x2 +y2 +z2) -9(x+y +z) +1 =0$

The marching cubes implementation in MathCell works in Cartesian coordinates. To achieve the smooth edge in radial extent, the Cartesian coordinates of the isosurface are replaced with their spherical equivalents when determining the geometry of the surface. The resulting vertices are then transformed back to Cartesian coordinates before rendering. The total number of vertices is limited to allow rendering on mobile devices, resulting in visible irregularities in the cubic surface.

Not discussed in the post are the explicit equations for the lines and locations of the visible Eckardt points. Unfortunately the Bruce Hunt reference mentioned in the post is only partially helpful for this, as will be explained shortly. Since the focus of this presentation is the visualization itself and not the mathematics behind cubic surfaces, the most expedient paths to explicit equations of the lines will be pursued here.

As developed by Hunt, the particular parametrization of the isosurface comes from the general cubic

$y13 +y23 +y33 +y43 +y53 =0$

with the intermediate definitions

$y1=u0 -y5 y2=u1 -y5 y3=u2 -y5 y4=u3 -y5 y5 =u0 +u1 +u2 +u33$

and the choices

$u0=x u1=y u2=z u3=1 -x-y-z 4$

In terms of the affine coordinates, the quantities comprising the cubic surface are

$y1 =9x-3y -3z-112 y2 =−3x+9y -3z-112 y3 =−3x-3y +9z-112 y4 =−6x-6y -6z+212 y5 =3x+3y +3z+112$

This differs from Hunt’s statement at the very end of Section 4.1.3 in some overall factors, but these expressions are clearly consistent with one another.

As given in Hunt’s Proposition 4.1.12, the first fifteen of the lines on the cubic surface are determined by the intersections of pairs of planes given by combinations of these quantities,

$yi+yj =0 =yk+yl yi+yj =0 =yk+y5$

where indices have the values [1,2,3,4] and all indices have distinct values in these equalities. The pairs of planes in the first equation contribute three lines, and the pairs in the other equation contribute twelve lines. Forming pairs on each side of each equation requires the consistent quantities previously given with correct relative factors, but once the planes are determined overall factors can be freely adjusted.

The distinct pairs of planes, with overall multiplicative factors adjusted to keep leading coefficients positive and remove common factors, are

A parametric representation of the line of intersection of planes is found by forming the cross product of the two normals, which will be the directional vector of the line, and then determining any single point common to the two planes. Related sets of planes will have similar solutions that can be found by inspection after determining a first case.

With the same ordering as pairs of planes, the first fifteen lines in simple parametric forms are

The seven visible Eckardt points are now evident: the points

$[16, 16,0] [16, 0,16] [0, 16, 16] [13, 13, 13]$

each appear explicitly in three different parametric forms, and the points

$[ −13, 0,0] [0, −13, 0] [0,0, −13]$

are seen to lie along two of each of the last six lines by setting $t=-\frac{1}{6}$ in each.

Determining the twelve remaining lines is a bit more problematic if one follows Hunt exclusively. The quantities ${\alpha }_{ijkl}$ , ${\beta }_{ijk}$ and ${\gamma }_{ijk}$ defined in Proposition 4.1.12 are planes that cut the cubic surface along lines already determined above, as can be seen immediately in a visualization of each plane. More disturbingly, the quantities ${\delta }_{ij}$ do not even appear to cut the cubic surface in straight lines at all, and intersect the other quantities outside the cubic surface. This is quite surprising, given that this text is cited as authoritative on this subject.

Fortunately another reference by Irene Polo-Blanco and Jaap Top provides a way out of the impasse. Section 5.1 in that reference gives the determining equation

$yi +1+5 2yj +yk =0 =yj +1+5 2yi +yl$

where again indices have the values [1,2,3,4] and all indices have distinct values. Maddeningly enough, the immediately preceding equation in the reference determining the first fifteen lines differs noticeably from those given by Hunt: one would expect more consistency among mathematicians on such a seminal topic.

The distinct pairs of planes, with overall multiplicative factors adjusted to remove common factors and leading negative signs, are

$3(3 -5)x -3(1 -35)y +3(3 -5)z -5-5 =0 =9(1 -5)x -3(1 -5)y +3(7 +5)z -1+5 3(1 -5)x -9(1 -5)y -3(7 +5)z +1-5 =0 =3(1 -35)x -3(3 -5)y -3(3 -5)z +5+5 3(3 -5)x +3(3 -5)y -3(1 -35)z -5-5 =0 =9(1 -5)x +3(7 +5)y -3(1 -5)z -1+5 3(1 -5)x -3(7 +5)y -9(1 -5)z +1-5 =0 =3(1 -35)x -3(3 -5)y -3(3 -5)z +5+5 3(1 -5)x +3(1 -5)y -3(3 +5)z -1+5 =0 =9(1 -5)x +3(7 +5)y -3(1 -5)z -1+5 3(1 -5)x -3(3 +5)y +3(1 -5)z -1+5 =0 =9(1 -5)x -3(1 -5)y +3(7 +5)z -1+5 3(3 -5)x +3(3 -5)y -3(1 -35)z -5-5 =0 =3(7 +5)x +9(1 -5)y -3(1 -5)z -1+5 3(7 +5)x -3(1 -5)y +9(1 -5)z -1+5 =0 =3(3 -5)x -3(1 -35)y +3(3 -5)z -5-5 3(1 -5)x +3(1 -5)y -3(3 +5)z -1+5 =0 =3(7 +5)x +9(1 -5)y -3(1 -5)z -1+5 3(3 +5)x -3(1 -5)y -3(1 -5)z +1-5 =0 =3(1 -5)x -9(1 -5)y -3(7 +5)z +1-5 3(1 -5)x -3(3 +5)y +3(1 -5)z -1+5 =0 =3(7 +5)x -3(1 -5)y +9(1 -5)z -1+5 3(3 +5)x -3(1 -5)y -3(1 -5)z +1-5 =0 =3(1 -5)x -3(7 +5)y -9(1 -5)z +1-5$

The parametric representations of lines of intersection are here found by setting z equal to the affine parameter and solving the system for the other two variables in terms of it, so that common points occur for z = 0 . The remaining twelve lines are

$[ 1+35, −15, 1]t +[ 5+5 30, 5+35 30, 0] [ −15, 1+35, 1]t +[ 5+35 30, 5+5 30, 0] [ −3-5, −5, 1]t +[ 7+35 6, 3+5 6, 0] [ −3+5 4, −5 +354, 1]t +[ 3+5 12, 1-5 12, 0] [ −5 -354, −3-5 4, 1]t +[ 1+5 12, 3-5 12, 0] [ 5, −3+5, 1]t +[ 3-5 6, 7-35 6, 0] [ −5, −3-5, 1]t +[ 3+5 6, 7+35 6, 0] [ −5 +354, −3+5 4, 1]t +[ 1-5 12, 3+5 12, 0] [ −3 -54, −5 -354, 1]t +[ 3-5 12, 1+5 12, 0] [ −3+5, 5, 1]t +[ 7-35 6, 3-5 6, 0] [ 15, 1-35, 1]t +[ 5-35 30, 5-5 30, 0] [ 1-35, 15, 1]t +[ 5-5 30, 5-35 30, 0]$

And that completes the mathematics necessary for the visualization. Enjoy!