三垂線定理
Author: 藍邦偉  老師

x

y

z

顯示xy平面

顯示單位向量

顯示座標軸

A

三垂線定理

自平面E外一點P對E作垂線

n

過A作 \overline{ AH }⊥ L交L於H

則 \overline{ PH }⊥L 

L

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 = 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.9983872731322716, 0.33480607055988243)
I' = Translate(I, Vector[Vector[C, O]])
J' = Translate(J, Vector[Vector[C, O]])
K' = Translate(K, Vector[Vector[C, O]])
L = 8 (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
j_1 = false
w = Vector(O, K')
u = Vector(O, I')
v = Vector(O, J')
k = false
list1 = Sequence(CurveCartesian[x(O + t * u + s * v), y(O + t * u + s * v), t, -(L), L], s, -(L), L, 1.0)
list2 = Sequence(CurveCartesian[x(O + t * u + s * v), y(O + t * u + s * v), s, -(L), L], t, -(L), L, 1.0)
A_1: O + 2.0 * sqrt(2.0) * u - 2.0 * sqrt(6.0) * v
A_2: O + 2.0 * sqrt(2.0) * u + 2.0 * sqrt(6.0) * v
A_4: O + 8.0 * w
A_3: O - 4.0 * sqrt(2.0) * u
H_1 = Midpoint(A_1, A_2)
M = Midpoint(A_2, A_3)
N = Midpoint(A_3, A_1)
Q_1: 1.0 / 3.0 * (A_1 + A_2 + A_4)
Q_2: 1.0 / 3.0 * (A_1 + A_3 + A_4)
Q_3: 1.0 / 3.0 * (A_2 + A_3 + A_4)
l = false
A_a: O + L * u + L * v
A_b: O - L * u + L * v
A_c: O - L * u - L * v
A_d: O + L * u - L * v
多邊形1, a_a, a_b, a_c, a_d = Polygon(A_a, A_b, A_c, A_d)
P: O + 4.0 * u + 4.0 * v + 8.0 * w
P_1: O + 4.0 * u + 4.0 * v
m = Segment(P, P_1)
t = 3.8 (slider from 0 to 8, step 0.1)
P_0: O + 4.0 * u + 4.0 * v + 8.0 * w - t * w
B_a: 2.0 / 3.0 * A_b + 1.0 / 3.0 * A_c
B_b: 1.0 / 3.0 * A_c + 2.0 / 3.0 * A_d
n = Segment(B_a, B_b)
H = Midpoint(B_a, B_b)
p = Segment(H, P_1)
q = Segment(P, H)
s = 8.2 (slider from 2 to 8.667, step 0.1)
j = 0.06 (slider from 0 to 1.33, step 0.03)
P_2: O + (6.0 - s) * u + (6.0 - s) * v
P_3: O + (4.0 - 5.0 * j) * u + (4.0 - 5.0 * j) * v + (8.0 - 6.0 * j) * w
nn = 2 (slider from 0 to 3, step 1)
a_1 = Vector(P, P_0)
a_2 = Vector(P_1, P_2)
a_3 = Vector(P, P_3)