解析几何证明。式子演算烦琐,冗长。请鉴谅!

来源: 2010-09-17 23:11:18 [博客] [旧帖] [给我悄悄话] 本文已被阅读:

从同一点(O)出发有3条直线(OA,OB,OC),在3条直线上各取两个点构成两个三角形(A1B1C1和A2B2C2),两个三角形对应边的延长线各自相交形成3个交点(A1B1与A2B2相交于P点, A1C1与A2C2相交于Q点, B1C1与B2C2相交于R点),请证明这3个交点(P, Q,和R)一定是共线的。



证明:
一. 置O点于座标原点, OA在第一象限, OB是y正半轴, OC在第二象限
O点座标为(0,0)。
OA:y = k*x; OB: x = 0; OC: y = h*x。其中,斜率 k > 0, h 三角形A1B1C1: A1座标为(a1,k*a1), B1座标为(0,b1), C1座标为(c1,h*c1),
其中,a1 > 0, b1 > 0, c1 三角形A2B2C2: A2座标为(a2,k*a2), B2座标为(0,b2), C2座标为(c2,h*c2),
其中,a2 > 0, b2 > 0, c2 注意A和C,a和c,k和h 之间符号的对称性,可节省重复的运算。

二. 求A1B1与A2B2交点P
A1B1: (y - b1) / (x - 0) = (k*a1 - b1) / (a1 - 0)
A1B1: a1*y - a1*b1 = (k*a1 - b1)*x
A1B1: (k*a1 - b1)*x - a1*y = -a1*b1
A2B2: (k*a2 - b2)*x - a2*y = -a2*b2
用行列式解一次方程组:
D = (k*a1 - b1)*(-a2) - (k*a2 - b2)*(-a1) = a2*b1 - a1*b2
Dx = (-a1*b1)*(-a2) - (-a2*b2)*(-a1) = a1*a2*b1 - a1*a2*b2
Dy = (k*a1 - b1)*(-a2*b2) - (k*a2 - b2)*(-a1*b1)
Dy = a2*b1*b2 - a1*b1*b2 + k*a1*a2*b1 - k*a1*a2*b2
x = Dx / D = (a1*a2*b1 - a1*a2*b2) / (a2*b1 - a1*b2)
y = Dy / D = (a2*b1*b2 - a1*b1*b2 + k*a1*a2*b1 - k*a1*a2*b2) / (a2*b1 - a1*b2)
因为A1B1与A2B2相交于P点, 方程组的解就是P点座标:
((a1*a2*b1 - a1*a2*b2) / (a2*b1 - a1*b2),
(a2*b1*b2 - a1*b1*b2 + k*a1*a2*b1 - k*a1*a2*b2) / (a2*b1 - a1*b2))。
因为A1B1与A2B2不平行, (k*a1 - b1)/ (k*a2 - b2) != a1 / a2
即,(k*a1 - b1)*a2 != (k*a2 - b2)*a1
即,(k*a1 - b1)*a2 - (k*a2 - b2)*a1 != 0
即,a2*b1 - a1*b2 != 0

三. 求B1C1与B2C2交点R
同理于二.,利用符号的对称性,在二.的结论中,将A和C,a和c,k和h 进行调换就得:
B1C1: (h*c1 - b1)*x - c1*y = -c1*b1
B2C2: (h*c2 - b2)*x - c2*y = -c2*b2
因为B1C1与B2C2相交于R点, 方程组的解就是 R点座标:
((c1*c2*b1 - c1*c2*b2) / (c2*b1 - c1*b2),
(c2*b1*b2 - c1*b1*b2 + h*c1*c2*b1 - h*c1*c2*b2) / (c2*b1 - c1*b2))。
因为B1C1与B2C2不平行, c2*b1 - c1*b2 != 0

