截十二面體
Author: 藍邦偉　老師

單位向量

座標軸

Start

x

y

z

$ 截十二面體 $

O = (10.164973845984383, 3.8739850196902834)
β = 1.3962634015954636 rad (slider from 0 to 6.283185307179586, step 0.1*°)
Z_{unit}: O + (0, sin(β))
w = Vector(O, Z_{unit})
α = 4.276056667386108 rad (slider from 0 to 6.283185307179586, step 0.1*°)
X_{unit}: O + (cos(α), sin(α) * cos(β))
u = Vector(O, X_{unit})
Y_{unit}: O + (-1 * sin(α), cos(α) * cos(β))
v = Vector(O, Y_{unit})
L = 7 (slider from 1 to 10, step 1)
a = Vector(O - L * v, O + L * v)
b = Vector(O - L * w, O + L * w)
z = Vector(O - L * u, O + L * u)
c = false
d = false
Q_2: 0.2 * Corner[2] + 0.8 * Corner[1]
Q_3: (x(Q_2), y(Corner[3]))
g = Segment(Q_2, Q_3)
poly0, h, q_1, q_4, i = Polygon(Corner[1], Q_2, Q_3, Corner[4])
t = 0.5 (slider from 0 to 0.5, step 0.01)
ϕ = 0.6180339887498949
A_9: O + 1 / ϕ * v + ϕ * w
A_{10}: O - 1 / ϕ * v + ϕ * w
A_{11}: O - 1 / ϕ * v - ϕ * w
A_{12}: O + 1 / ϕ * v - ϕ * w
A_{13}: O + 1 / ϕ * u + ϕ * v
A_{14}: O - 1 / ϕ * u + ϕ * v
A_{15}: O - 1 / ϕ * u - ϕ * v
A_{16}: O + 1 / ϕ * u - ϕ * v
A_{17}: O + ϕ * u + 1 / ϕ * w
A_{18}: O - ϕ * u + 1 / ϕ * w
A_{19}: O - ϕ * u - 1 / ϕ * w
A_{20}: O + ϕ * u - 1 / ϕ * w
a_0 = Segment(A_{17}, A_{18})
a_1 = Segment(A_{19}, A_{20})
a_2 = Segment(A_9, A_{12})
a_3 = Segment(A_{10}, A_{11})
a_4 = Segment(A_{14}, A_{15})
a_5 = Segment(A_{13}, A_{16})
A_1: O + u + v + w
A_2: O - u + v + w
A_3: O - u - v + w
A_4: O + u - v + w
A_5: O + u + v - w
A_6: O - u + v - w
A_7: O - u - v - w
A_8: O + u - v - w
a_6 = Segment(A_{17}, A_1)
a_7 = Segment(A_{17}, A_4)
a_8 = Segment(A_{18}, A_2)
a_9 = Segment(A_{18}, A_3)
a_{14} = Segment(A_1, A_9)
a_{15} = Segment(A_2, A_9)
a_{16} = Segment(A_{12}, A_5)
a_{17} = Segment(A_{12}, A_6)
a_{26} = Segment(A_2, A_{14})
a_{27} = Segment(A_6, A_{14})
a_{28} = Segment(A_3, A_{15})
a_{29} = Segment(A_7, A_{15})
a_{30} = Segment(A_7, A_{11})
a_{31} = Segment(A_8, A_{11})
a_{32} = Segment(A_3, A_{10})
a_{33} = Segment(A_4, A_{10})
a_{34} = Segment(A_1, A_{13})
a_{35} = Segment(A_5, A_{13})
a_{36} = Segment(A_4, A_{16})
a_{37} = Segment(A_8, A_{16})
a_{38} = Segment(A_5, A_{20})
a_{39} = Segment(A_8, A_{20})
a_{40} = Segment(A_6, A_{19})
a_{41} = Segment(A_7, A_{19})
B_1: A_1 + t * Vector[A_1, A_{17}]
B_2: A_1 + t * Vector[A_1, A_{13}]
B_3: A_1 + t * Vector[A_1, A_9]
B_4: A_2 + t * Vector[A_2, A_9]
B_5: A_2 + t * Vector[A_2, A_{18}]
B_6: A_2 + t * Vector[A_2, A_{14}]
B_7: A_3 + t * Vector[A_3, A_{15}]
B_8: A_3 + t * Vector[A_3, A_{18}]
B_9: A_3 + t * Vector[A_3, A_{10}]
B_{10}: A_4 + t * Vector[A_4, A_{10}]
B_{11}: A_4 + t * Vector[A_4, A_{17}]
B_{12}: A_4 + t * Vector[A_4, A_{16}]
B_{13}: A_5 + t * Vector[A_5, A_{13}]
B_{14}: A_5 + t * Vector[A_5, A_{12}]
B_{15}: A_5 + t * Vector[A_5, A_{20}]
B_{16}: A_6 + t * Vector[A_6, A_{12}]
B_{17}: A_6 + t * Vector[A_6, A_{14}]
B_{18}: A_6 + t * Vector[A_6, A_{19}]
B_{19}: A_7 + t * Vector[A_7, A_{15}]
B_{20}: A_7 + t * Vector[A_7, A_{11}]
B_{21}: A_7 + t * Vector[A_7, A_{19}]
B_{22}: A_8 + t * Vector[A_8, A_{11}]
B_{23}: A_8 + t * Vector[A_8, A_{20}]
B_{24}: A_8 + t * Vector[A_8, A_{16}]
B_{25}: A_9 + t * Vector[A_9, A_{12}]
B_{26}: A_9 + t * Vector[A_9, A_1]
B_{27}: A_9 + t * Vector[A_9, A_2]
B_{28}: A_{10} + t * Vector[A_{10}, A_3]
B_{29}: A_{10} + t * Vector[A_{10}, A_4]
B_{30}: A_{10} + t * Vector[A_{10}, A_{11}]
B_{31}: A_{11} + t * Vector[A_{11}, A_{10}]
B_{32}: A_{11} + t * Vector[A_{11}, A_7]
B_{33}: A_{11} + t * Vector[A_{11}, A_8]
B_{34}: A_{12} + t * Vector[A_{12}, A_5]
B_{35}: A_{12} + t * Vector[A_{12}, A_6]
B_{36}: A_{12} + t * Vector[A_{12}, A_9]
B_{37}: A_{13} + t * Vector[A_{13}, A_1]
B_{38}: A_{13} + t * Vector[A_{13}, A_5]
B_{39}: A_{13} + t * Vector[A_{13}, A_{16}]
B_{40}: A_{14} + t * Vector[A_{14}, A_{15}]
B_{41}: A_{14} + t * Vector[A_{14}, A_2]
B_{42}: A_{14} + t * Vector[A_{14}, A_6]
B_{45}: A_{15} + t * Vector[A_{15}, A_{14}]
B_{43}: A_{15} + t * Vector[A_{15}, A_3]
B_{44}: A_{15} + t * Vector[A_{15}, A_7]
B_{46}: A_{16} + t * Vector[A_{16}, A_{13}]
B_{47}: A_{16} + t * Vector[A_{16}, A_8]
B_{48}: A_{16} + t * Vector[A_{16}, A_4]
B_{49}: A_{17} + t * Vector[A_{17}, A_4]
B_{50}: A_{17} + t * Vector[A_{17}, A_1]
B_{51}: A_{17} + t * Vector[A_{17}, A_{18}]
B_{52}: A_{18} + t * Vector[A_{18}, A_{17}]
B_{53}: A_{18} + t * Vector[A_{18}, A_2]
B_{54}: A_{18} + t * Vector[A_{18}, A_3]
B_{55}: A_{19} + t * Vector[A_{19}, A_6]
B_{56}: A_{19} + t * Vector[A_{19}, A_7]
B_{57}: A_{19} + t * Vector[A_{19}, A_{20}]
B_{58}: A_{20} + t * Vector[A_{20}, A_{19}]
B_{59}: A_{20} + t * Vector[A_{20}, A_5]
B_{60}: A_{20} + t * Vector[A_{20}, A_8]
tri1 = Poly_B3(B_1, B_2, B_3)
tri2 = Poly_B3(B_5, B_4, B_6)
tri3 = Poly_B3(B_9, B_8, B_7)
tri4 = Poly_B3(B_{11}, B_{10}, B_{12})
tri5 = Poly_B3(B_{14}, B_{13}, B_{15})
tri6 = Poly_B3(B_{17}, B_{16}, B_{18})
tri7 = Poly_B3(B_{20}, B_{19}, B_{21})
tri8 = Poly_B3(B_{22}, B_{23}, B_{24})
tri9 = Poly_B3(B_{27}, B_{26}, B_{25})
tria = Poly_B3(B_{30}, B_{29}, B_{28})
trib = Poly_B3(B_{31}, B_{32}, B_{33})
tric = Poly_B3(B_{34}, B_{35}, B_{36})
trid = Poly_B3(B_{37}, B_{39}, B_{38})
trie = Poly_B3(B_{40}, B_{41}, B_{42})
trif = Poly_B3(B_{43}, B_{45}, B_{44})
trig = Poly_B3(B_{46}, B_{48}, B_{47})
trih = Poly_B3(B_{49}, B_{50}, B_{51})
trii = Poly_B3(B_{52}, B_{53}, B_{54})
trij = Poly_B3(B_{55}, B_{57}, B_{56})
trik = Poly_B3(B_{58}, B_{59}, B_{60})
poly2 = Poly_Y10(B_{23}, B_{22}, B_{33}, B_{32}, B_{20}, B_{21}, B_{56}, B_{57}, B_{58}, B_{60})
poly3 = Poly_Y10(B_{35}, B_{34}, B_{14}, B_{15}, B_{59}, B_{58}, B_{57}, B_{55}, B_{18}, B_{16})
poly4 = Poly_Y10(B_{47}, B_{48}, B_{12}, B_{10}, B_{29}, B_{30}, B_{31}, B_{33}, B_{22}, B_{24})
poly5 = Poly_Y10(B_{15}, B_{13}, B_{38}, B_{39}, B_{46}, B_{47}, B_{24}, B_{23}, B_{60}, B_{59})
poly6 = Poly_Y10(B_{30}, B_{28}, B_9, B_7, B_{43}, B_{44}, B_{19}, B_{20}, B_{32}, B_{31})
poly7 = Poly_Y10(B_{21}, B_{19}, B_{44}, B_{45}, B_{40}, B_{42}, B_{17}, B_{18}, B_{55}, B_{56})
poly8 = Poly_Y10(B_{48}, B_{46}, B_{39}, B_{37}, B_2, B_1, B_{50}, B_{49}, B_{11}, B_{12})
poly9 = Poly_Y10(B_{28}, B_{29}, B_{10}, B_{11}, B_{49}, B_{51}, B_{52}, B_{54}, B_8, B_9)
poly10 = Poly_Y10(B_{41}, B_{40}, B_{45}, B_{43}, B_7, B_8, B_{54}, B_{53}, B_5, B_6)
poly11 = Poly_Y10(B_3, B_{26}, B_{27}, B_4, B_5, B_{53}, B_{52}, B_{51}, B_{50}, B_1)
poly12 = Poly_Y10(B_{35}, B_{16}, B_{17}, B_{42}, B_{41}, B_6, B_4, B_{27}, B_{25}, B_{36})
poly1 = Poly_Y10(B_{38}, B_{13}, B_{14}, B_{34}, B_{36}, B_{25}, B_{26}, B_3, B_2, B_{37})

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_10 (command Poly_Y10)
Input: B_{58}, B_{60}, B_{23}, B_{22}, B_{33}, B_{32}, B_{20}, B_{21}, B_{56}, B_{57}
Output: poly2

poly2, b_{23}, b_{22}, b_{33}, b_{32}, b_{20}, b_{21}, b_{56}, b_{57}, b_{58}, b_{60} = Polygon(B_{23}, B_{22}, B_{33}, B_{32}, B_{20}, B_{21}, B_{56}, B_{57}, B_{58}, B_{60})