三角測量
Author: 高二忠01王昱旼

β = 4.4505895925855405 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
α = 0.9215338450530061 rad (slider from 0 to 6.283185307179586, step 0.01*°)
O = (3.6, -2.03)
X_{unit}: O + (cos(α), sin(α) * cos(β))
u = Vector(O, X_{unit})
Y_{unit}: O + (-sin(α), cos(α) * cos(β))
v = Vector(O, Y_{unit})
Z_{unit}: O + (0, -sin(β))
w = Vector(O, Z_{unit})
L = 7 (slider from 0 to 10, step 1)
x_{Axis} = Vector(O - L * u, O + L * u)
y_{Axis} = Vector(O - L * v, O + L * v)
z_{Axis} = Vector(O - L * w, O + L * w)
r = 0.61 (slider from 0.5 to 1, step 0.01)
n = 15 (slider from 1 to 15, step 1)
h = 5 (slider from 1 to 5, step 0.1)
A_1: O + r * cos(0°) * u + r * sin(0°) * v
A_2: O + r * cos(90°) * u + r * sin(90°) * v
A_3: O + r * cos(180°) * u + r * sin(180°) * v
A_4: O + r * cos(270°) * u + r * sin(270°) * v
A_5: O + h * w + r * cos(45°) * u + r * sin(45°) * v
A_6: O + h * w + r * cos(135°) * u + r * sin(135°) * v
A_7: O + h * w + r * cos(225°) * u + r * sin(225°) * v
A_8: O + h * w + r * cos(315°) * u + r * sin(315°) * v
A, a_1, a_2, a_3, a_4 = Polygon(A_1, A_2, A_3, A_4)
B, a_6, a_7, a_8, a_5 = Polygon(A_6, A_7, A_8, A_5)
poly1, a_9, a_{10}, a_{11} = Polygon(A_5, A_8, A_1)
poly2, a_{12}, a_{13}, a_{14} = Polygon(A_6, A_5, A_2)
poly3, a_{15}, a_{16}, a_{17} = Polygon(A_7, A_8, A_4)
poly4, a_{18}, a_{19}, a_{20} = Polygon(A_6, A_7, A_3)
poly5, a_{21}, a_{22}, a_{23} = Polygon(A_2, A_1, A_5)
poly6, a_{24}, a_{25}, a_{26} = Polygon(A_2, A_3, A_6)
poly7, a_{27}, a_{28}, a_{29} = Polygon(A_3, A_4, A_7)
poly8, a_{30}, a_{31}, a_{32} = Polygon(A_4, A_1, A_8)
list_d = Sequence(A_2 + k / n * Vector[A_2, A_5], k, 1, n)
list_e = Sequence(A_1 + k / n * Vector[A_1, A_5], k, 1, n)
list_f = Sequence(Segment[Element[list_d, k], Element[list_e, k]], k, 1, n)
list_a = Sequence(A_2 + k / n * Vector[A_2, A_6], k, 1, n)
list_b = Sequence(A_2 + k / n * Vector[A_2, A_5], k, 1, n)
list_c = Sequence(Segment[Element[list_a, k], Element[list_b, k]], k, 1, n)
list_g = Sequence(A_1 + k / n * Vector[A_1, A_5], k, 1, n)
list_h = Sequence(A_1 + k / n * Vector[A_1, A_8], k, 1, n)
list_i = Sequence(Segment[Element[list_g, k], Element[list_h, k]], k, 1, n)
list_j = Sequence(A_1 + k / n * Vector[A_1, A_8], k, 1, n)
list_k = Sequence(A_4 + k / n * Vector[A_4, A_8], k, 1, n)
list_l = Sequence(Segment[Element[list_j, k], Element[list_k, k]], k, 1, n)
list_m = Sequence(A_4 + k / n * Vector[A_4, A_8], k, 1, n)
list_n = Sequence(A_4 + k / n * Vector[A_4, A_7], k, 1, n)
list_o = Sequence(Segment[Element[list_m, k], Element[list_n, k]], k, 1, n)
list_p = Sequence(A_4 + k / n * Vector[A_4, A_7], k, 1, n)
list_q = Sequence(A_3 + k / n * Vector[A_3, A_7], k, 1, n)
list_r = Sequence(Segment[Element[list_p, k], Element[list_q, k]], k, 1, n)
list_s = Sequence(A_3 + k / n * Vector[A_3, A_7], k, 1, n)
list_t = Sequence(A_3 + k / n * Vector[A_3, A_6], k, 1, n)
list_u = Sequence(Segment[Element[list_s, k], Element[list_t, k]], k, 1, n)
list_v = Sequence(A_3 + k / n * Vector[A_3, A_6], k, 1, n)
list_w = Sequence(A_2 + k / n * Vector[A_2, A_6], k, 1, n)
list_x = Sequence(Segment[Element[list_t, k], Element[list_w, k]], k, 1, n)
list_A = Sequence(Polygon[Element[list_b, k], Element[list_e, k], Element[list_h, k], Element[list_k, k], Element[list_n, k], Element[list_q, k], Element[list_t, k], Element[list_w, k]], k, 1, n)
poly10, e, f, g, i = Polygon(O + 3 * u + 3 * v, O - 3 * u + 3 * v, O - 3 * u - 3 * v, O + 3 * u - 3 * v)