CUBE | 8 | 6 | 12 | 3
OCTA | 6 | 8 | 12 | 4
RD | 12 | 14 | 24 | 6
CUBOCTA | 12 | 14 | 24 | 20
ICOSA | 12 | 20 | 30 | rt2(2) * 5 * phi**2
PD | 20 | 12 | 30 | (phi**2 + 1) * 3 * rt2(2)
RT | 30 | 32 | 60 | 15 * rt2(2)
What are those numbers? Vertexes, Faces, Edges, volume.
So first we'd need to create the table, then import then import the above.
The Faces table would look something like:
TETRA | (A,B,C)
TETRA | (A,C,D)
TETRA | (A,D,B)
TETRA | (B,C,D)
and them the Vertexes table needs to give each letter-named point its coordinates e.g.
A | 1 | 0 | 0 | 0
B | 0 | 1 | 0 | 0
C | 0 | 0 | 1 | 0
D | 0 | 0 | 0 | 1
and so on with the named vertexes.
A couple things will seem strange to the veteran math teacher here:
(1) the volumes column assigning 1 to the tetrahedron and 3 to the cube suggests familiar ratios but an unusual unit
(2) the coordinates appear unfamiliar and why are there four of them given XYZ takes only three.
These wrinkles might be removed by another instructor while keeping the overall structure of the three tables.
I'm using the Martian Math approach which spans space with four basis vectors from the origin to the corners of a regular tetrahedron of edges two (2R or 1D) and volume one. R = radius of unit sphere i.e. four packed tightly together define the beginning point for our four vectors.
XYZ divides space into eight octants, whereas Quadrays divide space into four quadrants. -(1,0,0,0) = (0,1,1,1). We get the inverse dual tetrahedron by flipping the 1s to 0 and 0s to 1. Regular tip-to-tail vector addition is used to map any point in space.
Why do something so off-beat and esoteric though? Many teachers might agree that the SQL table beginning is a good one, but why those unfamiliar volume numbers and odd coordinate system?
Partly that's to level the playing field so that students who already know this material maybe have something new to think about.
A goal is to start from this tabular information and actually render the polyhedrons as 4D objects (or 3D as we say in the XYZ namespace). Conversion to XYZ will be necessary as that's how our rendering libraries expect their input.
Finally, we'll want to return these images back in the form of web pages.
We have five days in which to do it all. Don't worry though, as a lot of scaffolding is provided. I'm not one to teach programming by starting with a blank canvas. Reading and modifying existing code is a first step. Blank canvas coding comes later.
Kirby
Kirby