正四面體的內切球
Author: 藍邦偉  老師

x

y

z

單位向量

顯示座標軸

正四面體的內切球

x

y

z

顯示正四面體

高

α = 4.468042885105484 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
β = 1.4486232791552935 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
O = (11.890134435890351, 0.8134163341418432)
X_{unit}: O + (cos(α), sin(α) * cos(β))
Y_{unit}: O + (-1 * sin(α), cos(α) * cos(β))
Z_{unit}: O + (0, sin(β))
u = Vector(O, X_{unit})
v = Vector(O, Y_{unit})
w = Vector(O, Z_{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)
A_1: O + L * u
B_1: O + L * v
Z: O + L * w
c = false
d = false
r = 3 (slider from 1 to 5, step 1)
A_b: O + r * cos(120°) * u + r * sin(120°) * v
A_a: O + r * u
A_c: O + r * cos(240°) * u + r * sin(240°) * v
e = Segment(A_a, A_b)
f = Segment(A_c, A_b)
g = Segment(A_c, A_a)
A_3: O + r * sqrt(2) * w
h = Segment(A_c, A_3)
i = Segment(A_a, A_3)
j = Segment(A_b, A_3)
A_o: O + 0.25 * sqrt(2) * r * w
A_{d1}: O + r * sqrt(2) * w
B_a: A_a + A_b - A_c
B_b: A_a + A_c - A_b
B_c: A_b + A_c - A_a
k = Segment(A_{d1}, B_a)
l = Segment(A_{d1}, B_b)
m = Segment(A_{d1}, B_c)
t = 0 (slider from 0 to 1, step 0.01)
A_{d3}: O + (r * sqrt(2) - sqrt(2) * r * t) * w - 2 * r * t * u
n = Segment(A_c, A_{d3})
p = Segment(A_{d3}, A_b)
A_{d2}: O + r * t * u + sqrt(3) * r * t * v + (r * sqrt(2) - sqrt(2) * r * t) * w
q = Segment(A_{d2}, A_b)
s = Segment(A_{d2}, A_a)
A_{d4}: O + r * t * u - sqrt(3) * r * t * v + (r * sqrt(2) - sqrt(2) * r * t) * w
a_1 = Segment(A_{d4}, A_a)
b_1 = Segment(A_{d4}, A_c)
多邊形1 = Poly_G3(A_{d4}, A_c, A_a)
多邊形2 = Poly_G3(A_{d2}, A_a, A_b)
多邊形3 = Poly_G3(A_{d3}, A_b, A_c)
G_1: 1 / 3 * (B_b + A_a + A_c) + 0.25 * sqrt(2) * r * w
c_1 = Segment(A_o, G_1)
G_2: 1 / 3 * (B_a + A_a + A_b) + 0.25 * sqrt(2) * r * w
G_a: A_o + t * Vector[A_o, G_1]
G_b: A_o + t * Vector[A_o, G_2]
G_3: 1 / 3 * (B_c + A_b + A_c) + 0.25 * sqrt(2) * r * w
G_c: A_o + t * Vector[A_o, G_3]
G_5: 1 / 3 * (A_{d2} + A_a + A_b)
e_3 = Segment(G_b, G_5)
G_6: 1 / 3 * (A_{d3} + A_b + A_c)
e_2 = Segment(G_c, G_6)
G_4: 1 / 3 * (A_{d4} + A_a + A_c)
e_4 = Segment(G_a, G_4)
e_1 = Segment(A_o, O)
d_1 = Segment(G_a, A_{d4})
f_3 = Segment(G_c, A_{d3})
g_2 = Segment(G_b, A_{d2})
j_1 = Segment(A_a, A_o)
j_2 = Segment(A_b, A_o)
d_3 = Segment(G_a, A_a)
f_1 = Segment(G_c, A_b)
f_4 = Segment(G_c, A_b)
g_3 = Segment(G_b, A_b)
d_2 = Segment(G_a, A_c)
f_2 = Segment(G_c, A_c)
j_3 = Segment(A_c, A_o)
d_4 = Segment(G_a, A_a)
g_1 = Segment(G_b, A_a)
h_1 = Segment(O, A_3)
o = false
i_1 = false

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')