球面與平面的關係
Author: 藍邦偉  老師

x

y

z

顯示單位向量

顯示xy平面

顯示座標軸

r

d

A: (x((Corner[3.0] + 39.0 * Corner[4.0]) / 40.0), y((Corner[1.0] + 9.0 * Corner[4.0]) / 10.0))
B: (x((4.0 * Corner[3.0] + 16.0 * Corner[4.0]) / 20.0), y((Corner[1.0] + 9.0 * Corner[4.0]) / 10.0))
a = Segment(A, B)
C: (3.0 * A + B) / 4.0
D: (3.0 * B + A) / 4.0
E = Point(a)
c = Circle(C, E)
c' = Translate(c, Vector[Vector[C, D]])
A' = Rotate(A, 270.0*°, C)
B' = Rotate(B, 270.0*°, C)
a' = Segment(A', B')
c'' = Rotate(c', 270.0*°, C)
D' = Rotate(D, 270.0*°, C)
E' = Rotate(Translate[E, Vector[C, D]], 90.0*°, D)
E'' = Rotate(E', 270.0*°, C)
F = Point(c'')
G = Point(c')
α = Angle(E'', D', F)
b = Segment(D', F)
d_1 = Segment(D, G)
β = Angle(G, D, E')
I: C + (b * cos(α), b * sin(α) * sin(β))
J: C + (b * cos(α + 90.0°), b * sin(α + 90.0°) * sin(β))
K: C + (0.0, b * cos(β))
e = Segment(C, K)
f = Segment(C, I)
g = Segment(C, J)
O = (1.2633016306048914, -3.138228412995999)
I' = Translate(I, Vector[Vector[C, O]])
J' = Translate(J, Vector[Vector[C, O]])
K' = Translate(K, Vector[Vector[C, O]])
L = 10 (slider from 1 to 10, step 1)
I'' = Dilate(I', L, O)
J'' = Dilate(J', L, O)
K'' = Dilate(K', L, O)
I''' = Dilate(I'', -1.0, O)
J''' = Dilate(J'', -1.0, O)
K''' = Dilate(K'', -1.0, O)
u' = Vector(I''', I'')
v' = Vector(J''', J'')
w' = Vector(K''', K'')
h = Segment(D', E'')
i = Segment(D, E')
軌跡1 = Locus(I, F)
L_{axis}: L
w = Vector(O, K')
u = Vector(O, I')
v = Vector(O, J')
k = false
P_1: O + L * u + L * v
P_2: O + L * u - L * v
P_3: O - L * u - L * v
P_4: O - L * u + L * v
多邊形1, p_1, p_2, p_3, p_4 = Polygon(P_1, P_2, P_3, P_4)
j = false
Q_1: O + L * v + L * w
Q_2: O - L * v + L * w
Q_3: O - L * v - L * w
Q_4: O + L * v - L * w
R_1: O + L * u + L * w
R_2: O - L * u + L * w
R_3: O - L * u - L * w
R_4: O + L * u - L * w
l = true
d = 3.5 (slider from -11 to 11, step 0.1)
Z_1: O + 7.0 * u + 7.0 * v + d * w
Z_2: O - 7.0 * u + 7.0 * v + d * w
Z_3: O - 7.0 * u - 7.0 * v + d * w
Z_4: O + 7.0 * u - 7.0 * v + d * w
多邊形2, z_1, z_2, z_3, z_4 = Polygon(Z_1, Z_2, Z_3, Z_4)
Z_5: O + d * w
t = 3.12413936106985 rad (slider from 0 to 6.283185307179586, step 0.017453292519943295)
r = 4.7 (slider from 0.1 to 5, step 0.1)
A_0: O + r * w
p = Circle(O, A_0)
r_1: sqrt(r^(2.0) - d^(2.0))
P_a: O + r_1 * cos(t) * u + r_1 * sin(t) * v + d * w
P_b: O + r_1 * cos(t + 60.0°) * u + r_1 * sin(t + 60.0°) * v + d * w
P_c: O + r_1 * cos(t + 120.0°) * u + r_1 * sin(t + 120.0°) * v + d * w
P_d: O + r_1 * cos(t + 180.0°) * u + r_1 * sin(t + 180.0°) * v + d * w
P_e: O + r_1 * cos(t + 270.0°) * u + r_1 * sin(t + 270.0°) * v + d * w
q = Conic(P_a, P_b, P_c, P_d, P_e)
m = LineBisector(Z_5, O)
H = Point(m)
n = Segment(O, P_a)
a_1 = Segment(Z_5, P_a)
b_1 = Segment(O, Z_5)
o = 5.2 (slider from -10 to 10, step 0.1)
O_1: O + o * w
aa = Segment(O_1, Z_5)
r_2: sqrt(r_1^(2.0) + aa^(2.0))
s = Circle(O_1, r_1)