關於座標軸與座標平面的對稱點與投影點
Author: 藍邦偉  老師

觀察空間中一點P對三座標平面與三座標軸的投影點與對稱點

x

y

z

顯示xy平面

顯示單位向量

顯示座標軸

x

y

z

對x軸的投影點與對稱點

對y軸的投影點與對稱點

對z軸的投影點與對稱點

對原點的對稱點

對xy平面的投影點與對稱點

對yz平面的投影點與對稱點

對zx平面的投影點與對稱點

x座標

y座標

z座標

P(

,

,

)

x

y

z

A: (x((Corner[3] + 39 * Corner[4]) / 40), y((Corner[1] + 9 * Corner[4]) / 10))
B: (x((4 * Corner[3] + 16 * Corner[4]) / 20), y((Corner[1] + 9 * Corner[4]) / 10))
a = Segment(A, B)
C: (3 * A + B) / 4
D: (3 * B + A) / 4
E = Point(a)
c = Circle(C, E)
c' = Translate(c, Vector[C, D])
A' = Rotate(A, 270*°, C)
B' = Rotate(B, 270*°, C)
a' = Segment(A', B')
c'' = Rotate(c', 270*°, C)
D' = Rotate(D, 270*°, C)
E' = Rotate(Translate[E, Vector[C, D]], 90*°, D)
E'' = Rotate(E', 270*°, 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°), b * sin(α + 90°) * sin(β))
K: C + (0, b * cos(β))
e = Segment(C, K)
f = Segment(C, I)
g = Segment(C, J)
O = (2.87216705526114, -1.7161090550800309)
I' = Translate(I, Vector[C, O])
J' = Translate(J, Vector[C, O])
K' = Translate(K, Vector[C, O])
L = 7 (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, O)
J''' = Dilate(J'', -1, O)
K''' = Dilate(K'', -1, 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 = true
w = Vector(O, K')
u = Vector(O, I')
v = Vector(O, J')
k = false
l = true
list1 = Sequence(CurveCartesian[x(O + t * u + s * v), y(O + t * u + s * v), t, -L, L], s, -L, L, 1)
list2 = Sequence(CurveCartesian[x(O + t * u + s * v), y(O + t * u + s * v), s, -L, L], t, -L, L, 1)
m = 0 (slider from -5 to 5, step 1)
n = 0 (slider from -5 to 6, step 1)
o = 0 (slider from -5 to 5, step 1)
P: O + m * u + n * v + o * w
P_1: O + m * u
P_2: O + n * v
P_3: O + o * w
P_4: O + m * u + n * v
P_5: O + n * v + o * w
P_6: O + m * u + o * w
p = Segment(P, P_4)
q = Segment(P, P_5)
r = Segment(P, P_6)
s = Segment(P_6, P_3)
t = Segment(P_5, P_3)
a_1 = Segment(P_5, P_2)
b_1 = Segment(P_6, P_1)
c_1 = Segment(P_4, P_2)
d_1 = Segment(P_4, P_1)
e_1 = Segment(P_1, O)
f_1 = Segment(O, P_2)
g_1 = Segment(P_3, O)
i_1 = Segment(P, P_2)
k_1 = Segment(P, P_1)
j_1 = Segment(O, P_3)
m_1 = Segment(P, P_3)
q_1 = Segment(O, P_4)
P'_1 = Mirror(P, P_4)
P'_2 = Mirror(P, P_5)
P'_3 = Mirror(P, P_6)
h_1 = Segment(P'_3, P_6)
l_1 = Segment(P_4, P'_1)
n_1 = Segment(P_5, P'_2)
P'_4 = Mirror(P, P_1)
p_1 = Segment(P_1, P'_4)
P'_5 = Mirror(P, P_2)
r_1 = Segment(P_2, P'_5)
P'_6 = Mirror(P, P_3)
s_1 = Segment(P_3, P'_6)
P' = Mirror(P, O)
t_1 = Segment(P', P)
H = Mirror(P_5, P_2)
M = Mirror(P_4, P_2)
N = Mirror(P_6, P_1)
Q = Mirror(P_3, O)
R = Mirror(P_6, P_3)
a_2 = Segment(P_1, N)
b_2 = Segment(P'_4, P'_1)
c_2 = Segment(P_2, H)
d_2 = Segment(P'_2, P'_5)
e_2 = Segment(P_2, M)
f_2 = Segment(P'_1, P'_5)
g_2 = Segment(P_3, R)
h_2 = Segment(P'_6, P'_2)
i_2 = Segment(P'_3, P'_4)
j_2 = Segment(P'_3, P'_6)
S = Mirror(P_5, P_3)
T = Mirror(P_2, O)
S' = Mirror(S, T)
k_2 = Segment(S, S')
l_2 = Segment(P'_6, P')
m_2 = Segment(P'_4, P')
U = Mirror(P_4, P_1)
U' = Mirror(U, T)
V = Mirror(P_1, O)
n_2 = Segment(U', M)
p_2 = Segment(U', U)
q_2 = Segment(P', P'_5)
r_2 = Segment(S', H)
N' = Mirror(N, Q)
s_2 = Segment(N, N')
t_2 = Segment(R, N')
a_3 = Segment(P_1, U)
b_3 = Segment(P_3, S)
v_1 = false
w_1 = false
z_1 = false
o_2 = false
Poly_{xy}, u_2, p_4, m_3, u'_1 = Polygon(U, P_4, M, U')
v_2 = false
Poly_{yz}, s_3, p_5, h_3, s' = Polygon(S, P_5, H, S')
z = false
Poly_{zx}, p_6, n_3, n', r_3 = Polygon(P_6, N, N', R)
o_1 = false
文字2: "點P(" + m + "," + n + "," + o + ")對三座標平面的投影點與對稱點"
文字3: "點P(" + m + "," + n + "," + o + ")對三座標軸的投影點與對稱點"
inputBox1 = Textfield(m)
inputBox2 = Textfield(n)
inputBox3 = Textfield(o)