Polymath 101 (1 of 2)

poly1.html and poly2.html reproduce posts to the misc.education newsgroup, March 17,18 1999. I fixed a typo in the Cube edges table, which in the original was corrected in part II. One or two other typos fixed as well.

Background reading:



From: urner@alumni.princeton.edu (Kirby Urner)
Newsgroups: misc.education
Subject: Curriculum excerpt: Polymath 101
Date: Thu, 18 Mar 1999 07:06:01 GMT



        CURRICULUM EXCERPT: POLYMATH 101 
              OOP GEOMETRY: BASIC POLYS
                INSTRUCTOR: K. URNER 


--------------------------------------------------------------
An earlier segment provides information about quadray 
coordinates, used thoughout this segment.  The volumes relate 
to the concentric hierarchy, familiarity with which is also 
assumed.
--------------------------------------------------------------


A good way to start learning a lot of useful concepts is to 
implement polyhedra using an object oriented approach.

Polyhedra as wireframes are a good place to start.  Use a 
relational database structure:

TETRAHEDRON
===========

Vertices        Edges

A  1 0 0 0      (A,B)
B  0 1 0 0      (A,C)
C  0 0 1 0      (A,D)
D  0 0 0 1      (B,C)
                (B,D)
                (C,D)

Above is the simplest polyhedron, the tetrahedron, described by 
two tables.  The first gives the coordinates of vertices labeled 
A,B,C,D the 2nd table lists the edges between pairs of vertices.

4 vertices
6 edges

Euler's Law:  
V + F = E + 2  
4 + F = 6 + 2  
    F = 4 triangular windows

This tetrahedron is defined with volume = 1 as per the concentric 
hierarchy.

What follows are some additional polyhedra primitives with 
whole number coordinates and volumes.  The vertices table will 
grow to include 26 entries labeled A-Z.  All are developed from 
A-D (above) by negation and addition.  Additional reasoning is 
provided to generate the corresponding edge tables.


CUBE       (volume = 3)
====

Vertices        Edges

A  1 0 0 0      (A,F)(A,G)(A,H)
B  0 1 0 0      (B,E)(B,G)(B,H)
C  0 0 1 0      (C,E)(C,F)(C,H)
D  0 0 0 1      (D,E)(E,F)(D,G)
E  0 1 1 1
F  1 0 1 1
G  1 1 0 1
H  1 1 1 0

The cube consists of two interpenetrating tetrahedra; just take 
the vertices A,B,C,D and take their negatives:

E.g.  - (1,0,0,0) = (-1,0,0,0) = (0,1,1,1)

In other words: E=-A  B=-F  C=-G  H=-D

Then connect each vertex to every point on the other tetrahedron
except the vertex directly opposite.  I.E. A connects to F,G,H 
and B to E,G,H and so on.

 8 vertices
12 edges

Euler's Law:  
V + F =  E + 2  
8 + F = 12 + 2  
    F =  6 square windows


OCTAHEDRON  (volume = 4)
==========

Vertices              Edges

I = A+B = 1 1 0 0     (I,J)(I,K)(I,L)(I,M)
J = A+C = 1 0 1 0     (N,J)(N,K)(N,L)(N,M)
K = A+D = 1 0 0 1     (J,L)(L,M)(M,K)(K,J)
L = B+C = 0 1 1 0
M = B+D = 0 1 0 1
N = C+D = 0 0 1 1

I-N poke through the mid-edges of the original tetrahedron ABCD 
to 6 vertices.  Each vertex connects to 4 others, but not to the
one directly opposite.  Since -I = (-1, -1, 0, 0) = (0,0,1,1), 
I will not connect to N, and so on.

 8 vertices
12 edges

Euler's Law:  
V + F =  E + 2  
6 + F = 12 + 2  
    F =  8 triangular windows


RHOMBIC DODECAHEDRON (volume = 6)
====================

Vertices        Edges