四. 求A1C1与A2C2交点Q
A1C1: (y - h*c1) / (x - c1) = (k*a1 - h*c1) / (a1 - c1)
A1C1: (y - h*c1)*(a1 - c1) = (k*a1 - h*c1)*(x - c1)
A1C1: (a1 - c1)*y - (h*a1*c1 - h*c1*c1) = (k*a1 - h*c1)*x - (k*a1*c1 - h*c1*c1)
A1C1: (k*a1 - h*c1)*x - (a1 - c1)*y = k*a1*c1 - h*a1*c1
A1C1: (k*a1 - h*c1)*x - (a1 - c1)*y = (k - h)*a1*c1
A2C2: (k*a2 - h*c2)*x - (a2 - c2)*y = (k - h)*a2*c2
用行列式解一次方程组:
D = (k*a1 - h*c1)*(c2 – a2) - (k*a2 - h*c2)*(c1 - a1)
D = k*a1*c2 - h*c1*c2–k*a1*a2 + h*a2*c1 - (k*a2*c1 - h*c1*c2–k*a1*a2 + h*a1*c2)
D = k*a1*c2 + h*a2*c1 - (k*a2*c1 + h*a1*c2)
D = (k - h)*(a1*c2- a2*c1)
Dx = (k - h)*a1*c1*(c2 – a2) - (k - h)*a2*c2*(c1 - a1)
Dx = (k - h)*(a1*c1*c2–a1*a2*c1 - a2*c1*c2 + a1*a2*c2)
Dy = (k*a1 - h*c1)*(k - h)*a2*c2 - (k*a2 - h*c2)*(k - h)*a1*c1
Dy = (k - h)*(k*a1*a2*c2 - h*a2*c1*c2– k*a1*a2*c1 + h*a1*c1*c2)
x = Dx / D = (a1*c1*c2–a1*a2*c1 - a2*c1*c2 + a1*a2*c2)/(a1*c2- a2*c1)
y = Dy / D = (k*a1*a2*c2 - h*a2*c1*c2– k*a1*a2*c1 + h*a1*c1*c2)/(a1*c2- a2*c1)
因为A1C1与A2C2相交于Q点, 方程组的解就是Q点座标:
((a1*c1*c2–a1*a2*c1 - a2*c1*c2 + a1*a2*c2)/(a1*c2- a2*c1),
(k*a1*a2*c2 - h*a2*c1*c2– k*a1*a2*c1 + h*a1*c1*c2)/(a1*c2- a2*c1))。
因为A1C1与A2C2不平行, (k*a1 - h*c1) / (k*a2 - h*c2) != (c1 - a1) / (c2 – a2)
即,D = (k - h)*(a1*c2- a2*c1) != 0。
结果,k – h != 0, 并且a1*c2- a2*c1 != 0。
实际上,因为k > 0, 0 > h,所以, k – h > 0。

五.验证P,Q和R 是否共线
令P(xp,yp),Q(xq,yq),和R(xr,yr),则 P,Q和R共线 当且仅当(yp–yq)/(xp - xq) = (yr–yq)/(xr - xq)。
根据二,三,和 四,
P点座标为:
((a1*a2*b1 - a1*a2*b2) / (a2*b1 - a1*b2),
(a2*b1*b2 - a1*b1*b2 + k*a1*a2*b1 - k*a1*a2*b2) / (a2*b1 - a1*b2))。
R点座标为:
((c1*c2*b1 - c1*c2*b2) / (c2*b1 - c1*b2),
(c2*b1*b2 - c1*b1*b2 + h*c1*c2*b1 - h*c1*c2*b2) / (c2*b1 - c1*b2))。
Q点座标为:
((a1*c1*c2–a1*a2*c1 - a2*c1*c2 + a1*a2*c2) / (a1*c2- a2*c1),
(k*a1*a2*c2 - h*a2*c1*c2– k*a1*a2*c1 + h*a1*c1*c2) / (a1*c2- a2*c1))。

