正二十面體
Author: 藍邦偉  老師
Date: 8 4 月 2014

$α=%v$

$β=%v$

$O$

x

y

z

$P_1$

$P_2$

$P_4$

$P_3$

$P_5$

$P_6$

$P_8$

$P_7$

$P_{10}$

$P_9$

$P_{12}$

$P_{11}$

$S_1$

$S_2$

$S_3$

$S_4$

$S_5$

$S_6$

$S_b$

$S_c$

$S_d$

$S_c$

$S_f$

$S_a$

Axis

$x$

$y$

$z$

O

$Step=%v$

$正二十面體的史坦納樹$

$t=%v$

$S_a$

$S_b$

$S_c$

$S_d$

$S_e$

$S_f$

t=

t

φ = 1.618033988749895
α = 1.3089969389957472 rad (slider from 0 to 6.283185307179586, step 0.1*°)
β = 1.361356816555577 rad (slider from 0 to 6.283185307179586, step 0.1*°)
O = (11.226042341747045, 3.037159535362839)
X_{unit}: O + (cos(α), sin(α) * cos(β))
u = Vector(O, X_{unit})
Y_{unit}: O + (-1 * sin(α), cos(α) * cos(β))
v = Vector(O, Y_{unit})
r: 0.5 * (sqrt(2) * φ - sqrt(2) / sqrt(3))
Z_{unit}: O + (0, sin(β))
w = Vector(O, Z_{unit})
L = 2 (slider from 1 to 10, step 1)
yy = Vector(O - L * v, O + L * v)
zz = Vector(O - L * w, O + L * w)
xx = Vector(O - L * u, O + L * u)
A_1: O + L * u
B_1: O + L * v
Z: O + L * w
P_1: O + v + φ * w
P_2: O + v - φ * w
P_4: O - v + φ * w
P_3: O - v - φ * w
P_5: O + u + φ * v
P_6: O + u - φ * v
P_8: O - u + φ * v
P_7: O - u - φ * v
P_{10}: O + φ * u - w
P_9: O + φ * u + w
P_{12}: O - φ * u + w
P_{11}: O - φ * u - w
多邊形1, p_1, p_3, p_4, p_2 = Polygon(P_1, P_4, P_3, P_2)
多邊形2, p_5, p_6, p_8, p_7 = Polygon(P_5, P_6, P_7, P_8)
多邊形3, p_9, p_{10}, p_{12}, p_{11} = Polygon(P_9, P_{10}, P_{11}, P_{12})
多邊形23 = Poly_C3(P_{12}, P_1, P_4)
多邊形24 = Poly_P3(P_{12}, P_4, P_7)
多邊形25 = Poly_Y3(P_{12}, P_8, P_1)
多邊形26 = Poly_G3(P_{11}, P_{12}, P_7)
多邊形27 = Poly_R3(P_{11}, P_8, P_{12})
多邊形28 = Poly_B31(P_2, P_8, P_{11})
多邊形29 = Poly_C3(P_3, P_{11}, P_7)
多邊形30 = Poly_Y3(P_3, P_7, P_6)
多邊形31 = Poly_R3(P_7, P_4, P_6)
多邊形32 = Poly_B31(P_6, P_4, P_9)
多邊形33 = Poly_G3(P_4, P_1, P_9)
多邊形34 = Poly_P3(P_1, P_8, P_5)
多邊形35 = Poly_B31(P_1, P_5, P_9)
多邊形36 = Poly_G3(P_5, P_8, P_2)
多邊形37 = Poly_Y3(P_5, P_2, P_{10})
多邊形38 = Poly_R3(P_9, P_5, P_{10})
多邊形39 = Poly_P3(P_{11}, P_3, P_2)
多邊形40 = Poly_Y3(P_{10}, P_6, P_9)
多邊形41 = Poly_G3(P_3, P_6, P_{10})
多邊形42 = Poly_C3(P_3, P_{10}, P_2)
f, g = SDLine(P_{11}, P_2, P_3, P_8)
h, i = SDLine(P_{12}, P_{11}, P_7, P_8)
j, k_3 = SDLine(P_{12}, P_8, P_{11}, P_1)
l, m = SDLine(P_8, P_5, P_2, P_1)
n, p = SDLine(P_1, P_8, P_{12}, P_5)
q, r_0 = SDLine(P_4, P_{12}, P_7, P_1)
s_3, t_3 = SDLine(P_4, P_1, P_{12}, P_9)
a_1, b_1 = SDLine(P_{12}, P_1, P_8, P_4)
c_1, d_1 = SDLine(P_7, P_{12}, P_{11}, P_4)
e_1, f_1 = SDLine(P_7, P_{11}, P_3, P_{12})
g_1, h_1 = SDLine(P_{11}, P_3, P_7, P_2)
k_1, l_1 = SDLine(P_7, P_4, P_{12}, P_6)
m_1, n_1 = SDLine(P_6, P_9, P_4, P_{10})
q_1, r_1 = SDLine(P_6, P_{10}, P_9, P_3)
s_1, t_1 = SDLine(P_3, P_6, P_7, P_{10})
a_2, b_2 = SDLine(P_3, P_{10}, P_6, P_2)
c_2, d_2 = SDLine(P_{10}, P_9, P_6, P_5)
e_2, f_2 = SDLine(P_2, P_{10}, P_3, P_5)
g_2, h_2 = SDLine(P_2, P_5, P_{10}, P_8)
i_2, j_2 = SDLine(P_3, P_2, P_{10}, P_{11})
k_2, l_2 = SDLine(P_7, P_3, P_6, P_{11})
m_2, n_2 = SDLine(P_{10}, P_5, P_9, P_2)
q_2, r_2 = SDLine(P_9, P_1, P_4, P_5)
s_2, t_2 = SDLine(P_6, P_7, P_3, P_4)
a_3, b_3 = SDLine(P_1, P_5, P_8, P_9)
c_3, d_3 = SDLine(P_8, P_{11}, P_{12}, P_2)
e_3, f_3 = SDLine(P_4, P_6, P_9, P_7)
d, g_3 = SDLine(P_5, P_9, P_{10}, P_1)
A_c: (Corner[1] + Corner[3]) / 2
S_1: O + (φ - 1 / sqrt(3)) * v
S_2: O - (φ - 1 / sqrt(3)) * v
S_3: O + (φ - 1 / sqrt(3)) * u
S_4: O - (φ - 1 / sqrt(3)) * u
S_5: O + (φ - 1 / sqrt(3)) * w
S_6: O - (φ - 1 / sqrt(3)) * w
a_a = Segment(P_4, S_5)
a_c = Segment(S_6, S_5)
a_d = Segment(S_6, P_2)
a_e = Segment(S_6, P_3)
a_b = Segment(P_1, S_5)
b_a = Segment(P_5, S_1)
b_b = Segment(P_8, S_1)
b_c = Segment(S_2, S_1)
b_d = Segment(S_2, P_6)
b_e = Segment(S_2, P_7)
c_a = Segment(S_3, P_9)
c_b = Segment(S_3, P_{10})
c_d = Segment(S_4, P_{12})
c_e = Segment(S_4, P_{11})
c_c = Segment(S_4, S_3)
k_0: (φ - 1 / sqrt(3)) * (1 - (2 + sqrt(3)) / sqrt(29 - 4 * sqrt(3)))
S_b: O - k_0 * u - k_0 * v
S_e: O - k_0 * u + k_0 * w
S_d: O - k_0 * v - k_0 * w
S_c: O + k_0 * v + k_0 * w
S_f: O + k_0 * u - k_0 * w
S_a: O + k_0 * u + k_0 * v
d_k = Segment(S_f, S_3)
d_n = Segment(S_e, S_4)
d_o = Segment(S_a, S_1)
d_q = Segment(S_d, S_2)
d_r = Segment(S_b, S_2)
a = false
Rec1, p_{70}, p_{71}, p_{72}, p_{73} = Polygon(P_1, P_2, P_3, P_4)
Rec2, p_{74}, p_{75}, p_{76}, p_{77} = Polygon(P_5, P_6, P_7, P_8)
Rec3, p_{78}, p_{79}, p_{80}, p_{81} = Polygon(P_9, P_{10}, P_{11}, P_{12})
poly1 = Poly_C3(S_5, S_3, S_1)
poly2 = Poly_C3(S_3, S_6, S_1)
poly3 = Poly_C3(S_5, S_1, S_4)
poly4 = Poly_C3(S_4, S_1, S_6)
poly5 = Poly_C3(S_5, S_4, S_2)
poly6 = Poly_C3(S_2, S_4, S_6)
poly7 = Poly_C3(S_3, S_5, S_2)
poly8 = Poly_C3(S_3, S_2, S_6)
d_a = Segment(S_a, S_c)
d_b = Segment(S_c, S_e)
d_c = Segment(S_e, S_b)
d_d = Segment(S_d, S_b)
d_f = Segment(S_a, S_f)
d_h = Segment(S_c, S_5)
d_g = Segment(S_e, S_5)
d_i = Segment(S_d, S_6)
d_l = Segment(S_a, S_3)
u_1 = false
s = 0 (slider from 0 to 14, step 1)
h_3, i_3 = SDLine(P_8, P_{11}, P_{12}, P_2)
Q_A: 0.3 * Corner[2] + 0.7 * Corner[1]
Q_B: (x(Q_A), y(Corner[3]))
poly00, b, q_a, q_b, j_3 = Polygon(Corner[1], Q_A, Q_B, Corner[4])
d_p = Segment(S_a, S_1)
d_j = Segment(S_d, S_6)
h_4, h_5 = SDLine(P_{12}, P_{11}, P_7, P_8)
d_e = Segment(S_a, S_d)
d_m = Segment(S_b, S_4)
t = 0.852 (slider from 0 to 1.61803399, step 0.0010)
SS1: O + t * u
SS2: O - t * u
SS3: O + t * v
SS4: O - t * v
SS5: O + t * w
SS6: O - t * w
text14_1: "12\overline{S_eP_1}+(2+\sqrt3)\overline{S_aS_c}+6\overline{BS_a}
\\=12×" + (LaTeX[sqrt(t^(2) - (1 + sqrt(5)) * t + (5 + sqrt(5)) / 2)]) + "+" + (LaTeX[4.215 * sqrt(2) * t]) + "
\\=" + (LaTeX[12 * sqrt(t^(2) - (1 + sqrt(5)) * t + (5 + sqrt(5)) / 2) + 4.215 * sqrt(2) * t]) + ""
k: (1 - (2 + sqrt(3)) / sqrt(29 - 4 * sqrt(3))) * t
SSA: O + k * u + k * v
SSB: O - k * u - k * v
SSC: O + k * w + k * v
SSD: O - k * w - k * v
s_{1} = Segment(SSB, SSD)
s_{2} = Segment(SSA, SSD)
s_{3} = Segment(SSA, SSC)
s_{4} = Segment(SS5, SSC)
s_{5} = Segment(SS6, SSD)
s_{6} = Segment(SS1, SSA)
s_{7} = Segment(SS3, SSA)
s_{8} = Segment(SS2, SSB)
s_{9} = Segment(SS4, SSB)
s_{10} = Segment(SS5, P_1)
s_{11} = Segment(SS5, P_4)
s_{12} = Segment(SS6, P_2)
s_{13} = Segment(SS6, P_3)
s_{14} = Segment(SS4, P_6)
s_{15} = Segment(SS4, P_7)
s_{16} = Segment(SS3, P_5)
s_{17} = Segment(SS3, P_8)
s_{18} = Segment(SS1, P_9)
s_{19} = Segment(SS1, P_{10})
s_{20} = Segment(SS2, P_{11})
s_{21} = Segment(SS2, P_{12})
inputBox1 = Textfield(t)
c, e = SDLine(P_8, P_2, P_{11}, P_5)
i_1, j_1 = SDLine(P_4, P_9, P_1, P_6)

