四個半徑相等且互相外切的球
Author: 藍邦偉　老師

單位向量

座標軸

x

y

z

xy平面

顯示四面體

顯示半徑

半徑相等且互相

外切的四個球

α = 0.8726646259971648 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
β = 1.3962634015954636 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
O = (8.448582080694244, 2.1104865373010733)
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 = 4 (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)
A_1: O + u - 1 / 3 * sqrt(3) * v + w
A_2: O - u - 1 / 3 * sqrt(3) * v + w
A_3: O + 2 / 3 * sqrt(3) * v + w
A_4: O + (1 + 2 / 3 * sqrt(6)) * w
C_1 = Circle(A_4, 1)
C_2 = Circle(A_1, 1)
C_3 = Circle(A_2, 1)
C_4 = Circle(A_3, 1)
a_1, a_2 = SDLine(A_4, A_3, A_1, A_2)
b_1, b_2 = SDLine(A_4, A_2, A_3, A_1)
c_1, c_2 = SDLine(A_4, A_1, A_2, A_3)
d_1, d_2 = SDLine(A_1, A_3, A_2, A_4)
e_1, e_2 = SDLine(A_1, A_2, A_4, A_3)
f_1, f_2 = SDLine(A_3, A_2, A_1, A_4)
h = false
poly1, i, j, k, l = Polygon(O + 2.5 * u + 2.5 * v, O - 2.5 * u + 2.5 * v, O - 2.5 * u - 2.5 * v, O + 2.5 * u - 2.5 * v)
p_1 = Segment(A_1, A_1 - w)
p_2 = Segment(A_2, A_2 - w)
p_3 = Segment(A_3, A_3 - w)
p_4 = Segment(A_4, A_4 + w)
q_1 = CurveCartesian(x(A_1 + cos(θ) * u + sin(θ) * v), y(A_1 + cos(θ) * u + sin(θ) * v), θ, 0, 6.28319)
q_2 = CurveCartesian(x(A_2 + cos(θ) * u + sin(θ) * v), y(A_2 + cos(θ) * u + sin(θ) * v), θ, 0, 6.28319)
q_3 = CurveCartesian(x(A_3 + cos(θ) * u + sin(θ) * v), y(A_3 + cos(θ) * u + sin(θ) * v), θ, 0, 6.28319)
q_4 = CurveCartesian(x(A_4 + cos(θ) * u + sin(θ) * v), y(A_4 + cos(θ) * u + sin(θ) * v), θ, 0, 6.28319)
e = false
f = false

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)