一題摺紙問題
Author: 藍邦偉　老師

單位向量

座標軸

x

y

z

一題摺紙問題

γ = 0 rad (slider from 0 to 109*°, step 0.0010*°)
O = (9.738502611691983, 3.5451591407211316)
β = 0 rad (slider from 0 to 6.283185307179586, step 0.017)
Z_{unit}: O + (0, sin(β))
w = Vector(O, Z_{unit})
α = 3.9269908169872414 rad (slider from 0 to 6.283185307179586, step 0.01*°)
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]))
多邊形1, e, q_2, q_3, f = Polygon(Corner[1], Q_2, Q_3, Corner[4])
g = Segment(Q_2, Q_3)
poly1, h, q_1, q_4, i = Polygon(Corner[1], Q_2, Q_3, Corner[4])
A_1: O + 4 * u
A_2: O + 4 * v
A_3: O - 4 * u
A_4: O - 4 * v
B_1 = Midpoint(A_1, A_4)
B_2 = Midpoint(A_1, A_2)
r_1 = 2.8284271247461903
p_7 = Segment(B_1, B_2)
p_8 = Segment(B_1, A_3)
p_9 = Segment(B_2, A_3)
B_4: O + 4 / 3 * u + 4 * sqrt(2) / 3 * w
u_1 = Vector(A_4, B_4)
t = 0 (slider from 0 to 1, step 0.0010)
B_5: A_4 + t * u_1
p_3 = Segment(A_3, B_5)
p_4 = Segment(B_1, B_5)
u_2 = Vector(A_2, B_4)
B_6: A_2 + t * u_2
p_2 = Segment(A_3, B_6)
p_1 = Segment(B_2, B_6)
u_3 = Vector(A_1, B_4)
B_3: O + 2 * u + 2 * (cos(γ) * u + sin(γ) * w)
p_6 = Segment(B_2, B_3)
p_5 = Segment(B_1, B_3)
p_a = Segment(B_1, B_2)
p_b = Segment(B_1, A_3)
p_c = Segment(B_2, A_3)
Poly1 = Poly_B3(B_1, B_2, B_3)
Poly2 = Poly_R3(A_3, B_6, B_2)
Poly3 = Poly_Y3(B_1, B_5, A_3)
Poly4 = Poly_R3(B_1, A_3, B_2)

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)

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_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: Poly_C3
Input: A, B, C
Output: poly1

poly1 = Poly_B3(A, B, C)

Tool: Poly_B3 (command Poly_B32)
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_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')