(yp - yq) = (a2*b1*b2 - a1*b1*b2 + k*a1*a2*b1 - k*a1*a2*b2) / (a2*b1 - a1*b2) –
(k*a1*a2*c2 - h*a2*c1*c2– k*a1*a2*c1 + h*a1*c1*c2) / (a1*c2 - a2*c1)
= ((a2*b1*b2*a1*c2 - a1*b1*b2*a1*c2 + k*a1*a2*b1*a1*c2 - k*a1*a2*b2*a1*c2) -
(a2*b1*b2*a2*c1 - a1*b1*b2*a2*c1 + k*a1*a2*b1*a2*c1 - k*a1*a2*b2*a2*c1) –
(k*a1*a2*c2*a2*b1 - h*a2*c1*c2*a2*b1– k*a1*a2*c1*a2*b1 + h*a1*c1*c2*a2*b1) +
(k*a1*a2*c2*a1*b2 - h*a2*c1*c2*a1*b2– k*a1*a2*c1*a1*b2 + h*a1*c1*c2*a1*b2)) /
(a2*b1 - a1*b2)* (a1*c2 - a2*c1)
= ((a1*a2*b1*b2*c2 - a1*a1*b1*b2*c2 + k*a1*a1*a2*b1*c2 - k*a1*a1*a2*b2*c2) -
(a2*a2*b1*b2*c1 - a1*a2*b1*b2*c1 + k*a1*a2*a2*b1*c1 - k*a1*a2*a2*b2*c1) –
(k*a1*a2*a2*b1*c2 - h*a2*a2*b1*c1*c2– k*a1*a2*a2*b1*c1 + h*a1*a2*b1*c1*c2) +
(k*a1*a1*a2*b2*c2 - h*a1*a2*b2*c1*c2– k*a1*a1*a2*b2*c1 + h*a1*a1*b2*c1*c2)) /
(a2*b1 - a1*b2)* (a1*c2 - a2*c1)
= ((a1*a2*b1*b2*c2 - a1*a1*b1*b2*c2 + k*a1*a1*a2*b1*c2 – X2) -
(a2*a2*b1*b2*c1 - a1*a2*b1*b2*c1 + X1 - k*a1*a2*a2*b2*c1) –
(k*a1*a2*a2*b1*c2 - h*a2*a2*b1*c1*c2– X1 + h*a1*a2*b1*c1*c2) +
(X2 - h*a1*a2*b2*c1*c2– k*a1*a1*a2*b2*c1 + h*a1*a1*b2*c1*c2)) /
(a2*b1 - a1*b2)* (a1*c2 - a2*c1)
= ((a1*a2*b1*b2*c1- a2*a2*b1*b2*c1 - a1*a1*b1*b2*c2 + a1*a2*b1*b2*c2) +
k*(a1*a1*a2*b1*c2 - a1*a2*a2*b1*c2–a1*a1*a2*b2*c1 + a1*a2*a2*b2*c1) -
h*(a1*a2*b1*c1*c2–a2*a2*b1*c1*c2 - a1*a1*b2*c1*c2 + a1*a2*b2*c1*c2)) /
(a2*b1 - a1*b2)* (a1*c2 - a2*c1)
= ((a1–a2)*a2*b1*b2*c1–(a1–a2)*(a1*b1*b2*c2) +
k*((a1–a2)*a1*a2*b1*c2–(a1–a2)*a1*a2*b2*c1) -
h*((a1–a2)*a2*b1*c1*c2–(a1–a2)*a1*b2*c1*c2)) /
(a2*b1 - a1*b2)* (a1*c2 - a2*c1)
= ((a1–a2)*b1*b2*(a2*c1–a1*c2)+
k*(a1–a2)*a1*a2*(b1*c2–b2*c1) -
h*(a1–a2)*c1*c2*(a2*b1–a1*b2)) /
(a2*b1 - a1*b2)*(a1*c2 - a2*c1)
= (a1–a2)*(b1*b2*(a2*c1–a1*c2)+ k*a1*a2*(b1*c2–b2*c1)- h*c1*c2*(a2*b1–a1*b2)) /
(a2*b1 - a1*b2)*(a1*c2 - a2*c1)