Tool: Poly_B3
Input: A, B, C
Output: poly1'

α = Angle(C, B, A)
d: sqrt(sgn(sin(α)))
A' = Dilate(A, d, A)
B' = Dilate(B, d, A)
C' = Dilate(C, d, A)
poly1', c', a', b' = Polygon(A', B', C')

Tool: Poly_C3
Input: A, B, C
Output: poly1

poly1 = Poly_B3(A, B, C)

Tool: Poly_G3
Input: A, B, C
Output: poly1'

α = Angle(C, B, A)
d: sqrt(sgn(sin(α)))
A' = Dilate(A, d, A)
B' = Dilate(B, d, A)
C' = Dilate(C, d, A)
poly1', c', a', b' = Polygon(A', B', C')

Tool: Poly_P3
Input: A, B, C
Output: poly1

poly1 = Poly_B3(A, B, C)

Tool: Poly_R3
Input: A, B, C
Output: poly1'

α = Angle(C, B, A)
d: sqrt(sgn(sin(α)))
A' = Dilate(A, d, A)
B' = Dilate(B, d, A)
C' = Dilate(C, d, A)
poly1', c', a', b' = Polygon(A', B', C')

Tool: Poly_Y3
Input: A, B, C
Output: poly1

poly1 = Poly_B3(A, B, C)

Tool: Poly_B3 (command Poly_B31)
Input: A, B, C
Output: poly1'

α = Angle(C, B, A)
d: sqrt(sgn(sin(α)))
A' = Dilate(A, d, A)
B' = Dilate(B, d, A)
C' = Dilate(C, d, A)
poly1', c', a', b' = Polygon(A', B', C')

Tool: SDLine
Input: A, B, C, D
Output: g, h

b: sgn(sin(Angle[D, B, A]))
a: sgn(sin(Angle[A, B, C]))
c: sgn(a + b + 0.5)
d: sqrt(c)
e: sqrt(-c)
E = Midpoint(A, B)
A' = Dilate(A, d, E)
B' = Dilate(B, d, E)
g = Segment(A', B')
A'_1 = Dilate(A, e, E)
B'_1 = Dilate(B, e, E)
h = Segment(A'_1, B'_1)