### Dualisation and Spherical Reciprocation

Dualisation as such is more a combinatorical concept. In the context of polytopes it assigns a polytope P* to each polytope P, which uses the same amount of d-dimensional subelements as P had for (D-d)-dimensional subelements for every 0≤d≤D. Moreover the full incidence structure thereby ought be turned upside down. In fact, the incidence matrix of P* is nothing but a rotated copy from that of P.

For bounded polytopes dualisation can be implemented by (hyper-)spherical reciprocation. Just take some (hyper-)sphere in general position with unit radius. Then extend each bounding facet, i.e. each (d=D-1)-element of P into a hyperplane. That one then has wrt. the center of that sphere a well-defined outer unit normal and some ditstance away from that center. Now attach that unit normal vector at the center and derive that point in this direction, which has the reciprocal distance. The set of such derived points (the vertices of P*) then gets connected in the same way as the facets (of P) where connected, etc. This process finally ends when dualising the vertices of P by facet hyperplanes of P* at reciprocal distances and perpendicular to those vertex directions.

The spherical reciprocation comes out to be independent of the position of the center, as long it is chosen in general position. Only the absolute position in space of the dual would be affected thereby. The relative size of the reciprocation sphere clearly affects the size of P*. Whenever such a sphere is fixed, then obviously (P*)* = P.

### Catalan Solids

In 1865 E. Catalan first described the duals of the Archimedean polyhedra. Even so the process is quite obvious to extend to other dimensions as well, its application there lacks still or at least is not known broadly (beyond the obvious regular cases).

When applying to Wythoffian polytopes their Dynkin diagram usually get re-used, just that the x-nodes of normal mirror crossing edges generally get replaced by m-nodes of mirror margin ones and that snub-nodes s (within 3D) could get replaced by "propello-nodes" p.

Even so both the spherical reciprocation process is quite constructive, and the mirror margin symbols are definite, a clear relation to the Wythoffian polytopes, which are derived bottom up from their vertex set (instead of top down from the facet hyperplanes) in general lacks. This missing link since short can be closed, giving the generally multiple vertex sets of P* (when starting with some Wythoffian P) as a coincident overlay of several Wythoffian variations, i.e. by using the "&#z."-notation of tegum sums.

```----
2D   (up)
----
```
 o-N-o ```pre-image P notational dual P* other representation x-N-o m-N-o = o-N-x ```

```----
3D   (up)
----
```
 o3o3o ```pre-image P notational dual P* other representation x3o3o (tet) m3o3o (tet) = o3o3x o3x3o (oct) o3m3o (cube) = qo3oo3oq&#zx x3x3o (tut) m3m3o (tikit) = ao3oo3ox&#zx (a=1.666667) x3o3x (co) m3o3m (rad) = aoo3oao3ooa&#zx (a=1.632993) x3x3x (toe) m3m3m (tekah) = coo3oao3ooc&#z(x,x,b) (a=1.414214, b=1.333333, c=1.885618) s3s3s (ike) p3p3p (doe) = o3o5x ``` o3o4o ```pre-image P notational dual P* other representation x3o4o (oct) m3o4o (cube) = o3o4x o3x4o (co) o3m4o (rad) = ao3oo4ob&#zx (a=1.632993, b=1.154701) o3o4x (cube) o3o4m (oct) = x3o4o x3x4o (toe) m3m4o (tekah) = ao3oo4ob&#zx (a=1.414214, b=1.333333) x3o4x (sirco) m3o4m (sladid) = aoo3obo4ooc&#z(d,x,e) (a=2.388955, b=1.689246, c=1.847759, d=1.292893, e=1.514230) o3x4x (tic) o3m4m (tikko) = ao3oo4ox&#zx (a=1.707107) x3x4x (girco) m3m4m (siddykid) = aoo3oxo4oob&#z(c,d,e) (a=1.630602, b=1.218951, c=0.835960, d=0.624919, e=1.018995) s3s4s (snic) p3p4p (pedid) = ... ``` o3o5o ```pre-image P notational dual P* other representation x3o5o (ike) m3o5o (doe) = o3o5x o3x5o (id) o3m5o (rhote) = ao3oo5ob&#zx (a=1.701302, b=1.051462) o3o5x (doe) o3o5m (ike) = x3o5o x3x5o (ti) m3m5o (pakid) = fo3oo5oa&#zx (a=1.127322, f=1.618034) x3o5x (srid) m3o5m (sladit) = aoo3oxo5oob&#z(c,d,e) (a=1.745356, b=1.133831, c=0.896665, d=0.582498, e=1.043154) o3x5x (tid) o3m5m (tiki) = ... x3x5x (grid) m3m5m (siddykat) = ... s3s5s (snid) p3p5p (sapedit) = ... ``` o oNo ```x xNo (N-p) m mNo = ao ox-n-oo&#zy (a=cos(π/n)/sin2(π/n), y=1/(2 sin2(π/n)) ) x x3o (trip) m m3o = ao ox3oo&#zy (a=y=2/3) x x4o (cube) m m4o (oct) = qo ox4oo&#zx (q=1.414214) s2sNs (N-ap) p2pNp = ... s2s3s (oct) p2p3p (cube) = oqoo3ooqo&#xt (q=1.414214) s2s5s (pap) p2p5p = oxoo5ooxo&#(f,v,f)t (v=0.618034, f=1.618034) ```

