Snub Dodecahedron

Off[General::spell];
Off[General::spelll];

Data of Icosahedron

The Icosahedron is computed by the theorem of Pythagoras, six of it's 
edges laying each inside one face of an axis-parallel cube.

a = ((Sqrt[5]) - 1)/2;  
b =  1;  
r = (Sqrt[(a^2) + (b^2)]);

The Icosahedron gets scaled to vertex radius 1.

rIcosahedron  =  1;
aIcosahedron  =  a/r;
bIcosahedron  =  b/r;
cIcosahedron  =  (Sqrt[1 - (((2/3*(Sqrt[3])*aIcosahedron))^2)]);

Icosahedron data

Distance from vertex to center

FullSimplify[rIcosahedron]

Half edge-length

FullSimplify[aIcosahedron]

Distance from edge mid-point to center

FullSimplify[bIcosahedron]

Distance from face mid-point to center

FullSimplify[cIcosahedron]

Data of Dodecahedron

The Dodecahedron is computed by it's vertices laying in the face mid-points
of the Icosahedron. Six of it's edges are axis-parallel.

d  =  (cIcosahedron^2)/bIcosahedron;  
e  =  bIcosahedron/3;  
f  =  (Sqrt[(d^4)/(2*(d^2) - 2/3*(cIcosahedron^2) + (bIcosahedron^2)/9)]); (*Distance from face mid - point to center*)

The Dodecahedron gets scaled to vertex radius 1.

cDodecahedron  =  1;
dDodecahedron  =  d/cIcosahedron;
eDodecahedron  =  e/cIcosahedron;
fDodecahedron  =  f/cIcosahedron;
qDodecahedron  =  (Sqrt[(cDodecahedron^2) - (fDodecahedron^2)]);
pDodecahedron  =  (Sqrt[(dDodecahedron^2) - (fDodecahedron^2)]);

Dodecahedron data

Distance from vertex to center

FullSimplify[cDodecahedron]

Distance from edge mid-point to center

FullSimplify[dDodecahedron]

Half Edge-length

FullSimplify[eDodecahedron]

Distance from face mid-point to center

FullSimplify[fDodecahedron]

Distance from face mid-point to edge mid-point

FullSimplify[pDodecahedron]

Distance from face mid-point to vertex

FullSimplify[qDodecahedron]

Three Square distances of Snub Dodecahedron vertices

Three square distances of neighboured vertices of a Snub Dodecahedron
get computed; on each face of the Icosahedron lays a twisted triangle,
which here gets represented by the fraction m of an Icosahedron edge
to walk along an edge and the fraction n of an Icosahedron edge to
walk into the Icosahedron face, parallel to an other edge of the face.
    The three distances between two Snub Dodecahedron vertices on one
Icosahedron face and a third vertex on a neighboured Icosahedron face
must be equal. Here are this three square distances computed, dependent
to the values of m and n.

a = aIcosahedron;
b = bIcosahedron;
EFS = (((n - m))^2)*(((b - a))^2) + (((n - m))^2)*
            (b^2) + (((-2*a + 3*n*a + 3*m*a))^2);
FGS = (((m - n))^2)*(((b - a))^2) + (((m + n))^2)*(b^2) + 
          (a^2)*(((m - n))^2);
EGS = 4*(n^2)*(b^2) + (((2 - 4*m - 2*n))^2)*(a^2);

Simplify[FGS]
Simplify[EGS]
Simplify[EFS]

Equality of this three square distances

Two equations

EQ1 = FullSimplify[(FGS - EGS)*((5 - (Sqrt[5]))/4)]
EQ2 = FullSimplify[(EFS - EGS)*((5 - (Sqrt[5]))/4)]

Search for the solutions (n,m) of this equations.

Solve[{EQ1 == 0, EQ2 == 0}, {n, m}]

There are two  real-valued solutions of the two equations.

n0 = 0;  m0 = 1;   
\(\(n1 = 
        1\/58\ \((107 - 
              43\ \@5 - 
				299\ \((1\/6\ \((\(-3\) - \@5)\) - \(4\ 2\^\(2/3\)\ \((13 + 6\ \@5)\)\)\/\(3\ \((1143 + 515\ \@5 + \@\(12070782 + 5398218\ \@5\))\)\^\(1/3\)\) + \((1143 + 515\ \@5 + \@\(12070782 + 5398218\ \@5\))\)\^\(1/3\)\/\(3\ 2\^\(2/3\)\))\) + 
				131\ \@5\ \((1\/6\ \((\(-3\) - \@5)\) - \(4\ 2\^\(2/3\)\ \((13 + 6\ \@5)\)\)\/\(3\ \((1143 + 515\ \@5 + \@\(12070782 + 5398218\ \@5\))\)\^\(1/3\)\) + \((1143 + 515\ \@5 + \@\(12070782 + 5398218\ \@5\))\)\^\(1/3\)\/\(3\ 2\^\(2/3\)\))\) - 
				93\ \((1\/6\ \((\(-3\) - \@5)\) - \(4\ 2\^\(2/3\)\ \((13 + 6\ \@5)\)\)\/\(3\ \((1143 + 515\ \@5 + \@\(12070782 + 5398218\ \@5\))\)\^\(1/3\)\) + \((1143 + 515\ \@5 + \@\(12070782 + 5398218\ \@5\))\)\^\(1/3\)\/\(3\ 2\^\(2/3\)\))\)^2 + 
				39\ \@5\ \((1\/6\ \((\(-3\) - \@5)\) - \(4\ 2\^\(2/3\)\ \((13 + 6\ \@5)\)\)\/\(3\ \((1143 + 515\ \@5 + \@\(12070782 + 5398218\ \@5\))\)\^\(1/3\)\) + \((1143 + 515\ \@5 + \@\(12070782 + 5398218\ \@5\))\)\^\(1/3\)\/\(3\ 2\^\(2/3\)\))\)^2 + 
				285\ \((1\/6\ \((\(-3\) - \@5)\) - \(4\ 2\^\(2/3\)\ \((13 + 6\ \@5)\)\)\/\(3\ \((1143 + 515\ \@5 + \@\(12070782 + 5398218\ \@5\))\)\^\(1/3\)\) + \((1143 + 515\ \@5 + \@\(12070782 + 5398218\ \@5\))\)\^\(1/3\)\/\(3\ 2\^\(2/3\)\))\)^3 - 
				127\ \@5\ \((1\/6\ \((\(-3\) - \@5)\) - \(4\ 2\^\(2/3\)\ \((13 + 6\ \@5)\)\)\/\(3\ \((1143 + 515\ \@5 + \@\(12070782 + 5398218\ \@5\))\)\^\(1/3\)\) + \((1143 + 515\ \@5 + \@\(12070782 + 5398218\ \@5\))\)\^\(1/3\)\/\(3\ 2\^\(2/3\)\))\)^3)\);\)\)