A  1 0 0 0      (I,A)(I,B)(I,G)(I,H)
B  0 1 0 0      (J,A)(J,C)(J,F)(J,H)
C  0 0 1 0      (K,A)(K,D)(K,F)(K,G)
D  0 0 0 1      (L,B)(L,C)(L,E)(L,H)
E  0 1 1 1      (M,B)(M,D)(M,E)(M,G)
F  1 0 1 1      (N,C)(N,D)(N,E)(N,F)
G  1 1 0 1
H  1 1 1 0
I  1 1 0 0
J  1 0 1 0
K  1 0 0 1
L  0 1 1 0
M  0 1 0 1
N  0 0 1 1

The cube and octahedron combine to form the rhombic dodecahedron.  
Edges go from each octahedron vertex to the four nearest cube 
vertices.  These will be pairs from the original tetrahedron and 
its invert (same cube) which add to give the octahedron vertex 
in question.  For example:

I = A+B = (1,1,0,0)
I = G+H = (1,1,0,1)+(1,1,1,0)=(2,2,1,1)=(1,1,0,0)

So (I,A)(I,B)(I,G)(I,H) are all edges of the rhombic 
dodecahedron.

J = A+C = (1,0,1,0)
J = F+H = (1,0,1,1)+(1,1,1,0)=(2,1,2,1)=(1,0,1,0)

So (J,A)(J,C)(J,F)(J,H) are additional rhombic dodecahedron 
edges.

14 vertices
24 edges

Euler's Law:  
 V + F =  E + 2  
14 + F = 24 + 2  
     F = 12 rhombic windows


CUBOCTAHEDRON    (volume = 20)
=============

Vertices             Edges

O = I+J = 2 1 1 0    (O,P)(P,R)(R,Q)(Q,O)
P = I+K = 2 1 0 1    (O,W)(W,S)(S,Z)(Z,O)
Q = I+L = 1 2 1 0    (Q,W)(W,U)(U,X)(X,Q)
R = I+M = 1 2 0 1    (P,Z)(Z,T)(T,Y)(Y,P)
S = N+J = 1 0 2 1    (R,X)(X,V)(V,Y)(Y,R)
T = N+K = 1 0 1 2    (T,S)(S,U)(U,V)(V,T)
U = N+L = 0 1 2 1
V = N+M = 0 1 1 2
W = J+L = 1 1 2 0
X = L+M = 0 2 1 1
Y = M+K = 1 1 0 2
Z = K+J = 1 0 1 2

Edge-pairs of octahedron vertices add to give 12 vertices 
equidistant from the origin, defining the cuboctahedron.

Each octahedron vertex is at the center of a square window, 
with the squares corners defined by octahedron edge-pairs which 
include the central octahedron vertex.

For example:

K is at the center of square with corners K+I, K+N, K+M, K+J
L is at the center of square with corners L+I, L+N, L+J, L+M

Opposite corners of a square will have the octahedron vertex 
for a midpoint.  Opposite corners will consist of the midpoint 
paired with opposite vertices from the octahedron (e.g. I,N).

For example:

((L+I)+(L+N))/2 = ((1,2,1,0)+(0,1,2,1))/2 = (0,1,1,0) = L

and:

((K+I)+(K+N))/2 = (2K + I + N)/2 = K + (I+N)/2 = K (I=-N)

So the squares in question will be:

(L+I)(L+J)  (L+J)(L+N)  (L+N)(L+M)  (L+M)(L+I)  

and:

(K+I)(K+J)  (K+J)(K+N)  (K+N)(K+M)  (K+M)(K+I)  

or: 

(Q,W)(W,U)(U,X)(X,Q) and (P,Z)(Z,T)(T,Y)(Y,P)

which gives a total of 6 squares, comprising all the edges, 
plus defines 8 additional triangular faces (sharing edges with 
the squares).


12 vertices
24 edges

Euler's Law:  
 V + F =  E + 2  
12 + F = 24 + 2  
     F = 14 windows (6 squares, 8 triangles)




                     [to be continued]