- 注册时间
- 2015-10-15
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 2202
- 在线时间
- 小时
|
发表于 2021-12-8 20:35:58
|
显示全部楼层
本帖最后由 TSC999 于 2021-12-8 21:30 编辑
补充:在图二中,证明 X2、D2、Q 三点共线; X2、E2、P 三点共线。
- Clear["Global`*"]; (*设三角形ABC的外接圆为单位圆,C 点在正 x 轴上,如图一*)
- \!\(\*OverscriptBox[\(o\), \(_\)]\) = o = 0;
- \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 1;
- \!\(\*OverscriptBox[\(a\), \(_\)]\) = 1/a; b = t^2;
- \!\(\*OverscriptBox[\(b\), \(_\)]\) = 1/b;
- \!\(\*OverscriptBox[\(t\), \(_\)]\) = 1/t;
- \!\(\*OverscriptBox[\(p\), \(_\)]\) = 1/p;
- h = a + b + c(*当三角形外心在坐标原点时此式成立*);
- \!\(\*OverscriptBox[\(h\), \(_\)]\) =
- \!\(\*OverscriptBox[\(a\), \(_\)]\) +
- \!\(\*OverscriptBox[\(b\), \(_\)]\) +
- \!\(\*OverscriptBox[\(c\), \(_\)]\);
- m = (a + h)/2;(* M是A、H的中点*)
- \!\(\*OverscriptBox[\(m\), \(_\)]\) = (
- \!\(\*OverscriptBox[\(a\), \(_\)]\) +
- \!\(\*OverscriptBox[\(h\), \(_\)]\))/2;
- k[a_, b_] := (a - b)/(
- \!\(\*OverscriptBox[\(a\), \(_\)]\) -
- \!\(\*OverscriptBox[\(b\), \(_\)]\));
- \!\(\*OverscriptBox[\(k\), \(_\)]\)[a_, b_] := 1/k[a, b];(*直线的复斜率*)
- Jd[k1_, a1_, k2_, a2_] := -((k2 (a1 - k1
- \!\(\*OverscriptBox[\(a1\), \(_\)]\)) - k1 (a2 - k2
- \!\(\*OverscriptBox[\(a2\), \(_\)]\)))/(k1 - k2));
- \!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k1_, a1_, k2_, a2_] := -((a1 - k1
- \!\(\*OverscriptBox[\(a1\), \(_\)]\) - (a2 - k2
- \!\(\*OverscriptBox[\(a2\), \(_\)]\)))/(k1 - k2));
- (*复斜率等于k1且经过A1点的直线,与复斜率等于k2且经过A2点的直线,两直线的交点*)
- FourPoint[a_, b_, c_, d_] := ((
- \!\(\*OverscriptBox[\(c\), \(_\)]\) d - c
- \!\(\*OverscriptBox[\(d\), \(_\)]\)) (a - b) - (
- \!\(\*OverscriptBox[\(a\), \(_\)]\) b - a
- \!\(\*OverscriptBox[\(b\), \(_\)]\)) (c - d))/((a - b) (
- \!\(\*OverscriptBox[\(c\), \(_\)]\) -
- \!\(\*OverscriptBox[\(d\), \(_\)]\)) - (
- \!\(\*OverscriptBox[\(a\), \(_\)]\) -
- \!\(\*OverscriptBox[\(b\), \(_\)]\)) (c - d));
- \!\(\*OverscriptBox[\(FourPoint\), \(_\)]\)[a_, b_, c_, d_] := -(((c
- \!\(\*OverscriptBox[\(d\), \(_\)]\) -
- \!\(\*OverscriptBox[\(c\), \(_\)]\) d) (
- \!\(\*OverscriptBox[\(a\), \(_\)]\) -
- \!\(\*OverscriptBox[\(b\), \(_\)]\)) - ( a
- \!\(\*OverscriptBox[\(b\), \(_\)]\) -
- \!\(\*OverscriptBox[\(a\), \(_\)]\) b) (
- \!\(\*OverscriptBox[\(c\), \(_\)]\) -
- \!\(\*OverscriptBox[\(d\), \(_\)]\)))/((a - b) (
- \!\(\*OverscriptBox[\(c\), \(_\)]\) -
- \!\(\*OverscriptBox[\(d\), \(_\)]\)) - (
- \!\(\*OverscriptBox[\(a\), \(_\)]\) -
- \!\(\*OverscriptBox[\(b\), \(_\)]\)) (c - d)));
- (*过A、B点的直线与过C、D点的直线的交点*)
- Duichengdian[a_, b_, p_] := (
- \!\(\*OverscriptBox[\(a\), \(_\)]\) b - a
- \!\(\*OverscriptBox[\(b\), \(_\)]\) +
- \!\(\*OverscriptBox[\(p\), \(_\)]\) (a - b))/(
- \!\(\*OverscriptBox[\(a\), \(_\)]\) -
- \!\(\*OverscriptBox[\(b\), \(_\)]\));(*P关于直线AB的镜像点*)
- \!\(\*OverscriptBox[\(Duichengdian\), \(_\)]\)[a_, b_, p_] := (a
- \!\(\*OverscriptBox[\(b\), \(_\)]\) -
- \!\(\*OverscriptBox[\(a\), \(_\)]\) b + p (
- \!\(\*OverscriptBox[\(a\), \(_\)]\) -
- \!\(\*OverscriptBox[\(b\), \(_\)]\)))/(a - b);
- o1 = Simplify[ Jd[-k[a, h], m, k[a, t], a]];
-
- \!\(\*OverscriptBox[\(o1\), \(_\)]\) = Simplify[
- \!\(\*OverscriptBox[\(Jd\), \(_\)]\)[-k[a, h], m, k[a, t], a]];
- Print["o1=", o1];
- w1 = Simplify@Solve[{(z - o1) (
- \!\(\*OverscriptBox[\(z\), \(_\)]\) -
- \!\(\*OverscriptBox[\(o1\), \(_\)]\)) == (a - o1) (
- \!\(\*OverscriptBox[\(a\), \(_\)]\) -
- \!\(\*OverscriptBox[\(o1\), \(_\)]\)), (z - a)/(
- \!\(\*OverscriptBox[\(z\), \(_\)]\) -
- \!\(\*OverscriptBox[\(a\), \(_\)]\)) == (z - b)/(
- \!\(\*OverscriptBox[\(z\), \(_\)]\) -
- \!\(\*OverscriptBox[\(b\), \(_\)]\)), z != a}, {z,
- \!\(\*OverscriptBox[\(z\), \(_\)]\)}];
- d = Part[Part[Part[w1, 1], 1], 2];
- \!\(\*OverscriptBox[\(d\), \(_\)]\) = Part[Part[Part[w1, 1], 2], 2];
- Print["d = ", d];
- w2 = Simplify@Solve[{(z - o1) (
- \!\(\*OverscriptBox[\(z\), \(_\)]\) -
- \!\(\*OverscriptBox[\(o1\), \(_\)]\)) == (a - o1) (
- \!\(\*OverscriptBox[\(a\), \(_\)]\) -
- \!\(\*OverscriptBox[\(o1\), \(_\)]\)), (z - a)/(
- \!\(\*OverscriptBox[\(z\), \(_\)]\) -
- \!\(\*OverscriptBox[\(a\), \(_\)]\)) == (z - c)/(
- \!\(\*OverscriptBox[\(z\), \(_\)]\) -
- \!\(\*OverscriptBox[\(c\), \(_\)]\)), z != a}, {z,
- \!\(\*OverscriptBox[\(z\), \(_\)]\)}];
- e = Part[Part[Part[w2, 1], 1], 2];
- \!\(\*OverscriptBox[\(e\), \(_\)]\) = Part[Part[Part[w2, 1], 2], 2];
- Print["e=", e];
- x = Simplify[Duichengdian[o, o1, a]];
- \!\(\*OverscriptBox[\(x\), \(_\)]\) = Simplify[
- \!\(\*OverscriptBox[\(Duichengdian\), \(_\)]\)[o, o1, a]];
- Print["x=", x];
- q = Simplify[-(k[x, d]/x)];
- \!\(\*OverscriptBox[\(q\), \(_\)]\) = Simplify[1/q]; p =
- Simplify[-(k[x, e]/x)];
- \!\(\*OverscriptBox[\(p\), \(_\)]\) = Simplify[1/p];
- Print["p=", p];
- Print["q=", q];
- s = Simplify[FourPoint[q, e, p, d]];
- \!\(\*OverscriptBox[\(s\), \(_\)]\) = Simplify[
- \!\(\*OverscriptBox[\(FourPoint\), \(_\)]\)[q, e, p, d]];
- Print["s=", s];
- Print["SE的复斜率/SD的复斜率 = ", Simplify[k[s, e]/k[s, d]]]
- Print["AE的复斜率/AD的复斜率 = ", Simplify[k[a, e]/k[a, d]]]
- If[Simplify[k[s, e]/k[s, d]] == Simplify[k[a, e]/k[a, d]],
- Print["由于上述两个复斜率的比值相等,因此 ADSE 四点共圆。"]]
- Print["OA的复斜率 = ", Simplify[k[o, a]], " OS的复斜率 = ",
- Simplify[k[o, s]]];
- If[Simplify[k[o, a]/k[o, s]] == 1,
- Print["因为OA的复斜率与OS的复斜率相等,故 A、O、S 三点共线"]]
- Print["AS的复斜率 = ", Simplify[k[a, s]], " PQ的复斜率 = ",
- Simplify[k[p, q]]];
- If[Simplify[k[a, s]/k[p, q]] == -1,
- Print["因为AS的复斜率与PQ的复斜率是相反数,故这两条直线垂直"]]
- Print["PS的复斜率 = ", Simplify[k[p, s]], " AQ的复斜率 = ",
- Simplify[k[a, q]]];
- If[Simplify[k[p, s]/k[a, q]] == -1,
- Print["因为PS的复斜率与AQ的复斜率是相反数,故这两条直线垂直"]]
- Print["QS的复斜率 = ", Simplify[k[q, s]], " AP的复斜率 = ",
- Simplify[k[a, p]]];
- If[Simplify[k[q, s]/k[a, p]] == -1,
- Print["因为QS的复斜率与AP的复斜率是相反数,故这两条直线垂直"]]
- S2[a_, b_] := (a - b) (
- \!\(\*OverscriptBox[\(a\), \(_\)]\) -
- \!\(\*OverscriptBox[\(b\), \(_\)]\)); (* A点到B点长度的平方 *)
- Print["AP = ", Simplify[S2[a, p]], " AQ = ", Simplify[S2[a, q]]];
- If[Simplify[S2[a, p]/S2[a, q]] == 1, Print["因为 AP = AQ, 故二者长度相等"]]
- Print["SP = ", Simplify[S2[s, p]], " SQ = ", Simplify[S2[s, q]]];
- If[Simplify[S2[s, p]/S2[s, q]] == 1, Print["因为 SP = SQ, 故二者长度相等"]]
- o2 = Simplify[ Jd[-k[a, b], m, k[a, t], a]];
- \!\(\*OverscriptBox[\(o2\), \(_\)]\) = Simplify[
- \!\(\*OverscriptBox[\(Jd\), \(_\)]\)[-k[a, b], m, k[a, t], a]];
- Print["o2=", o2];
- w3 = Simplify@Solve[{(z - o2) (
- \!\(\*OverscriptBox[\(z\), \(_\)]\) -
- \!\(\*OverscriptBox[\(o2\), \(_\)]\)) == (a - o2) (
- \!\(\*OverscriptBox[\(a\), \(_\)]\) -
- \!\(\*OverscriptBox[\(o2\), \(_\)]\)), (z - a)/(
- \!\(\*OverscriptBox[\(z\), \(_\)]\) -
- \!\(\*OverscriptBox[\(a\), \(_\)]\)) == (z - b)/(
- \!\(\*OverscriptBox[\(z\), \(_\)]\) -
- \!\(\*OverscriptBox[\(b\), \(_\)]\)), z != a}, {z,
- \!\(\*OverscriptBox[\(z\), \(_\)]\)}];
- d2 = Part[Part[Part[w3, 1], 1], 2];
- \!\(\*OverscriptBox[\(d2\), \(_\)]\) = Part[Part[Part[w3, 1], 2], 2];
- Print["d2 = ", d2];
- w4 = Simplify@Solve[{(z - o2) (
- \!\(\*OverscriptBox[\(z\), \(_\)]\) -
- \!\(\*OverscriptBox[\(o2\), \(_\)]\)) == (a - o2) (
- \!\(\*OverscriptBox[\(a\), \(_\)]\) -
- \!\(\*OverscriptBox[\(o2\), \(_\)]\)), (z - a)/(
- \!\(\*OverscriptBox[\(z\), \(_\)]\) -
- \!\(\*OverscriptBox[\(a\), \(_\)]\)) == (z - c)/(
- \!\(\*OverscriptBox[\(z\), \(_\)]\) -
- \!\(\*OverscriptBox[\(c\), \(_\)]\)), z != a}, {z,
- \!\(\*OverscriptBox[\(z\), \(_\)]\)}];
- e2 = Part[Part[Part[w4, 1], 1], 2];
- \!\(\*OverscriptBox[\(e2\), \(_\)]\) = Part[Part[Part[w4, 1], 2], 2];
- Print["e2 = ", e2];
- x2 = Simplify[Duichengdian[o, o2, a]];
- \!\(\*OverscriptBox[\(x2\), \(_\)]\) = Simplify[
- \!\(\*OverscriptBox[\(Duichengdian\), \(_\)]\)[o, o2, a]];
- Print["x2=", x2];
- Print["X2D2 的复斜率 = ", Simplify[k[x2, d2]], ", D2Q 的复斜率 = ",
- Simplify[k[d2, q]]];
- If[Simplify[k[x2, d2]/ k[d2, q]] == 1,
- Print["由于X2D2的复斜率等于D2Q的复斜率,因此 X2、D2、Q 三点共线。"]]
- Print["X2E2 的复斜率 = ", Simplify[k[x2, e2]], ", E2P 的复斜率 = ",
- Simplify[k[e2, p]]];
- If[Simplify[k[x2, e2]/ k[e2, p]] == 1,
- Print["由于X2E2的复斜率等于E2P的复斜率,因此 X2、E2、P 三点共线。"]]
- o3 = (a + s)/2;
- \!\(\*OverscriptBox[\(o3\), \(_\)]\) = (
- \!\(\*OverscriptBox[\(a\), \(_\)]\) +
- \!\(\*OverscriptBox[\(s\), \(_\)]\))/2;
- w5 = Simplify@Solve[{(z - o3) (
- \!\(\*OverscriptBox[\(z\), \(_\)]\) -
- \!\(\*OverscriptBox[\(o3\), \(_\)]\)) == (a - o3) (
- \!\(\*OverscriptBox[\(a\), \(_\)]\) -
- \!\(\*OverscriptBox[\(o3\), \(_\)]\)), (z - a)/(
- \!\(\*OverscriptBox[\(z\), \(_\)]\) -
- \!\(\*OverscriptBox[\(a\), \(_\)]\)) == (z - q)/(
- \!\(\*OverscriptBox[\(z\), \(_\)]\) -
- \!\(\*OverscriptBox[\(q\), \(_\)]\)), z != a}, {z,
- \!\(\*OverscriptBox[\(z\), \(_\)]\)}];
- d3 = Part[Part[Part[w5, 1], 1], 2];
- \!\(\*OverscriptBox[\(d3\), \(_\)]\) = Part[Part[Part[w5, 1], 2], 2];
- Print["d3 = ", d3];
- w6 = Simplify@Solve[{(z - o3) (
- \!\(\*OverscriptBox[\(z\), \(_\)]\) -
- \!\(\*OverscriptBox[\(o3\), \(_\)]\)) == (a - o3) (
- \!\(\*OverscriptBox[\(a\), \(_\)]\) -
- \!\(\*OverscriptBox[\(o3\), \(_\)]\)), (z - a)/(
- \!\(\*OverscriptBox[\(z\), \(_\)]\) -
- \!\(\*OverscriptBox[\(a\), \(_\)]\)) == (z - p)/(
- \!\(\*OverscriptBox[\(z\), \(_\)]\) -
- \!\(\*OverscriptBox[\(p\), \(_\)]\)), z != a}, {z,
- \!\(\*OverscriptBox[\(z\), \(_\)]\)}];
- e3 = Part[Part[Part[w6, 1], 1], 2];
- \!\(\*OverscriptBox[\(e3\), \(_\)]\) = Part[Part[Part[w6, 1], 2], 2];
- Print["e3 = ", e3];
- Print["DD3 的复斜率 = ", Simplify[k[d, d3]], ", D3S 的复斜率 = ",
- Simplify[k[d3, s]], ", SP 的复斜率 = ", Simplify[k[s, p]]];
- If[Simplify[k[d, d3]/ k[d3, s]] == 1 &&
- Simplify[k[d3, s]/ k[s, p]] == 1,
- Print["由于DD3、D3S、SP 的复斜率都相等,因此 D、D3、S、P 四点共线。"]]
- Print["EE3 的复斜率 = ", Simplify[k[e, e3]], ", E3S 的复斜率 = ",
- Simplify[k[e3, s]], ", SQ 的复斜率 = ", Simplify[k[s, q]]];
- If[Simplify[k[e, e3]/ k[e3, s]] == 1 &&
- Simplify[k[e3, s]/ k[s, q]] == 1,
- Print["由于EE3、E3S、SQ 的复斜率都相等,因此 E、E3、S、Q 四点共线。"]]
复制代码
运行结果:
- o1=(a (t^2-t+a+1))/(a-t)
- d = (a (t^3+t^2+a+1))/(a-t)
- e=(a (t^3+a t+t+1))/((a-t) t)
- x=-((a t (t^2-t+a+1))/(t^2+a (t^2-t+1)))
- p=-(a/t)
- q=-a t
- s=a (-t+1-1/t)
- SE的复斜率/SD的复斜率 = 1/t^2
- AE的复斜率/AD的复斜率 = 1/t^2
- 由于上述两个复斜率的比值相等,因此 ADSE 四点共圆。
- OA的复斜率 = a^2 OS的复斜率 = a^2
- 因为OA的复斜率与OS的复斜率相等,故 A、O、S 三点共线
- AS的复斜率 = a^2 PQ的复斜率 = -a^2
- 因为AS的复斜率与PQ的复斜率是相反数,故这两条直线垂直
- PS的复斜率 = -a^2 t AQ的复斜率 = a^2 t
- 因为PS的复斜率与AQ的复斜率是相反数,故这两条直线垂直
- QS的复斜率 = -(a^2/t) AP的复斜率 = a^2/t
- 因为QS的复斜率与AP的复斜率是相反数,故这两条直线垂直
- AP = t+2+1/t AQ = t+2+1/t
- 因为 AP = AQ, 故二者长度相等
- SP = -((t-1)^2/t) SQ = -((t-1)^2/t)
- 因为 SP = SQ, 故二者长度相等
- o2=(-a t^2+t^2+2 a t+a+1)/(2 t+2)
- d2 = 1/2 (-a t^2+t^2+a+1)
- e2 = (-a (t-1)^2+t^2+1)/(2 t)
- x2=(t (-a t^2+t^2+2 a t+a+1))/(a t^2+t^2+2 t+a-1)
- X2D2 的复斜率 = -((a t^2 (-t^2+a (t^2-2 t-1)-1))/(a t^2+t^2+2 t+a-1)), D2Q 的复斜率 = -((a t^2 (-t^2+a (t^2-2 t-1)-1))/(a t^2+t^2+2 t+a-1))
- 由于X2D2的复斜率等于D2Q的复斜率,因此 X2、D2、Q 三点共线。
- X2E2 的复斜率 = (a (-a t^2+t^2+2 a t+a+1))/(a t^2+t^2+2 t+a-1), E2P 的复斜率 = (a (-a t^2+t^2+2 a t+a+1))/(a t^2+t^2+2 t+a-1)
- 由于X2E2的复斜率等于E2P的复斜率,因此 X2、E2、P 三点共线。
- d3 = -((a (t^3+t^2-t+1))/(2 t))
- e3 = -((a (t^3-t^2+t+1))/(2 t^2))
- DD3 的复斜率 = -a^2 t, D3S 的复斜率 = -a^2 t, SP 的复斜率 = -a^2 t
- 由于DD3、D3S、SP 的复斜率都相等,因此 D、D3、S、P 四点共线。
- EE3 的复斜率 = -(a^2/t), E3S 的复斜率 = -(a^2/t), SQ 的复斜率 = -(a^2/t)
- 由于EE3、E3S、SQ 的复斜率都相等,因此 E、E3、S、Q 四点共线。
复制代码 |
|