```----
4D   (up)
----
```
 o3o3o3o ```pre-image P notational dual P* other representation x3o3o3o (pen) m3o3o3o (pen) = o3o3o3x o3x3o3o (rap) o3m3o3o (tibbid) = co3oo3oo3ox&#zy (c=2/3, y=2/3) x3x3o3o (tip) m3m3o3o (dutip) = co3oo3oo3ox&#zy (c=0.428571, y=0.622700) x3o3x3o (srip) m3o3m3o = aoo3obo3ooo3oox&#z(c,d,e) (a=e=0.666667, b=0.571429, c=0.380952, d=0.606092) x3o3o3x (spid) m3o3o3m (duspid) = aooo3oaoo3ooao3oooa&#zxt (a=1.581139) o3x3x3o (deca) o3m3m3o (dudeca) = ao3oo3oo3oa&#zx (a=1.290994) x3x3x3o (grip) m3m3m3o = aoo3obo3ooo3oox&#z(c,d,e) (a=e=0.666667, b=0.461538, c=0.347812, d=0.585829) x3x3o3x (prip) m3m3o3m = ... x3x3x3x (gippid) m3m3m3m = ... ``` o3o3o4o ```pre-image P notational dual P* other representation x3o3o4o (hex) m3o3o4o (tes) = o3o3o4x o3x3o4o (ico) o3m3o4o (ico) = qo3oo3oo4ox&#zx o3o3x4o (rit) o3o3m4o (tibbit) = xo3oo3oo4oc&#zy (c=0.471405, y=0.623610) o3o3o4x (tes) o3o3o4m (hex) = x3o3o4o x3x3o4o (thex) m3m3o4o = ... x3o3x4o (rico) m3o3m4o = ... x3o3o4x (sidpith) m3o3o4m = ... o3x3x4o (tah) o3m3m4o = ... o3x3o4x (srit) o3m3o4m = ... o3o3x4x (tat) o3o3m4m = ... x3x3x4o (tico) m3m3m4o = ... x3x3o4x (prit) m3m3o4m = ... x3o3x4x (proh) m3o3m4m = ... o3x3x4x (grit) o3m3m4m = ... x3x3x4x (gidpith) m3m3m4m = ... ``` o3o4o3o   =   o3o3o *b3o (with to be identified legs) ```pre-image P notational dual P* other representation x3o4o3o (ico) m3o4o3o (ico) = o3o4o3x o3x4o3o (rico) o3m4o3o (tabene) = co3oo4oo3ox&#zy (c=0.942809, y=0.745356) x3x4o3o (tico) m3m4o3o = ... x3o4x3o (srico) m3o4m3o = ... x3o4o3x (spic) m3o4o3m = ... o3x4x3o (cont) o3m4m3o = ao3oo4oo3oa&#zx (a=1.306563) x3x4x3o (grico) m3m4m3o = ... x3x4o3x (prico) m3m4o3m = ... x3x4x3x (gippic) m3m4m3m = ... s3s4o3o (sadi) – (quidex) = fox-3-ooo-3-xfo *b3-oxf-&#zx ``` o3o3o5o ```pre-image P notational dual P* other representation x3o3o5o (ex) m3o3o5o (hi) = o3o3o5x o3x3o5o (rox) o3m3o5o (pibhaki) = co3oo3oo5ox&#zy (c=2.341641, y=1.447214) o3o3x5o (rahi) o3o3m5o (tibbic) = xo3oo3oo5oc&#zy (c=0.412023, y=0.613004) o3o3o5x (hi) o3o3o5m (ex) = x3o3o5o x3x3o5o (tex) m3m3o5o = ... x3o3x5o (srix) m3o3m5o = ... x3o3o5x (sidpixhi) m3o3o5m = ... o3x3x5o (xhi) o3m3m5o = ... o3x3o5x (srahi) o3m3o5m = ... o3o3x5x (thi) o3o3m5m = ... x3x3x5o (grix) m3m3m5o = ... x3x3o5x (prahi) m3m3o5m = ... x3o3x5x (prix) m3o3m5m = ... o3x3x5x (grahi) o3m3m5m = ... x3x3x5x (gidpixhi) m3m3m5m = ... ``` oNo oMo ```pre-image P notational dual P* other representation xNo xMo ((N,M)-dip) mNo2mMo = ... xNo xNo (N-dip) mNo2mNo = ... x3o x3o (triddip) m3o2m3o = ao3oo oa3oo&#zx (a=1.224745) xofo-5-oxof ofxo-5-foox-&#zx (gap) – of|foxfv-5-of|ofxvf fo|fvxof-5-fo|vfxfo-&#z(f,v) (v=0.618034, f=1.618034) ```

```----
5D   (up)
----
```

So far just some ...

 o3o3o3o3o ```pre-image P notational dual P* other representation o3o3x3o3o (dot) o3o3m3o3o = ao3oo3oo3oo3oa&#zx (a=1.224745) ... ```

```----
6D   (up)
----
```

So far just some ...

 o3o3o3o3o3o ```pre-image P notational dual P* other representation o3o3x3x3o3o (fe) o3o3m3m3o3o = ao3oo3oo3oo3oo3oa&#zx (a=1.183216) ... ``` o3o3o3o3o *c3o ```pre-image P notational dual P* other representation o3o3o3o3o *c3x (mo) o3o3o3o3o *c3m = ao3oo3oo3oo3oa *c3oo&#zx (a=1.224745) ... ```