(xp - xq)
= (a1*a2*b1 - a1*a2*b2) / (a2*b1 - a1*b2) – (a1*c1*c2–a1*a2*c1 - a2*c1*c2 + a1*a2*c2) / (a1*c2 - a2*c1)
= ((a1*a2*b1 - a1*a2*b2)*(a1*c2 - a2*c1)–(a1*c1*c2–a1*a2*c1 - a2*c1*c2 + a1*a2*c2)*(a2*b1 - a1*b2)) /
(a2*b1 - a1*b2)*(a1*c2 - a2*c1)
= ((a1*a2*b1 - a1*a2*b2)*(a1*c2 - a2*c1)–(a1*c1*c2–a1*a2*c1 - a2*c1*c2 + a1*a2*c2)*(a2*b1 - a1*b2)) /
(a2*b1 - a1*b2)*(a1*c2 - a2*c1)
= ((a1*a2*b1*a1*c2 - a1*a2*b2*a1*c2)–(a1*a2*b1*a2*c1 - a1*a2*b2*a2*c1)–
((a1*c1*c2*a2*b1–a1*a2*c1*a2*b1 - a2*c1*c2*a2*b1 + a1*a2*c2*a2*b1) –
(a1*c1*c2*a1*b2–a1*a2*c1*a1*b2 - a2*c1*c2*a1*b2 + a1*a2*c2*a1*b2))) /
(a2*b1 - a1*b2)*(a1*c2 - a2*c1)
= ((a1*a1*a2*b1*c2–a1*a1*a2*b2*c2–a1*a2*a2*b1*c1 + a1*a2*a2*b2*c1)–
(a1*a2*b1*c1*c2–a1*a2*a2*b1*c1–a2*a2*b1*c1*c2 + a1*a2*a2*b1*c2) +
(a1*a1*b2*c1*c2–a1*a1*a2*b2*c1–a1*a2*b2*c1*c2 + a1*a1*a2*b2*c2)) /
(a2*b1 - a1*b2)*(a1*c2 - a2*c1)
= ((a1*a1*a2*b1*c2–X1– X2 + a1*a2*a2*b2*c1)–
(a1*a2*b1*c1*c2– X2–a2*a2*b1*c1*c2 + a1*a2*a2*b1*c2) +
(a1*a1*b2*c1*c2–a1*a1*a2*b2*c1– a1*a2*b2*c1*c2 + X1)) /
(a2*b1 - a1*b2)*(a1*c2 - a2*c1)
= (a1*a1*a2*b1*c2–a1*a1*a2*b2*c1–a1*a2*a2*b1*c2 + a1*a2*a2*b2*c1 +
a1*a1*b2*c1*c2–a1*a2*b1*c1*c2–a1*a2*b2*c1*c2 + a2*a2*b1*c1*c2)) /
(a2*b1 - a1*b2)*(a1*c2 - a2*c1)
= (a1*a1*a2*(b1*c2–b2*c1)–a1*a2*a2*( b1*c2–b2*c1) +
a1*c1*c2*(a1*b2–a2*b1)– a2*c1*c2*(a1*b2 - a2*b1)) /
(a2*b1–a1*b2)* (a1*c2 - a2*c1)
= ((a1*a1*a2–a1*a2*a2)*(b1*c2–b2*c1) + (a1*c1*c2– a2*c1*c2)*(a1*b2 - a2*b1)) /
(a2*b1 - a1*b2)* (a1*c2 - a2*c1)
= (a1*a2*(a1–a2)*(b1*c2–b2*c1) + c1*c2*(a1– a2)*(a1*b2 - a2*b1)) /
(a2*b1 - a1*b2)* (a1*c2 - a2*c1)
= ((a1–a2)*(a1*a2*(b1*c2–b2*c1) + c1*c2*(a1*b2 - a2*b1)) /
(a2*b1 - a1*b2)* (a1*c2 - a2*c1)

(yp–yq)/(xp - xq)
= (b1*b2*(a2*c1–a1*c2)+ k*a1*a2*(b1*c2–b2*c1)- h*c1*c2*(a2*b1–a1*b2)) /
(a1*a2*(b1*c2–b2*c1) + c1*c2*(a1*b2 - a2*b1))

利用符号的对称性,在上式中,将a和c,k和h 进行对换就得:
(yr–yq)/(xr - xq)
= (b1*b2*(c2*a1–c1*a2)+ h*c1*c2*(b1*a2–b2*a1)- k*a1*a2*(c2*b1–c1*b2)) /
(c1*c2*(b1*a2–b2*a1) + a1*a2*(c1*b2 - c2*b1))
= (b1*b2*(a2*c1–a1*c2)+ k*a1*a2*(b1*c2–b2*c1)- h*c1*c2*(a2*b1–a1*b2)) /
(a1*a2*(b1*c2–b2*c1) + c1*c2*(a1*b2 - a2*b1))

(yp–yq)/(xp - xq) = (yr–yq)/(xr - xq)

P,Q和R共线
证明毕。