m1 = 
        (1/6) (-3 - (Sqrt[5])) - ((4 (2^(2/3)) (13 + 6 (Sqrt[5])))/(3 (((1143 + 515 (Sqrt[5]) + (Sqrt[12070782 + 5398218 (Sqrt[5])])))^(1/3)))) + ((((1143 + 515 (Sqrt[5]) + (Sqrt[12070782 + 5398218 (Sqrt[5])])))^(1/3))/(3 (2^(2/3))));

Simplify[n1]
\(	Simplify[m1]\)

Geometrical data for the Snub Dodecahedron

Compute  geometrical data of Snub Dodecahedron from Icosahedron and Dodecahedron, dependent to the values of m1 and n1

e = 
        (aIcosahedron/2)*(Sqrt[3*(((m1 - n1))^2) + (((2 - 3*m1 - 3*n1))^2)]);
f = (Sqrt[(4/3)*(e^2) + (cIcosahedron^2)]);
c = cIcosahedron;
p = pDodecahedron*(e/eDodecahedron);
q = qDodecahedron*(e/eDodecahedron);
g = (Sqrt[(f^2) - (e^2)]);
h =  (Sqrt[(f^2) - (q^2)]);

The Snub Dodecahedron gets scaled to vertex radius 1.

Distance from vertex to center

fSD = 1

Half edge-length

eSD = Simplify[(e/f)]

Distance from trinagle mid-point to center

cSD = Simplify[(c/f)]

Distance from pentagon mid-point to edge mid-point

pSD  =  Simplify[(p/f)]

Distance from pentagon mid-point to vertex

qSD = Simplify[(q/f)]

Distance from edge mid-point to center

gSD = Simplify[(g/f)]

Distance from pentagon mid point to center

hSD  =  Simplify[(h/f)]

Numerical values for this geometrical data.

Distance from vertex to center

N[fSD, 32]

Half edge-length

N[eSD, 32]

Distance from trinagle mid-point to center

N[cSD, 32]

Distance from pentagon mid-point to edge mid-point

N[pSD , 32]

Distance from pentagon mid-point to vertex

N[qSD, 32]

Distance from edge mid-point to center

N[gSD, 32]

Distance from pentagon mid-point to center

N[hSD, 32]

Parameters n1 and m1

N[n1, 32]
N[m1,  32]

Construction of Snub Dodecahedron from Dodecahedron.

Here the Snub Dodecahedron pentagonal faces get represented by two
values: The fraction ur of the line from a Dodecahedron vertex to
the mid-point of a Dodecahedron face to walk along this line, and 
the fraction xr of a Dodecahedron edge to walk parallel to an edge
upon the Dodecahedron face.

Computation of this two values

Edge-length of Dodecahedron to construct scaled Snub Dodecahedron upon

s = 2*eDodecahedron*(hSD/fDodecahedron);

Edge-length of Icosahedron to construct scaled Snub Dodecahedron upon

ti = 2*aIcosahedron*(cSD/cIcosahedron);

Edge-length of a pentagon laying edge-parallel on the faces of this 
Icosahedron and touching vertices of Snub Dodecahedron

t = (n1 + m1)*ti;

This pentagon lays inside a Dodecahedron face each vertex showing to an
edge of the Dodecahedron face.

Distance from vertex to pentagon mid-point for the Dodecahedron

w = qDodecahedron*(hSD/fDodecahedron);

Absolute part to walk along a Dodecahedron edge

r = (t/2) - ((n1*t)/(n1 + m1));

x = r*(qDodecahedron/pDodecahedron);

Absolute part to walk from vertex to pentagon mid-point upon the Dodecahedron face

u = 
        w - pDodecahedron*
            (t/(2*eDodecahedron)) - (Sqrt[(x^2) - (r^2)]);

Relative part to walk along a dodecahedron edge

xr = Simplify[(x/s)]

Relative part to walk from vertex to pentagon mid-point upon the Dodecahedron face

ur = Simplify[(u/w)]

Numerical values

Absolute part to walk along a Dodecahedron edge

N[x, 32]

Absolute part to walk from vertex to pentagon mid-point upon the Dodecahedron face

N[u, 32]

Relative part to walk along a dodecahedron edge

N[xr, 32]

Relative part to walk from vertex to pentagon mid-point upon the Dodecahedron face

N[ur, 32]