三角柱的展開
Author: 藍邦偉　老師

座標軸

單位向量

顯示xy平面格線

Reset

Step 1

Step 2

長

寬

A''' = (-4.02, 5.380000000000002)
B''' = (-1.4200000000000002, 5.380000000000001)
a''_3 = Segment(A''', B''')
C'_1 = Point(a''_3)
D''' = Point(a''_3)
c_2 = Circle(C'_1, D''')
E''' = Point(a''_3)
A'' = Rotate(A''', 270*°, C'_1)
B'' = Rotate(B''', 270*°, C'_1)
a'' = Segment(A'', B'')
E'' = Rotate(E''', 270*°, C'_1)
u''_2 = Vector(C'_1, E''')
c' = Translate(c_2, u''_2)
c'' = Rotate(c', 270*°, C'_1)
Q''' = Point(c')
b''_3 = Segment(E''', Q''')
F'' = Rotate(Q''', 90*°, E''')
F'_1 = Rotate(Q''', 270*°, E''')
P''' = Point(c'')
G'' = Rotate(P''', 90*°, E'')
e'' = Segment(P''', E'')
f'' = Segment(G'', E'')
g'' = Line(F'_1, a''_3)
H''' = Intersect(g'', a'')
D'' = Rotate(D''', 90*°, C'_1)
v''_2 = Vector(E'', C'_1)
G'_1 = Translate(P''', v''_2)
G''_1 = Translate(G'', v''_2)
h'' = OrthogonalLine(G'_1, a''_3)
i'' = OrthogonalLine(G''_1, u''_2)
I''' = Intersect(h'', a''_3)
J''' = Intersect(i'', a''_3)
K''' = Dilate(G'_1, AffineRatio[C'_1, D'', H'''], I''')
G''' = Dilate(G''_1, AffineRatio[C'_1, D'', H'''], J''')
j'' = Line(Q''', a''_3)
L'_1 = Intersect(j'', a'')
R''' = Point(c_2)
N''' = Rotate(G''', Angle[D''', C'_1, R'''], C'_1)
L'' = Rotate(L'_1, Angle[D''', C'_1, R'''], C'_1)
K'' = Rotate(K''', Angle[D''', C'_1, R'''], C'_1)
O = (12.146241565668273, -2.414371423720095)
w''_2 = Vector(C'_1, O)
y_1 = Translate(N''', w''_2)
z_1 = Translate(L'', w''_2)
x_1 = Translate(K'', w''_2)
k'' = Segment(C'_1, L'')
l'' = Segment(C'_1, K'')
m''' = Segment(N''', C'_1)
L_{axis} = 10 (slider from 0 to 10, step 1)
C''' = Dilate(x_1, L_{axis}, O)
F''' = Dilate(z_1, L_{axis}, O)
G'''' = Dilate(y_1, L_{axis}, O)
C'' = Mirror(C''', O)
G'_2 = Mirror(G'''', O)
F'_2 = Mirror(F''', O)
z'' = Vector(C'', C''')
s'' = Vector(G'_2, G'''')
t'' = Vector(F'_2, F''')
o''' = false
u = Vector(O, x_1)
v = Vector(O, y_1)
w = Vector(O, z_1)
b''_1 = false
d''' = Segment(F'', F'_1)
d = false
Zlist2 = Sequence(Segment[O + t * v + L_{axis} * u, O + t * v - L_{axis} * u], t, -L_{axis}, L_{axis})
Zlist1 = Sequence(Segment[O + t * u + L_{axis} * v, O + t * u - L_{axis} * v], t, -L_{axis}, L_{axis})
a = 10 (slider from 1 to 10, step 0.1)
b = 5 (slider from 1 to 10, step 0.1)
α = 2.0943951023931953 rad (slider from 0 to 2.0943951023931953, step 0.1*°)
B: O - a * u + b * v + 0 * w
C: O - a * u - b * v + 0 * w
D: O + a * u - b * v + 0 * w
A: O + a * u + b * v + 0 * w
E: A + 2 * b * cos(α) * v + 2 * b * sin(α) * w
F: B + 2 * b * cos(α) * v + 2 * b * sin(α) * w
G: C - 2 * b * cos(α) * v + 2 * b * sin(α) * w
H: D - 2 * b * cos(α) * v + 2 * b * sin(α) * w
β = 1.5865042900628457 rad (slider from 0 to 1.5707963267948966, step 0.1*°)
P: O + a * u + sqrt(3) * b * cos(β) * u + sqrt(3) * b * sin(β) * w
Q: O - a * u - sqrt(3) * b * cos(β) * u + sqrt(3) * b * sin(β) * w
多邊形1 = Poly_Y3(P, D, A)
f, g = SDLine(B, A, G, F)
l, m = SDLine(E, F, B, A)
n, p = SDLine(A, E, B, F)
q, r = SDLine(F, B, E, A)
s, t = SDLine(H, G, C, D)
i_1, j_1 = SDLine(B, Q, F, C)
k_1, l_1 = SDLine(C, Q, B, G)
多邊形4 = Poly_B3(Q, B, C)
多邊形5 = Poly_C4(G, C, D, H)
多邊形3 = Poly_P4(E, A, B, F)
多邊形6 = Poly_R4(A, D, C, B)
g_1 = Segment(A, P)
a_1 = Segment(H, D)
c = Segment(C, D)
e = Segment(C, B)
i = Segment(G, C)
j = Segment(P, D)
h = Segment(A, D)
inputBox1 = Textfield(a)
inputBox2 = Textfield(b)

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

poly1 = Poly_B3(A, B, C)

Tool: Poly_G4
Input: A, B, C, D
Output: poly1'

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

Tool: Poly_R4
Input: A, B, C, D
Output: poly1'

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

Tool: Poly_P4
Input: A, B, C, D
Output: poly1

poly1 = Poly_R4(A, B, C, D)

Tool: Poly_C4
Input: A, B, C, D
Output: poly1

poly1 = Poly_R4(A, B, C, D)