找回密码
 快速注册
搜索
查看: 172|回复: 19

借助 mathematica 在复平面上用解析几何方法作几何题示例(3)

[复制链接]

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

TSC999 发表于 2023-6-19 10:37 |阅读模式
例 31:
证明两个比例之和为 1.png
程序代码:
  1. Clear["Global`*"]; (*设B在坐标原点,C在1点,\[Angle]B=60^\[Degree],复斜率kAB=u^2,kAC=1/v^2,kCD=w *)
  2. \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 1;
  3. (*由\[Angle]B=60^\[Degree]求 u 值:*)Simplify@ Solve[{E^(2 I (60 \[Pi] )/180) == u^2}, {u}]; u = Power[-1, (3)^-1];
  4. (*设kAC、kCD的复斜率分别为 1/v^2 和 w:*) kAC = 1/v^2; kCD = w;
  5. (*以下坐标是此构图下的已知公式,直接引用不再推导:*)
  6. a = Simplify[(u^2 (v^2 - 1))/(u^2 v^2 - 1)]; \!\(\*OverscriptBox[\(a\), \(_\)]\) =  Simplify[(v^2 - 1)/(u^2 v^2 - 1)];
  7. (*D点坐标:*)d = Simplify[-((u^2 v^2 (w - 1))/(u^2 v^2 - 1))]; \!\(\*OverscriptBox[\(d\), \(_\)]\) =  Simplify[(1 - w)/(w (u^2 v^2 - 1))];
  8. (*四个点确定的两条直线的交点:*)
  9. Jd1[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));
  10. \!\(\*OverscriptBox[\(Jd1\), \(_\)]\)[a_, b_, c_, d_] := ((c \!\(\*OverscriptBox[\(d\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\) d) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) - (a \!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\) b) (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)))/((\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) (c - d) - (a - b) (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)));
  11. (*P点坐标:*)p = Simplify@Jd1[a, b, c, d]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd1\), \(_\)]\)[a, b, c, d];
  12. (*Q点坐标:*)q = Simplify@Jd1[a, d, b, c]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd1\), \(_\)]\)[a, d, b, c];
  13. (*线段BA、BQ、BC、BP的长度:*)
  14. BA = Simplify[Sqrt[(b - a) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\))]]; BA = (  v^2 - 1)/((-1)^(2/3) v^2 - 1) Sqrt[((-1)^(2/3)) ];
  15. BQ = q; BC = 1;
  16. BP = Simplify[Sqrt[(b - p) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(p\), \(_\)]\))]]; BP = -((   w - 1)/((-1)^(2/3) - w)) Sqrt[((-1)^(2/3)) ];
  17. Print["\!\(\*FractionBox[\(BA\), \(BQ\)]\) = ",  FullSimplify@ComplexExpand[BA/BQ]];
  18. Print["\!\(\*FractionBox[\(BC\), \(BP\)]\) = ",  FullSimplify@ComplexExpand[BC/BP]];
  19. Print["因此 \!\(\*FractionBox[\(BA\), \(BQ\)]\) +\!\(\*FractionBox[\(\(\\\ \)\(BC\)\), \(BP\)]\) = ", Simplify[BA/BQ + BC/BP]];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-6-19 10:43
例 32:
证明角 B 等于 60 度.png
程序代码:
  1. Clear["Global`*"]; (*设B在坐标原点,C在1点,BA/BQ+BC/BP=1,复斜率 kAB=u^2,kAC=1/v^2,kCD=w *)
  2. \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 1;
  3. (*设kAC、kCD的复斜率分别为 1/v^2 和 w:*) kAC = 1/v^2; kCD = w;
  4. (*以下坐标是此构图下的已知公式,直接引用不再推导:*)
  5. a = (u^2 (v^2 - 1))/(u^2 v^2 - 1); \!\(\*OverscriptBox[\(a\), \(_\)]\) = (v^2 - 1)/( u^2 v^2 - 1); d = -((u^2 v^2 (w - 1))/(u^2 v^2 - 1)); \!\(\*OverscriptBox[\(d\), \(_\)]\) = (1 - w)/(w (u^2 v^2 - 1));
  6. (*四个点确定的两条直线的交点:*)
  7. Jd1[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));
  8. \!\(\*OverscriptBox[\(Jd1\), \(_\)]\)[a_, b_, c_, d_] := ((c \!\(\*OverscriptBox[\(d\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\) d) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) - (a \!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\) b) (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)))/((\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) (c - d) - (a - b) (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)));
  9. (*P点坐标:*)p = Simplify@Jd1[a, b, c, d]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd1\), \(_\)]\)[a, b, c, d];
  10. (*Q点坐标:*)q = Simplify@Jd1[a, d, b, c]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd1\), \(_\)]\)[a, d, b, c];
  11. Print["P = ", p]; Print["Q = ", q];
  12. (*线段BA、BQ、BC、BP的长度:*)
  13. BA = Simplify[Sqrt[(b - a) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\))]]; BA = (u (v^2 - 1))/(
  14. u^2 v^2 - 1);
  15. BQ = q; BC = 1;
  16. BP = Simplify[Sqrt[(b - p) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(p\), \(_\)]\))]]; BP = -((u (w - 1))/(u^2 - w));
  17. \[Lambda]1 = Simplify[BA/BQ]; \[Lambda]2 = Simplify[BC/BP];
  18. Print["\[Lambda]1 + \[Lambda]2 = ", Simplify[\[Lambda]1 + \[Lambda]2]];
  19. Simplify@Solve[{\[Lambda]1 + \[Lambda]2 == 1}, {u}]; u = Power[-1, (3)^-1];
  20. Simplify@Solve[{E^(2 I \[Angle]B) == u^2, 0 < \[Angle]B < \[Pi]/2}, {\[Angle]B}] // Flatten
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-6-26 06:29
本帖最后由 TSC999 于 2023-6-27 23:50 编辑 例 33:
证明另一条公切线通过 D 点.png
解答:
证明另一条公切线通过 D 点解答.png
程序代码:
  1. Clear["Global`*"]; (*设B在坐标原点,C在1点, kAB=u^4,kAC=1/v^4 *)
  2. \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 1;  a = (u^4 (v^4 - 1))/( u^4 v^4 - 1);
  3. \!\(\*OverscriptBox[\(a\), \(_\)]\) = (v^4 - 1)/(u^4 v^4 - 1);   i = ( u^2 (v^2 - 1))/(u^2 v^2 - 1);
  4. \!\(\*OverscriptBox[\(i\), \(_\)]\) = (v^2 - 1)/(u^2 v^2 - 1);
  5. (*\[EmptyUpTriangle]ABC 的各边长度:*) BC = 1; AB = (u^2 (v^4 - 1))/( u^4 v^4 - 1);  AC = v^2(u^4 - 1)/(u^4 v^4 - 1);
  6. AI = Simplify[Sqrt[(a - i) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(i\), \(_\)]\))]]; AI = -((  u v (u^2 - 1) (v^2 - 1) I)/(u^4 v^4 - 1));
  7. BI = Simplify[Sqrt[(b - i) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(i\), \(_\)]\))]]; BI = (u (v^2 - 1))/( u^2 v^2 - 1);
  8. CI = Simplify[Sqrt[(c - i) (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(i\), \(_\)]\))]]; CI = (v (u^2 - 1) )/( u^2 v^2 - 1);
  9. o1 = (i BC + c BI + b CI)/(BC + BI + CI); \!\(\*OverscriptBox[\(o1\), \(_\)]\) = (\!\(\*OverscriptBox[\(i\), \(_\)]\) BC + \!\(\*OverscriptBox[\(c\), \(_\)]\) BI + \!\(\*OverscriptBox[\(b\), \(_\)]\) CI)/(BC + BI + CI); o2 = ( i AB + b AI + a BI)/(AB + AI + BI);
  10. \!\(\*OverscriptBox[\(o2\), \(_\)]\) = (\!\(\*OverscriptBox[\(i\), \(_\)]\) AB + \!\(\*OverscriptBox[\(b\), \(_\)]\) AI + \!\(\*OverscriptBox[\(a\), \(_\)]\) BI)/(AB + AI + BI);
  11. o3 = (i AC + c AI + a CI)/(AC + AI + CI); \!\(\*OverscriptBox[\(o3\), \(_\)]\) = (\!\(\*OverscriptBox[\(i\), \(_\)]\) AC + \!\(\*OverscriptBox[\(c\), \(_\)]\) AI + \!\(\*OverscriptBox[\(a\), \(_\)]\) CI)/(AC + AI + CI);
  12. Print["a = ", Simplify[a], ",  i = ", Simplify[i]];Print["o1 = ", Simplify[o1], ",  o2 = ", Simplify[o2], ",  o3 = ",
  13.   Simplify[o3]];
  14. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  15. W1 = {d, \!\(\*OverscriptBox[\(d\), \(_\)]\)} /.   Simplify@Solve[{k[b, c] == k[b, d], k[o1, d] == -1}, {d, \!\(\*OverscriptBox[\(d\), \(_\)]\)}] // Flatten ;
  16. d = Part[W1, 1]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = d; Print["d = ", d];
  17. W2 = {n, \!\(\*OverscriptBox[\(n\), \(_\)]\)} /.     Simplify@Solve[{k[o2, o3] == k[o2, n], k[a, i] == k[a, n]}, {n, \!\(\*OverscriptBox[\(n\), \(_\)]\)}] // Flatten ;
  18. n = Part[W2, 1]; \!\(\*OverscriptBox[\(n\), \(_\)]\) = Part[W2, 2]; Print["n = ", n];
  19. Jx[p_, a_, b_] := (\!\(\*OverscriptBox[\(a\), \(_\)]\) b - a \!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(p\), \(_\)]\) (a - b))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\));(*P点的镜线,镜线过已知点 A、B*)
  20. \!\(\*OverscriptBox[\(Jx\), \(_\)]\)[p_, a_, b_] := (a \!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\) b + p (
  21. \!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)))/(a - b);
  22. a1 = Simplify@Jx[a, o2, o3]; \!\(\*OverscriptBox[\(a1\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jx\), \(_\)]\)[a, o2, o3]; Print["a1 = ", a1];
  23. Print["ND 的复斜率 kND = ", Simplify[k[n, d]]];
  24. Print["NA1 的复斜率 kNA1 = ", Simplify[k[n, a1]]];
  25. Print["由于 kND = kNA1,所以 N、D、A1 三点共线,即直线 NDA1 是两圆的另一条公切线。"];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-6-26 06:57
例 34:
证明 AI 等于 GI 题.png
解答:
证明 AI 等于 GI 题解答.png
程序代码:
  1. Clear["Global`*"];(*令C点为坐标原点,A点坐标为 1,B点坐标为 \[ImaginaryI] *)
  2. \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 0; \!\(\*OverscriptBox[\(a\), \(_\)]\) = a = 1; b = I;
  3. \!\(\*OverscriptBox[\(b\), \(_\)]\) = - I; n = (Sqrt[2] - 1) I; \!\(\*OverscriptBox[\(n\), \(_\)]\) = - (Sqrt[2] - 1) I;
  4. (*圆心坐标:*) o = 1/2 + 1/2 I;
  5. \!\(\*OverscriptBox[\(o\), \(_\)]\) = 1/2 - 1/2 I;(*下面有证明O与G重合*)
  6. Foot[p_, x_, y_] := ( \!\(\*OverscriptBox[\(x\), \(_\)]\) y - x \!\(\*OverscriptBox[\(y\), \(_\)]\) + (x - y) \!\(\*OverscriptBox[\(p\), \(_\)]\) + (\!\(\*OverscriptBox[\(x\), \(_\)]\) - \!\(\*OverscriptBox[\(y\), \(_\)]\)) p)/(2 (\!\(\*OverscriptBox[\(x\), \(_\)]\) -
  7. \!\(\*OverscriptBox[\(y\), \(_\)]\)));  (* 从P点向XY直线引垂线,垂足的复坐标 *)
  8. \!\(\*OverscriptBox[\(Foot\), \(_\)]\)[p_, x_, y_] := (x \!\(\*OverscriptBox[\(y\), \(_\)]\) - \!\(\*OverscriptBox[\(x\), \(_\)]\) y + (
  9. \!\(\*OverscriptBox[\(x\), \(_\)]\) - \!\(\*OverscriptBox[\(y\), \(_\)]\)) p + (x - y) \!\(\*OverscriptBox[\(p\), \(_\)]\))/(2 (x - y));  
  10. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\));(*复斜率定义*)
  11. d = Simplify@Foot[c, a, n]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Foot\), \(_\)]\)[c, a, n];
  12. f = Simplify@Foot[b, c, d]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Foot\), \(_\)]\)[b, c, d];
  13. Simplify@Solve[{k[a, d] == k[a, h], k[c, h] == -k[c, o]}, {h, \!\(\*OverscriptBox[\(h\), \(_\)]\)}];
  14. h = ((1 - I) (Sqrt[2] - 1))/(Sqrt[2] - 2); \!\(\*OverscriptBox[\(h\), \(_\)]\) = ((1 + I) (Sqrt[2] - 1))/( Sqrt[2] - 2);
  15. e = Simplify@Foot[f, h, b]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Foot\), \(_\)]\)[f, h, b];
  16. Simplify@Solve[{k[a, b] == k[a, g], k[e, f] == k[e, g]}, {g, \!\(\*OverscriptBox[\(g\), \(_\)]\)}];
  17. g = 1/2 + I/2; \!\(\*OverscriptBox[\(g\), \(_\)]\) = 1/2 - I/2;
  18. Simplify@Solve[{k[a, d] == k[a, i], k[e, f] == k[e, i]}, {i, \!\(\*OverscriptBox[\(i\), \(_\)]\)}];
  19. i = ((1294 + 816 I) - (915 + 577 I) Sqrt[2])/(956 - 676 Sqrt[2]);
  20. \!\(\*OverscriptBox[\(i\), \(_\)]\) = ((816 + 577 I) - (577 + 408 I) Sqrt[2])/((239 + 577 I) - (169 + 408 I) Sqrt[2]);
  21. AI = FullSimplify[Sqrt[(a - i) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(i\), \(_\)]\))]]; GI =  FullSimplify[Sqrt[(g - i) (\!\(\*OverscriptBox[\(g\), \(_\)]\) - \!\(\*OverscriptBox[\(i\), \(_\)]\))]];
  22. Print["AI = ", AI, " \[TildeTilde] ",  N[AI]]; Print["GI = ", GI, " \[TildeTilde] ", N[GI]];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-6-26 17:53
例 35:
证明 P 是三角形 TMN 的内心.png
解答:
证明 P 是三角形 TMN 的内心解答.png
程序代码:
  1. Clear["Global`*"]; (*设B在坐标原点,C在1点, kAB=u^2,kAC=1/v^2 *)
  2. \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 1; a = (u^2 (v^2 - 1))/( u^2 v^2 - 1);
  3. \!\(\*OverscriptBox[\(a\), \(_\)]\) = (v^2 - 1)/(u^2 v^2 - 1);d = ((u + 1) (v - 1))/(2 u v - 2);  
  4. \!\(\*OverscriptBox[\(d\), \(_\)]\) = d; e = ((v - 1) (2 u v + u - 1))/(2 v (u v - 1));
  5. \!\(\*OverscriptBox[\(e\), \(_\)]\) = ((v - 1) ((u - 1) v - 2))/( 2 - 2 u v);  
  6. f = (u (u + 1) (v - 1))/(2 u v - 2);  \!\(\*OverscriptBox[\(f\), \(_\)]\) = ((u + 1) (v - 1))/( 2 u (u v - 1)); i = (u (v - 1))/(u v - 1);
  7. \!\(\*OverscriptBox[\(i\), \(_\)]\) = (v - 1)/(u v - 1); h = ( u^2 + 1)/(1 - u^2 v^2);  
  8. \!\(\*OverscriptBox[\(h\), \(_\)]\) = ((u^2 + 1) v^2)/(u^2 v^2 - 1);
  9. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  10. Simplify@Solve[{k[e, f] == k[e, t], k[d, t] == -k[e, f]}, {t, \!\(\*OverscriptBox[\(t\), \(_\)]\)}];
  11. t = ((u + 1) (v - 1) (u v + u + v - 1))/(4 v (u v - 1)); \!\(\*OverscriptBox[\(t\), \(_\)]\) = -(((u + 1) (v - 1) (u (v - 1) -  v - 1))/(4 u (u v - 1)));
  12. Simplify@Solve[{k[d, f] == k[d, m], k[e, m] == -k[d, f]}, {m, \!\(\*OverscriptBox[\(m\), \(_\)]\)}];
  13. m = ((v - 1) (u^2 v (v + 1) + u (-v^2 + 2 v + 1) + v - 1))/( 4 v (u v - 1));
  14. \!\(\*OverscriptBox[\(m\), \(_\)]\) = -(((v - 1) (u^2 (v - 1) v - u (v^2 + 2 v - 1) - v - 1))/(4 u v (u v - 1)));
  15. Simplify@Solve[{k[d, e] == k[d, n], k[f, n] == -k[d, e]}, {n, \!\(\*OverscriptBox[\(n\), \(_\)]\)}];
  16. n = ((u + 1) (v - 1) (u^2 v + u v + u - 1))/(4 u v (u v - 1)); \!\(\*OverscriptBox[\(n\), \(_\)]\) = -(((u + 1) (v - 1) (u^2 v -
  17.      u (v + 1) - 1))/(4 u (u v - 1)));
  18. Simplify@Solve[{k[e, m] == k[e, p], k[d, t] == k[d, p]}, {p, \!\(\*OverscriptBox[\(p\), \(_\)]\)}];
  19. p = ((v - 1) (u^2 v + u + v - 1))/(2 v (u v - 1)); \!\(\*OverscriptBox[\(p\), \(_\)]\) = -(((v - 1) (u^2 (v - 1) - u v - 1))/(2 u (u v - 1)));
  20. Simplify[k[t, d]/k[i, t] == k[t, h]/ k[d, t]] (*\[Angle]ITD=\[Angle]DTH*)
  21. Simplify[k[m, p]/k[h, m] == k[m, i]/k[p, m]] (*\[Angle]HMP=\[Angle]PMI*)
  22. Simplify[k[n, p]/k[h, n] == k[n, i]/k[p, n]] (*\[Angle]HNP=\[Angle]PNI*)
  23. Simplify[k[t, p]/k[m, t] == k[t, n]/k[p, t]] (*\[Angle]MTP=\[Angle]PTN*)
  24. Simplify[k[n, p]/k[t, n] == k[n, m]/k[p, n]] (*\[Angle]TNP=\[Angle]PNM*)
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-6-28 15:19
例 36:
证明角RAS与角BAC之和等于角BGC.png

程序代码:
  1. Clear["Global`*"]; (*设B在坐标原点,C在1点, kAB=u^2,kAC=1/v^2 *)
  2. \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 1; a = (u^2 (v^2 - 1))/( u^2 v^2 - 1);
  3. \!\(\*OverscriptBox[\(a\), \(_\)]\) = (v^2 - 1)/( u^2 v^2 - 1);(* \[EmptyUpTriangle]ABC各顶点坐标 *)
  4. g = (a + b + c)/3;   \!\(\*OverscriptBox[\(g\), \(_\)]\) = (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(b\), \(_\)]\) +
  5. \!\(\*OverscriptBox[\(c\), \(_\)]\))/3;  (*重心坐标*)
  6. r = \[Lambda] g; \!\(\*OverscriptBox[\(r\), \(_\)]\) = \[Lambda] \!\(\*OverscriptBox[\(g\), \(_\)]\);(* 再设 \[Mu]=GC/GS,则 c=\[Mu]s+(1-\[Mu])g *)
  7. Simplify@Solve[{c == \[Mu] s + (1 - \[Mu]) g, \!\(\*OverscriptBox[\(c\), \(_\)]\) == \[Mu] \!\(\*OverscriptBox[\(s\), \(_\)]\) + (1 - \[Mu])
  8. \!\(\*OverscriptBox[\(g\), \(_\)]\)}, {s, \!\(\*OverscriptBox[\(s\), \(_\)]\)}];(* 求 S 点坐标与 \[Mu] 的关系 *)
  9. s = -((\[Mu] + u^2 (-(-\[Mu] + (2 \[Mu] + 1) v^2 + 1)) + 2)/( 3 \[Mu] (u^2 v^2 - 1)));
  10. \!\(\*OverscriptBox[\(s\), \(_\)]\) = (-2 \[Mu] +  v^2 (\[Mu] + (\[Mu] + 2) u^2 - 1) - 1)/(3 \[Mu] (u^2 v^2 - 1));
  11. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\));(*复斜率定义*)
  12. Simplify@Solve[{k[b, g] == k[b, d], k[a, d] == k[a, s]}, {d, \!\(\*OverscriptBox[\(d\), \(_\)]\)}];(* 求 D 点坐标 *)
  13. d = ((\[Mu] + 2) (u^2 (2 v^2 - 1) - 1))/(3 (\[Mu] + 1) (u^2 v^2 - 1)); \!\(\*OverscriptBox[\(d\), \(_\)]\) = ((\[Mu] + 2) ((u^2 + 1) v^2 -  2))/(3 (\[Mu] + 1) (u^2 v^2 - 1));
  14. Simplify@Solve[{k[b, a]/k[b, s] == k[c, r]/k[c, a] == k[g, d]/ k[g, s]}, {\[Lambda], \[Mu]}];(* 由已知三个角相等的条件求 \[Lambda]、\[Mu] 与 u、v 的关系 *)
  15. \[Lambda] = (3 (u^4 v^2 (v^2 - 2) + u^2 (v^4 + 1) - 2 v^2 + 1))/( u^4 v^2 (2 v^2 - 1) + 2 u^2 (v^4 - 3 v^2 + 1) - v^2 +
  16.   2); \[Mu] = (-2 u^4 (v^4 + v^2) + u^2 (v^4 + 6 v^2 + 1) -  2 (v^2 + 1))/(u^4 (v^4 + v^2) + u^2 (-5 v^4 + 6 v^2 - 5) + v^2 + 1);
  17. (* 将 \[Lambda]、\[Mu] 代回 S、R 的原先坐标,消去其中的 \[Lambda]、\[Mu]: *)
  18. s = Simplify[-((\[Mu] + u^2 (-(-\[Mu] + (2 \[Mu] + 1) v^2 + 1)) + 2)/( 3 \[Mu] (u^2 v^2 - 1)))];
  19. \!\(\*OverscriptBox[\(s\), \(_\)]\) =  Simplify[(-2 \[Mu] + v^2 (\[Mu] + (\[Mu] + 2) u^2 - 1) - 1)/(  3 \[Mu] (u^2 v^2 - 1))];
  20. r = Simplify[\[Lambda] g]; \!\(\*OverscriptBox[\(r\), \(_\)]\) = Simplify[\[Lambda] \!\(\*OverscriptBox[\(g\), \(_\)]\)];
  21. Print["S = ", s]; Print["R = ", r];
  22. Simplify[k[a, s]/k[a, r] k[a, c]/k[a, b] == k[g, c]/k[g, b]](* 如果此式相等则表明\[Angle]RAS+\[Angle]BAC=\[Angle]BGC *)
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-7-2 10:37
例 37:
证明 PQXY 四点共圆题和解答.png
解答:
证明 PQXY 四点共圆解答.png
程序代码:
  1. Clear["Global`*"](*ABCD的外接圆为O,圆心O为坐标原点。BC边平行于实轴,AB、AC、BD的复斜率分别为 \
  2. u^2、v^2、w^2 *)
  3. \!\(\*OverscriptBox[\(o\), \(_\)]\) = o = 0; a = I u v; \!\(\*OverscriptBox[\(a\), \(_\)]\) = 1/a; b = I u/v;
  4. \!\(\*OverscriptBox[\(b\), \(_\)]\) = 1/b; c = I v/u; \!\(\*OverscriptBox[\(c\), \(_\)]\) =  1/c; kBC = 1; kAB = u^2; kAC = v^2; kBD = w^2;
  5. (* D点坐标:*)Simplify@Solve[{(b - d)/(1/b - 1/d) == kBD}, {d}]; d =  I v w^2/u;
  6. \!\(\*OverscriptBox[\(d\), \(_\)]\) = 1/d;(*以下求各线段的复斜率:*)
  7. kAD = Simplify[(a - d)/(1/a - 1/d)]; kAD = v^2 w^2; kAP =  Simplify[Sqrt[kAB kAD]]; kAP = -u v w;
  8. kBQ = u; kDC = Simplify[(d - c)/(1/d - 1/c)]; kDC = ( v^2 w^2)/u^2; kCP = Simplify[Sqrt[kBC kDC]]; kCP = (v w)/u;
  9. kDQ = Simplify[Sqrt[kAD kDC]]; kDQ = -((v^2 w^2)/u); kBY =  Simplify[Sqrt[kBC kAB]]; kBY = -u;
  10. kDY = Simplify[Sqrt[kAD kDC]]; kDY = ( v^2 w^2)/u; kAX = -kAP;  kCX = -kCP;
  11. (*过A1点、复斜率等于k1的直线,与过A2点、复斜率等于k2的直线的交点:*)
  12. Jd[k1_, a1_, k2_, a2_] := -((k2 (a1 - k1 \!\(\*OverscriptBox[\(a1\), \(_\)]\)) - k1 (a2 - k2 \!\(\*OverscriptBox[\(a2\), \(_\)]\)))/(k1 - k2));
  13. \!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k1_, a1_, k2_, a2_] := -((a1 - k1 \!\(\*OverscriptBox[\(a1\), \(_\)]\) - (a2 - k2 \!\(\*OverscriptBox[\(a2\), \(_\)]\)))/(k1 - k2));
  14. p = Simplify@Jd[kAP, a, kCP, c]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kAP, a, kCP, c];
  15. q=Simplify@Jd[kDQ, d, kBQ, b]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kDQ, d, kBQ, b];
  16. x = Simplify@Jd[kAX, a, kCX, c]; \!\(\*OverscriptBox[\(x\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kAX, a, kCX, c];
  17. y = Simplify@Jd[kBY, b, kDY, d]; \!\(\*OverscriptBox[\(y\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kBY, b, kDY, d];
  18. Print["A = ", a, ",  B = ", b, ",  C = ", c, ",  D = ", d];
  19. Print["P = ", p, ",  Q = ", q, ",  X = ", x, ",  Y = ", y];
  20. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  21. Print["P、Q、X、Y 四点是否共圆:",  Simplify[k[y, q]/k[y, p] == k[x, q]/k[x, p]]];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-7-3 18:37
例 38:
求角BAP的度数.png
程序代码:
  1. \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) =  c = 1;  (*令B为坐标原点,C为1点,则A、P点坐标如下:*)
  2. a = (1 - E^(-2 I (24 + 54)/180 \[Pi] ))/( 1 - E^(-2 I (24 + 54 + 24 + 30)/180 \[Pi] )); \!\(\*OverscriptBox[\(a\), \(_\)]\) = (
  3. 1 - E^(2 I (24 + 54)/180 \[Pi] ))/( 1 - E^(2 I (24 + 54 + 24 + 30)/180 \[Pi] )); (* A-B-C 逆时针环绕*)
  4. p = (1 - E^(-2 I (24)/180 \[Pi] ))/( 1 - E^(-2 I (24 + 24)/180 \[Pi] )); \!\(\*OverscriptBox[\(p\), \(_\)]\) = (1 - E^(2 I (24)/180 \[Pi] ))/(1 - E^(2 I (24 + 24)/180 \[Pi] )); (* P-B-C 逆时针环绕*)
  5. \[Angle][a_, b_, c_] := ArcTan[(I (\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a)))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (b - c) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - 2 b + c) +
  6. \!\(\*OverscriptBox[\(c\), \(_\)]\) (b -  a))];(*从AB边逆时针转到BC边的有向角\[Angle]ABC的角度值*)
  7. Print["\[Angle]BAP = ", FullSimplify[\[Angle][b, a, p]]];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-7-4 07:25
例 39:
证明两个线段长度间的关系题.png
解答:
证明两个线段长度的关系式题和解答.png
程序代码:
  1. Clear["Global`*"]; (*设B在坐标原点,C在1点, kAB=u^2,kAC=1/v^2 *)
  2. \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 1; a = (u^2 (v^2 - 1))/( u^2 v^2 - 1);
  3. \!\(\*OverscriptBox[\(a\), \(_\)]\) = (v^2 - 1)/(u^2 v^2 - 1); AB = ( u (v^2 - 1))/(u^2 v^2 - 1); AC = (v (u^2 - 1))/( u^2 v^2 - 1); BC = 1; BM = 1/2;
  4. \!\(\*OverscriptBox[\(m\), \(_\)]\) = m = 1/2; e = \[Mu] a; \!\(\*OverscriptBox[\(e\), \(_\)]\) = \[Mu] \!\(\*OverscriptBox[\(a\), \(_\)]\); (* \[Mu]=BE/BA *)
  5. BE = Simplify[Sqrt[(b - e) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(e\), \(_\)]\))]]; BE = (\[Mu] u (v^2 - 1))/(
  6. u^2 v^2 - 1); AE = Simplify[AB - BE];
  7. WX[a1_, b1_, c1_] := (a1 \!\(\*OverscriptBox[\(a1\), \(_\)]\) (c1 - b1) + b1 \!\(\*OverscriptBox[\(b1\), \(_\)]\) (a1 - c1) + c1
  8. \!\(\*OverscriptBox[\(c1\), \(_\)]\) (b1 - a1) )/(\!\(\*OverscriptBox[\(a1\), \(_\)]\) (c1 - b1) + \!\(\*OverscriptBox[\(b1\), \(_\)]\) (a1 - c1) + \!\(\*OverscriptBox[\(c1\), \(_\)]\) (b1 -  a1));(*三角形 A1B1C1 的外心坐标:*)   
  9. \!\(\*OverscriptBox[\(WX\), \(_\)]\)[a1_, b1_, c1_] := -((a1 \!\(\*OverscriptBox[\(a1\), \(_\)]\) (\!\(\*OverscriptBox[\(c1\), \(_\)]\) - \!\(\*OverscriptBox[\(b1\), \(_\)]\)) + b1 \!\(\*OverscriptBox[\(b1\), \(_\)]\) (\!\(\*OverscriptBox[\(a1\), \(_\)]\) - \!\(\*OverscriptBox[\(c1\), \(_\)]\)) + c1 \!\(\*OverscriptBox[\(c1\), \(_\)]\) (\!\(\*OverscriptBox[\(b1\), \(_\)]\) - \!\(\*OverscriptBox[\(a1\), \(_\)]\)))/(\!\(\*OverscriptBox[\(a1\), \(_\)]\) (c1 - b1) + \!\(\*OverscriptBox[\(b1\), \(_\)]\) (a1 - c1) +
  10. \!\(\*OverscriptBox[\(c1\), \(_\)]\) (b1 - a1)));
  11. o = Simplify@ WX[a, e, m]; \!\(\*OverscriptBox[\(o\), \(_\)]\) = Simplify@ \!\(\*OverscriptBox[\(WX\), \(_\)]\)[a, e, m];
  12. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\));(*复斜率定义*)
  13. W = {g, \!\(\*OverscriptBox[\(g\), \(_\)]\)} /. Simplify@Solve[{(o - a) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) == (o - g) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(g\), \(_\)]\)), k[a, c] == k[a, g]}, {g, \!\(\*OverscriptBox[\(g\), \(_\)]\) }] // Flatten ;
  14. g = Part[W, 1]; \!\(\*OverscriptBox[\(g\), \(_\)]\) = Part[W, 2]; Print["G = ", g];
  15. CG = Simplify[Sqrt[(c - g) (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(g\), \(_\)]\))]]; CG = (u^4 v^4 -  2 u^2 (\[Mu] + \[Mu] v^4 + (1 - 2 \[Mu]) v^2) + 1)/( 2 (u^2 - 1) v (u^2 v^2 - 1)); AG = Simplify[AC - CG];
  16. W1 = {q, \!\(\*OverscriptBox[\(q\), \(_\)]\)} /. Simplify@Solve[{(o - a) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) == (o - q) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(q\), \(_\)]\)), k[b, c] == k[b, q], q != m}, {q,
  17. \!\(\*OverscriptBox[\(q\), \(_\)]\) }] // Flatten ;
  18. q = Part[W1, 1]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Part[W1, 2]; Print["Q = ", q];
  19. q = (2 \[Mu] u^2 (v^2 - 1)^2)/(u^2 v^2 - 1)^2; \!\(\*OverscriptBox[\(q\), \(_\)]\) = ( 2 \[Mu] u^2 (v^2 - 1)^2)/(u^2 v^2 - 1)^2; BQ = Simplify[Sqrt[(b - q) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(q\), \(_\)]\))]];
  20. BQ = 2 (\[Mu] u^2 (v^2 - 1)^2)/(u^2 v^2 - 1)^2;
  21. p = Simplify[\[Eta] a + (1 - \[Eta]) m]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Simplify[\[Eta] \!\(\*OverscriptBox[\(a\), \(_\)]\) + (1 - \[Eta])
  22. \!\(\*OverscriptBox[\(m\), \(_\)]\)];(*\[Eta]=MP/MA*) Print["P = ", p];
  23. W2 = {d, \!\(\*OverscriptBox[\(d\), \(_\)]\)} /. Simplify@Solve[{k[g, p] == k[g, d], k[a, b] == k[a, d]}, {d, \!\(\*OverscriptBox[\(d\), \(_\)]\) }] // Flatten ;
  24. d = Part[W2, 1]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Part[W2, 2]; Print["D = ", d];
  25. AD = Simplify[Sqrt[(a - d) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\))]]; AD = (-(\[Eta] - 1) u (v^2 -
  26.     1) (-2 \[Mu] u^2 + v^4 (u^4 - 2 \[Mu] u^2) - 2 v^2 (u^4 - (2 \[Mu] + 1) u^2 + 1) + 1))/( 2 (u^2 v^2 - 1) (-2 \[Mu] u^2 + v^4 (u^4 - 2 \[Mu] u^2) -  v^2 (\[Eta] + (\[Eta] + 1) u^4 - 2 u^2 (\[Eta] + 2 \[Mu]) + 1) +  1));
  27. W3 = {f, \!\(\*OverscriptBox[\(f\), \(_\)]\)} /.  Simplify@Solve[{k[e, p] == k[e, f], k[a, c] == k[a, f]}, {f, \!\(\*OverscriptBox[\(f\), \(_\)]\) }] // Flatten ;
  28. f = Part[W3, 1]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Part[W3, 2]; Print["F = ", f];
  29. AF = Simplify[Sqrt[(a - f) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(f\), \(_\)]\))]]; AF = ((\[Eta] - 1) (\[Mu] -
  30.     1) (u^2 - 1) v)/((\[Eta] - 2 \[Mu] + 1) (u^2 v^2 - 1));
  31. MP = Simplify[Sqrt[(m - p) (\!\(\*OverscriptBox[\(m\), \(_\)]\) - \!\(\*OverscriptBox[\(p\), \(_\)]\))]]; MP = (-\[Eta] Sqrt[-((u^2 -
  32.          2) v^2 + 1) (u^2 (v^2 - 2) + 1)])/(2 (u^2 v^2 - 1)) ;
  33. MA = Simplify[Sqrt[(m - a) (\!\(\*OverscriptBox[\(m\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\))]]; MA =  -Sqrt[-((u^2 - 2) v^2 + 1) (u^2 (v^2 - 2) + 1)]/(2 (u^2 v^2 - 1));
  34. Print["\!\(\*FractionBox[\(AB\\\ BE + AC\\\ CG\), SuperscriptBox[\(BC\), \(2\)]]\)=\!\(\*FractionBox[\(1\), \(2\)]\) 是否成立: ",
  35.   Simplify[(AB BE + AC CG)/BC^2 == 1/2]];
  36. Print["\!\(\*FractionBox[\(AB\), \(AD\)]\)+\!\(\*FractionBox[\(AC\), \(AG\)]\)==\!\(\*FractionBox[\(AB\), \(AE\)]\)+\!\(\*FractionBox[\(AC\), \(AF\)]\)==\!\(\*FractionBox[\(2  MA\), \(MA - MP\)]\) 是否成立: ",
  37.   Simplify[AB/AD + AC/AG == AB/AE + AC/AF == (2 MA)/(MA - MP)]];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-7-4 12:56
本帖最后由 TSC999 于 2023-7-4 14:35 编辑 例 40:
证明圆E与圆O相切题.png
解答:
证明两圆相切的题解答.png
程序代码:
  1. Clear["Global`*"];(*B为原点,内切圆半径为1,BC边与横轴重合。T、C 点坐标为两个实变量*)
  2. \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c; a = ((t^2 - 1) (t - c) +  2 I t (t - c))/(1 - c t + t^2);
  3. \!\(\*OverscriptBox[\(a\), \(_\)]\) = ((t^2 - 1) (t - c) - 2 I t (t - c))/(1 - c t + t^2);
  4. (*\[EmptyUpTriangle]ABC的外心坐标:*) o = (I (t + I)^2 (c - t + I)^2)/( 4 (t^2 + 1) - 4 c t);
  5. \!\(\*OverscriptBox[\(o\), \(_\)]\) = (-I (t - I)^2 (c - t - I)^2)/(4 (t^2 + 1) - 4 c t);
  6. \!\(\*OverscriptBox[\(oo\), \(_\)]\) = \!\(\*OverscriptBox[\(o\), \(_\)]\); (*转存一下,为的是以后从 Overscript[o, _] \
  7. 中消掉 c。后面的 Overscript[ee, _]=Overscript[e, _] 同理*)
  8. (*\[EmptyUpTriangle]ABC的外接圆半径:*)R = ((1 + t^2) (1 + (t - c)^2) )/( 4 c t - 4 t^2 - 4);
  9. (*三角形\[EmptyUpTriangle]ABC垂心坐标:*)  h = (I (t^2 - 1) (-c + t + I)^2)/( 2 c t - 2 (t^2 + 1));
  10. \!\(\*OverscriptBox[\(h\), \(_\)]\) = -((I (t^2 - 1) (c - t + I)^2)/(2 c t - 2 (t^2 + 1)));
  11. d = Simplify[(a + h)/2]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Simplify[(\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(h\), \(_\)]\))/2];
  12. WX[a_, b_, c_] := (a \!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + b \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + c \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a) )/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) +
  13. \!\(\*OverscriptBox[\(c\), \(_\)]\) (b -  a));(* \[EmptyUpTriangle]ABC的外心坐标*)   
  14. \!\(\*OverscriptBox[\(WX\), \(_\)]\)[a_, b_, c_] := -((a \!\(\*OverscriptBox[\(a\), \(_\)]\) (\!\(\*OverscriptBox[\(c\), \(_\)]\) -
  15. \!\(\*OverscriptBox[\(b\), \(_\)]\)) + b \!\(\*OverscriptBox[\(b\), \(_\)]\) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)) + c \!\(\*OverscriptBox[\(c\), \(_\)]\) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a)));
  16. e = Simplify@WX[d, o, h]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[d, o, h];
  17. \!\(\*OverscriptBox[\(ee\), \(_\)]\) = \!\(\*OverscriptBox[\(e\), \(_\)]\);(*\[EmptyUpTriangle]HOD的外心坐标*)
  18. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  19. (* 求AB与OE的交点E1:*)
  20. W = {e1, \!\(\*OverscriptBox[\(e1\), \(_\)]\)} /. Simplify@Solve[{k[a, b] == k[a, e1], k[o, e1] == k[o, e]}, {e1, \!\(\*OverscriptBox[\(e1\), \(_\)]\)}] // Flatten;
  21. e1 = Part[W, 1]; \!\(\*OverscriptBox[\(e1\), \(_\)]\) = Part[W, 2];
  22. W1 = {c} /. Simplify@Solve[{e == e1, \!\(\*OverscriptBox[\(e\), \(_\)]\) == \!\(\*OverscriptBox[\(e1\), \(_\)]\)}, {c}] // Flatten; (*当E与E1重合时C点坐标与T点坐标的关系*)
  23. c = Part[W1, 3];(*因为实数c>t>0,故选取第三个解*)
  24. Print["C = ", c]; o = Simplify[o]; \!\(\*OverscriptBox[\(o\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(oo\), \(_\)]\)]; e = Simplify[e];
  25. \!\(\*OverscriptBox[\(e\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(ee\), \(_\)]\)]; R = FullSimplify[R];
  26. Print["O = ", o];  Print["E = ", e]; Print["R = ", R];
  27. (*求圆E上O点的对径点F的坐标:*)
  28. Jx[p_, a_, k_] := -k \!\(\*OverscriptBox[\(a\), \(_\)]\) + k \!\(\*OverscriptBox[\(p\), \(_\)]\) + a;  (*P点的镜线,镜线过已知点A且复斜率为k*)
  29. \!\(\*OverscriptBox[\(Jx\), \(_\)]\)[p_, a_, k_] := (k \!\(\*OverscriptBox[\(a\), \(_\)]\) - a + p)/k;
  30. f = Simplify@Jx[o, e, -k[o, e]]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jx\), \(_\)]\)[o, e, -k[o, e]];  
  31. Print["F = ", Simplify[f]];
  32. Print["如果圆E的直径OF等于圆O的半径,则二圆相切。测试是否相切: ", Simplify[(f - o) (\!\(\*OverscriptBox[\(f\), \(_\)]\) - \!\(\*OverscriptBox[\(o\), \(_\)]\)) == R^2]];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-7-7 21:04
例 41:
求 BD 和 CE 的长度.png
程序代码:
  1. Clear["Global`*"];(*设 BD=x,CE=y,令 B 点在坐标原点,C 点在 1 点*)
  2. \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 1; a = 1/2 + I Sqrt[3]/2;
  3. \!\(\*OverscriptBox[\(a\), \(_\)]\) = 1/2 - I Sqrt[3]/2;d = x Cos[\[Pi]/3] + I x Sin[\[Pi]/3];
  4. \!\(\*OverscriptBox[\(d\), \(_\)]\) =  x Cos[\[Pi]/3] - I x Sin[\[Pi]/3];e = (1 - y Cos[\[Pi]/3]) + I y Sin[\[Pi]/3];
  5. \!\(\*OverscriptBox[\(e\), \(_\)]\) = (1 - y Cos[\[Pi]/3]) -  I y Sin[\[Pi]/3];
  6. (*由三角形三顶点求内切圆半径:*)
  7. R[a_, b_, c_] := (I (\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a)))/(2 (Sqrt[(a - b) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\))] + Sqrt[(a - c) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\))] + Sqrt[(b - c) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\))]));(*ABC逆时针环绕*)
  8. RA = Simplify[R[a, d, e]]; RA = (Sqrt[3] (x - 1) (y - 1))/( 2 (Sqrt[x^2 - x (y + 1) + y^2 - y + 1] + (1 - x) + (1 - y)));
  9. RB = Simplify@R[b, e, d]; RB = (Sqrt[3] x (1 - y))/( 2 (Sqrt[x^2 - x (y + 1) + y^2 - y + 1] + x + Sqrt[y^2 - y + 1]));
  10. RC = Simplify@R[c, e, b]; RC = (Sqrt[3] y)/( 2 (y + Sqrt[y^2 - y + 1] + 1));
  11. Simplify@Solve[{RA == RB == RC}, {x, y}];
  12. x = (2 - Power[2, (3)^-1] + 3 Power[4, (3)^-1])/10; y = (1 + 2 Power[2, (3)^-1] - Power[4, (3)^-1])/5;
  13. d = x Cos[\[Pi]/3] + I x Sin[\[Pi]/3]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = x Cos[\[Pi]/3] - I x Sin[\[Pi]/3];
  14. e = (1 - y Cos[\[Pi]/3]) + I y Sin[\[Pi]/3]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = (1 - y Cos[\[Pi]/3]) -  I y Sin[\[Pi]/3];
  15. Print["BD = (2-\!\(\*RadicalBox[\(2\), \(3\)]\)+3\!\(\*RadicalBox[\(4\), \(3\)]\))/10  \[TildeTilde]  ", N[x]];
  16. Print["CE = (1+2 \!\(\*RadicalBox[\(2\), \(3\)]\)-\!\(\*RadicalBox[\(4\), \(3\)]\))/5  \[TildeTilde]  ", N[y]];
  17. Print["DB 是否等于 DE:", Simplify[(b - d) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)) == (e - d) (\!\(\*OverscriptBox[\(e\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\))]];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-7-7 21:30
例 42:
1.png

程序代码:
  1. Clear["Global`*"];
  2. \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 6; \!\(\*OverscriptBox[\(m\), \(_\)]\) = m = 2; a = u + v I; \!\(\*OverscriptBox[\(a\), \(_\)]\) = u - v I;
  3. (*从AB边逆时针转到BC边的有向角\[Angle]ABC的角度值:*)
  4. \[Angle][a_, b_, c_] := ArcTan[(I (\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a)))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (b - c) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - 2 b + c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a))];
  5. \[Angle]CBA = Simplify[\[Angle][c, b, a]]; \[Angle]ACB = Simplify[\[Angle][a, c, b]];
  6. Simplify@Solve[{ \[Angle]ACB == 2 \[Angle]CBA}, v]; v =  Sqrt[3] Sqrt[(u - 4) u];a = u + v I; \!\(\*OverscriptBox[\(a\), \(_\)]\) = u - v I;
  7. d = (a + c)/2; \!\(\*OverscriptBox[\(d\), \(_\)]\) = (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\))/2;
  8. BM = 2; MD = Simplify[Sqrt[(m - d) (\!\(\*OverscriptBox[\(m\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\))]]; MD = u - 1;
  9. AD = Simplify[Sqrt[(a - d) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\))]] ; AD = u - 3;
  10. Print["MD = BM+AD 是否成立: ", Simplify[MD == BM + AD]];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-7-10 21:25
例 43:
证明HKO共线题.png
注:D 点位置确定以后,由于△ABC 和△DEF 有共同的垂心 H,所以 E 和 F 点的位置也就随之而定了。
解答:
证明HKO共线题解答.png
程序代码:
  1. Clear["Global`*"];(*令ABCDEF的外接圆为单位圆,圆心O为坐标原点。BC边平行于实轴,AB、AC、DB的复斜率分别为 \
  2. u^2、v^2、w^2 *)
  3. \!\(\*OverscriptBox[\(o\), \(_\)]\) = o = 0; a = I u v; \!\(\*OverscriptBox[\(a\), \(_\)]\) = 1/a; b = I u/v;
  4. \!\(\*OverscriptBox[\(b\), \(_\)]\) = 1/b; c = I v/u; \!\(\*OverscriptBox[\(c\), \(_\)]\) = 1/c;
  5. Simplify@Solve[{(b - d)/(1/b - 1/d) == w^2}, {d}];(* DB的复斜率为 w^2 *)
  6. d = I v w^2/u; \!\(\*OverscriptBox[\(d\), \(_\)]\) = 1/d;
  7. h = (I ((v^2 + 1) u^2 + v^2))/(u v); \!\(\*OverscriptBox[\(h\), \(_\)]\) = -((I (u^2 + v^2 + 1))/(u v));
  8. W1 = {e, f} /. Simplify@Solve[{(e - h)/(1/e - \!\(\*OverscriptBox[\(h\), \(_\)]\)) == -((f - d)/(1/f - 1/d)), ( f - h)/(1/f - \!\(\*OverscriptBox[\(h\), \(_\)]\)) == -((e - d)/(1/e - 1/d)),  e != 0, f != 0}, {e, f}] // Flatten ;
  9. t1 = \[Sqrt](((v^2 + 1) (w^2 - 1) u^4 + (w^2 v^4 - (w^4 - 4 w^2 + 1) v^2 + w^2) u^2 - v^2 (v^2 + 1) w^2 (w^2 - 1))^2 -
  10.      4 u^2 v^2 w^2 ((w^2 - 1) u^2 + (v^2 + 1) w^2) (u^2 (v^2 + 1) - v^2 (w^2 - 1)));
  11. e = -((I (t - u^4 (v^2 + 1) (w^2 - 1) + u^2 (-v^4 w^2 + v^2 (w^4 - 4 w^2 + 1) - w^2) + v^2 (v^2 + 1) w^2 (w^2 - 1)))/(
  12.   2 u v ((w^2 - 1) u^2 + (v^2 + 1) w^2))) ; \!\(\*OverscriptBox[\(e\), \(_\)]\) = 1/e;
  13. f = (I (t + u^4 (v^2 + 1) (w^2 - 1) + u^2 (v^4 w^2 - v^2 (w^4 - 4 w^2 + 1) + w^2) - v^2 (v^2 + 1) w^2 (w^2 - 1)))/(
  14. 2 u v ((w^2 - 1) u^2 + (v^2 + 1) w^2)) ; \!\(\*OverscriptBox[\(f\), \(_\)]\) = 1/f;
  15. (*四个点确定的两条直线的交点:*)
  16. Jd1[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));
  17. \!\(\*OverscriptBox[\(Jd1\), \(_\)]\)[a_, b_, c_, d_] := ((c \!\(\*OverscriptBox[\(d\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\) d) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) - (a \!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\) b) (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)))/((\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) (c - d) - (a - b) (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)));
  18. p = Simplify@Jd1[a, d, c, f]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd1\), \(_\)]\)[a, d, c, f];
  19. q = Simplify@Jd1[b, e, c, f]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd1\), \(_\)]\)[b, e, c, f];
  20. r = Simplify@Jd1[a, d, b, e]; \!\(\*OverscriptBox[\(r\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd1\), \(_\)]\)[a, d, b, e];
  21. WX[a_, b_, c_] := (a \!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + b \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + c \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a) )/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) +
  22. \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a));(*三角形 ABC 的外心坐标:*)   
  23. \!\(\*OverscriptBox[\(WX\), \(_\)]\)[a_, b_, c_] := -((a \!\(\*OverscriptBox[\(a\), \(_\)]\) (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) + b \!\(\*OverscriptBox[\(b\), \(_\)]\) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)) + c \!\(\*OverscriptBox[\(c\), \(_\)]\) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a)));
  24. kk = Simplify@WX[p, q, r]; \!\(\*OverscriptBox[\(kk\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[p, q, r];
  25. K[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  26. k = Simplify[kk /. t -> t1]; \!\(\*OverscriptBox[\(k\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(kk\), \(_\)]\) /. t -> t1];
  27. Print["OH 的复斜率 kOH = ", Simplify[K[o, h]]];Print["OK 的复斜率 kOK = ", Simplify[K[o, k]]];
  28. Print["由于 kOH = kOK,所以 O、K、H 三点共线。 "];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-7-12 15:19
本帖最后由 TSC999 于 2023-7-12 15:28 编辑 例 44:
证明 I 也是三角形 DEF 的内心.png
  1. Clear["Global`*"];(*B为原点,内切圆半径为1,BC边与实轴重合。T、C 点坐标为两个变量*)
  2. \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c; a = ((t^2 - 1) (t - c) + 2 I t (t - c))/(1 - c t + t^2); \!\(\*OverscriptBox[\(a\), \(_\)]\) = ((t^2 - 1) (t - c) - 2 I t (t - c))/(1 - c t + t^2);
  3. (*\[EmptyUpTriangle]ABC的内心坐标 \[DoubleLongRightArrow]*) i = t + I;  \!\(\*OverscriptBox[\(i\), \(_\)]\) = t - I;
  4.   h = (I (t^2 - 1) (-c + t + I)^2)/(2 c t - 2 (t^2 + 1)); \!\(\*OverscriptBox[\(h\), \(_\)]\) = -((I (t^2 - 1) (c - t + I)^2)/(2 c t - 2 (t^2 + 1)));
  5. d = \[Lambda] a + (1 - \[Lambda]) h;(*HD/HA=\[Lambda]*)\!\(\*OverscriptBox[\(d\), \(_\)]\) = \[Lambda] \!\(\*OverscriptBox[\(a\), \(_\)]\) + (1 - \[Lambda]) \!\(\*OverscriptBox[\(h\), \(_\)]\);
  6. e = h/\[Mu];(*BH/BE=\[Mu]*)\!\(\*OverscriptBox[\(e\), \(_\)]\) = \!\(\*OverscriptBox[\(h\), \(_\)]\)/\[Mu];
  7. f = \[Nu] h + (1 - \[Nu]) c;(*CF/CH=\[Nu]*)\!\(\*OverscriptBox[\(f\), \(_\)]\) = \[Nu] \!\(\*OverscriptBox[\(h\), \(_\)]\) + (1 - \[Nu]) \!\(\*OverscriptBox[\(c\), \(_\)]\);AD2 = Simplify[(a - d) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\))]; BE2 = Simplify[(b - e) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(e\), \(_\)]\))]; CF2 = Simplify[(c - f) (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(f\), \(_\)]\))];
  8. Simplify@Solve[{AD2 == 4}, {\[Lambda]}]; \[Lambda] = ( c^2 (t^2 - 1) - 2 c (t^2 - 1) t + t^4 - 2 t^2 - 3)/( c^2 (t^2 - 1) - 2 c (t^3 + t) + (t^2 + 1)^2);
  9. Simplify@Solve[{BE2 == 4}, {\[Mu]}]; \[Mu] = ( (1 - t^2) (c^2 - 2 c t + t^2 + 1))/(4 (1 + t^2 - c t));
  10. Simplify@Solve[{CF2 == 4}, {\[Nu]}]; \[Nu] = (4 (c t - t^2 - 1))/((t^2 + 1) (c^2 - 2 c t + t^2 - 1));
  11. d = Simplify[\[Lambda] a + (1 - \[Lambda]) h]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Simplify[\[Lambda] \!\(\*OverscriptBox[\(a\), \(_\)]\) + (1 - \[Lambda]) \!\(\*OverscriptBox[\(h\), \(_\)]\)]; e = Simplify[h/\[Mu]];
  12. \!\(\*OverscriptBox[\(e\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(h\), \(_\)]\)/\[Mu]]; f = Simplify[\[Nu] h + (1 - \[Nu]) c];
  13. \!\(\*OverscriptBox[\(f\), \(_\)]\) = Simplify[\[Nu] \!\(\*OverscriptBox[\(h\), \(_\)]\) + (1 - \[Nu]) \!\(\*OverscriptBox[\(c\), \(_\)]\)];
  14. Print["D = ", d]; Print["E = ", e]; Print["F = ", f];
  15. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  16. Print["I 点是否在\[Angle]EDF 的平分线上:",  Simplify[k[d, i]^2 == k[d, e] k[d, f]]]
  17. Print["I 点是否在\[Angle]DFE 的平分线上:",  Simplify[k[f, i]^2 == k[f, d] k[f, e]]]
  18. Print["因此 I 也是 \[EmptyUpTriangle]DEF 的内心"]
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-7-13 17:33
本帖最后由 TSC999 于 2023-7-13 17:41 编辑 例 45:
证明 DZ 是圆的切线.png
程序代码:
  1. Clear["Global`*"](*令△ABC的外接圆为单位圆,圆心O为坐标原点,且BC边平行于实轴,AB、AC、AD的复斜率分别为 u^2、v^2、t^2 *)
  2. \!\(\*OverscriptBox[\(o\), \(_\)]\) = o = 0; a = I u v; \!\(\*OverscriptBox[\(a\), \(_\)]\) = 1/a; b = I u/v;
  3. \!\(\*OverscriptBox[\(b\), \(_\)]\) = 1/b; c = I v/u; \!\(\*OverscriptBox[\(c\), \(_\)]\) = 1/c; kAB = u^2; kAC = v^2; kAD = t^2;
  4. (*过A1点、复斜率等于k1的直线,与过A2点、复斜率等于k2的直线的交点:*)
  5. Jd[k1_, a1_, k2_, a2_] := -((k2 (a1 - k1 \!\(\*OverscriptBox[\(a1\), \(_\)]\)) - k1 (a2 - k2 \!\(\*OverscriptBox[\(a2\), \(_\)]\)))/(k1 - k2));
  6. \!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k1_, a1_, k2_, a2_] := -((a1 - k1 \!\(\*OverscriptBox[\(a1\), \(_\)]\) - (a2 - k2 \!\(\*OverscriptBox[\(a2\), \(_\)]\)))/(k1 - k2));
  7. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  8. d = Simplify@Jd[1, b, t^2, a]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[1, b, t^2, a];
  9. w = Simplify@Jd[-1, d, k[a, o], a]; \!\(\*OverscriptBox[\(w\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[-1, d, k[a, o], a];
  10. x = Simplify@Jd[-1, d, v^2, c]; \!\(\*OverscriptBox[\(x\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[-1, d, v^2, c];
  11. y = Simplify@Jd[-1, d, u^2, b] ; \!\(\*OverscriptBox[\(y\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[-1, d, u^2, b] ;
  12. WX[a_, b_, c_] := (a \!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + b \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + c \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a) )/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a));(*三角形 ABC 的外心坐标:*)   
  13. \!\(\*OverscriptBox[\(WX\), \(_\)]\)[a_, b_, c_] := -((a \!\(\*OverscriptBox[\(a\), \(_\)]\) (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) + b \!\(\*OverscriptBox[\(b\), \(_\)]\) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)) + c \!\(\*OverscriptBox[\(c\), \(_\)]\) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a)));
  14. o1 = Simplify@WX[a, x, y]; \!\(\*OverscriptBox[\(o1\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[a, x, y];
  15. \!\(\*OverscriptBox[\(to1\), \(_\)]\) = \!\(\*OverscriptBox[\(o1\), \(_\)]\);
  16. Jx[p_, a_, b_] := (\!\(\*OverscriptBox[\(a\), \(_\)]\) b - a \!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(p\), \(_\)]\) (a - b))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\));(*P点的镜线P1,镜线是AB*)
  17. \!\(\*OverscriptBox[\(Jx\), \(_\)]\)[p_, a_, b_] := (a \!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\) b + p (
  18. \!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)))/(a - b);
  19. z = Simplify@Jx[a, o, o1]; \!\(\*OverscriptBox[\(z\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jx\), \(_\)]\)[a, o, o1];
  20. \!\(\*OverscriptBox[\(tz\), \(_\)]\) = \!\(\*OverscriptBox[\(z\), \(_\)]\);
  21. mdw = (d + w)/2; \!\(\*OverscriptBox[\(mdw\), \(_\)]\) = (\!\(\*OverscriptBox[\(d\), \(_\)]\) + \!\(\*OverscriptBox[\(w\), \(_\)]\))/2;
  22. Simplify@Solve[{k[o, mdw] == 1}, {t}];
  23. t = Sqrt[u^4 v^4 + u^2 (v^2 - 1) - v^2]/Sqrt[u^4 v^2 + u^2 v^2 (v^2 - 1) - 1];
  24. o1 = Simplify[o1]; \!\(\*OverscriptBox[\(o1\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(to1\), \(_\)]\)]; Print["o1 = ", o1];
  25. z = Simplify[z]; \!\(\*OverscriptBox[\(z\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(tz\), \(_\)]\)]; Print["z = ", z];
  26. Print["OZ 的复斜率 kOZ = ", Simplify[k[o, z]]];
  27. Print["O1Z 的复斜率 kO1Z = ", Simplify[k[o1, z]]];
  28. Print["由于 kOZ = -kO1Z,所以 OZ 垂直于 O1Z,即 OZ 或 DZ 是圆O1 的切线。"];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-7-13 22:12
例 46:
证明 CH 平分角 ACB.png
程序代码:
  1. Clear["Global`*"];(*令B为坐标原点,C为 1 点*)
  2. \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 1; a = 1/2 + Sqrt[3]/2 I;
  3. \!\(\*OverscriptBox[\(a\), \(_\)]\) = 1/2 - Sqrt[3]/2 I; \!\(\*OverscriptBox[\(d\), \(_\)]\) = d;
  4. e = (1 - d/2) + d Sqrt[3]/2 I; \!\(\*OverscriptBox[\(e\), \(_\)]\) = (1 - d/2) - d Sqrt[3]/2 I;
  5. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  6. (*过A1点、复斜率等于k1的直线,与过A2点、复斜率等于k2的直线的交点:*)
  7. Jd[k1_, a1_, k2_, a2_] := -((k2 (a1 - k1 \!\(\*OverscriptBox[\(a1\), \(_\)]\)) - k1 (a2 - k2 \!\(\*OverscriptBox[\(a2\), \(_\)]\)))/(k1 - k2));
  8. \!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k1_, a1_, k2_, a2_] := -((a1 - k1 \!\(\*OverscriptBox[\(a1\), \(_\)]\) - (a2 - k2 \!\(\*OverscriptBox[\(a2\), \(_\)]\)))/(k1 - k2));
  9. f = Simplify@Jd[k[a, d], d, k[b, e], e]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, d], d, k[b, e], e];
  10. g = Simplify@Jd[k[c, f], f, k[d, e], e]; \!\(\*OverscriptBox[\(g\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[c, f], f, k[d, e], e];
  11. h = Simplify@Jd[k[b, g], d, k[a, g], e]; \!\(\*OverscriptBox[\(h\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[b, g], d, k[a, g], e];
  12. (*从AB边逆时针转到BC边的有向角\[Angle]ABC的角度值:*)
  13. \[Angle][a_, b_, c_] := ArcTan[(I (\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a)))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (b - c) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - 2 b + c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a))];
  14. Print["\[Angle]ACH = ", Simplify[\[Angle][a, c, h]]];
  15. Print["\[Angle]HCB = ", Simplify[\[Angle][h, c, b]]];
  16. Print["因此 CH 平分 \[Angle]ACB。"];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-7-15 08:15
例 47:
证明角BHK等于角BHC.png
程序代码:
  1. Clear["Global`*"];(*令△ABC的外接圆为单位圆,圆心O为坐标原点,且BC边平行于实轴,AB、AC的复斜率分别为 u^2、v^2 *)
  2. \!\(\*OverscriptBox[\(o\), \(_\)]\) = o = 0; a = I u v; \!\(\*OverscriptBox[\(a\), \(_\)]\) = 1/a; b = I u/v;
  3. \!\(\*OverscriptBox[\(b\), \(_\)]\) = 1/b; c = I v/u; \!\(\*OverscriptBox[\(c\), \(_\)]\) = 1/c;
  4. K[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  5. W1 = {d, \!\(\*OverscriptBox[\(d\), \(_\)]\)} /. Simplify@Solve[{(o - b) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) == (o - d) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)), K[a, d] == K[b, c]}, {d, \!\(\*OverscriptBox[\(d\), \(_\)]\)}] // Flatten ;
  6. d = Part[W1, 1]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Part[W1, 2];
  7. W2 = {p, \!\(\*OverscriptBox[\(p\), \(_\)]\)} /. Simplify@Solve[{K[a, p] == K[a, c], K[b, p] == K[b, d]}, {p, \!\(\*OverscriptBox[\(p\), \(_\)]\)}] // Flatten ; p = Part[W2, 1];
  8. \!\(\*OverscriptBox[\(p\), \(_\)]\) = Part[W2, 2];
  9. W3 = {e, \!\(\*OverscriptBox[\(e\), \(_\)]\)} /. Simplify@Solve[{K[a, e] == K[a, b], K[e, p] == -K[b, d]}, {e, \!\(\*OverscriptBox[\(e\), \(_\)]\)}] // Flatten; e = Part[W3, 1]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Part[W3, 2];
  10. W4 = {k, \!\(\*OverscriptBox[\(k\), \(_\)]\)} /. Simplify@Solve[{(o - b) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) == (o - k) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(k\), \(_\)]\)), K[d, e] == K[d, k]}, {k, \!\(\*OverscriptBox[\(k\), \(_\)]\)}] // Flatten;
  11. k = Part[W4, 1]; \!\(\*OverscriptBox[\(k\), \(_\)]\) = Part[W4, 2];
  12. W5 = {f, \!\(\*OverscriptBox[\(f\), \(_\)]\)} /. Simplify@Solve[{(o - b) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) == (o - f) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(f\), \(_\)]\)), K[b, d] == -K[a, f]}, {f, \!\(\*OverscriptBox[\(f\), \(_\)]\)}] // Flatten;
  13. f = Part[W5, 1]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Part[W5, 2];
  14. W6 = {h, \!\(\*OverscriptBox[\(h\), \(_\)]\)} /. Simplify@Solve[{K[b, h] == K[b, d], K[k, h] == K[k, f]}, {h, \!\(\*OverscriptBox[\(h\), \(_\)]\)}] // Flatten;
  15. h = Part[W6, 1]; \!\(\*OverscriptBox[\(h\), \(_\)]\) = Part[W6, 2];
  16. Simplify[K[h, k] K[h, c] == K[h, b]^2]
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-7-17 15:17
本帖最后由 TSC999 于 2023-7-17 15:30 编辑 例 48:
证明 FE、GH、BC 共点.png
程序代码:
  1. Clear["Global`*"]; (*设B在坐标原点,C在1点, kAB=u^2,kAC=1/v^2 *)
  2. \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 1; a = (u^2 (v^2 - 1))/( u^2 v^2 - 1);
  3. \!\(\*OverscriptBox[\(a\), \(_\)]\) = (v^2-1)/(u^2 v^2-1);  \!\(\*OverscriptBox[\(d\), \(_\)]\) = d; h = (u^2 + 1)/(1 - u^2 v^2);  
  4. \!\(\*OverscriptBox[\(h\), \(_\)]\) = ((u^2 + 1) v^2)/(u^2 v^2 - 1);
  5. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  6. W1 = {e, \!\(\*OverscriptBox[\(e\), \(_\)]\)} /. Simplify@Solve[{(d - e) (\!\(\*OverscriptBox[\(d\), \(_\)]\) - \!\(\*OverscriptBox[\(e\), \(_\)]\)) == (1 - d)^2, k[a, e] == k[a, c], e != c}, {e, \!\(\*OverscriptBox[\(e\), \(_\)]\)}] // Flatten;
  7. e = Part[W1, 1]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Part[W1, 2];
  8. W2 = {f, \!\(\*OverscriptBox[\(f\), \(_\)]\)} /. Simplify@Solve[{(d - f) (\!\(\*OverscriptBox[\(d\), \(_\)]\) - \!\(\*OverscriptBox[\(f\), \(_\)]\)) == d^2, k[a, f] == k[a, b],  f != b}, {f, \!\(\*OverscriptBox[\(f\), \(_\)]\)}] // Flatten;
  9. f = Part[W2, 1]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Part[W2, 2];
  10. (*AF的中点:*)mAF = (a + f)/2; \!\(\*OverscriptBox[\(mAF\), \(_\)]\) = (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(f\), \(_\)]\))/2; (*AE的中点:*)mAE = (a + e)/2; \!\(\*OverscriptBox[\(mAE\), \(_\)]\) = (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(e\), \(_\)]\))/2;
  11. W3 = {o, \!\(\*OverscriptBox[\(o\), \(_\)]\)} /. Simplify@Solve[{k[mAF, o] == -k[a, f], k[mAE, o] == -k[a, e]}, {o, \!\(\*OverscriptBox[\(o\), \(_\)]\)}] // Flatten;
  12. o = Part[W3, 1]; \!\(\*OverscriptBox[\(o\), \(_\)]\) =  Part[W3, 2]; (*设经过 AEF 的圆的圆心为 O *)
  13. W4 = {g, \!\(\*OverscriptBox[\(g\), \(_\)]\)} /. Simplify@Solve[{(o - a) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) == (o - g) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(g\), \(_\)]\)), k[a, g] == k[a, d]}, {g, \!\(\*OverscriptBox[\(g\), \(_\)]\)}] // Flatten;
  14. g = Part[W4, 1]; \!\(\*OverscriptBox[\(g\), \(_\)]\) = Part[W4, 2];
  15. W5 = {x, \!\(\*OverscriptBox[\(x\), \(_\)]\)} /. Simplify@Solve[{k[b, c] == k[c, x], k[f, e] == k[e, x]}, {x, \!\(\*OverscriptBox[\(x\), \(_\)]\)}] // Flatten;
  16. x = Part[W5, 1]; \!\(\*OverscriptBox[\(x\), \(_\)]\) = Part[W5, 2];(*设 BC 与 FE 的交点为 X*)
  17. W6 = {x1, \!\(\*OverscriptBox[\(x1\), \(_\)]\)} /. Simplify@Solve[{k[b, c] == k[c, x1], k[g, h] == k[h, x1]}, {x1, \!\(\*OverscriptBox[\(x1\), \(_\)]\)}] // Flatten;
  18. x1 = Part[W6, 1]; \!\(\*OverscriptBox[\(x1\), \(_\)]\) = Part[W6, 2];(*设 BC 与 GH 的交点为 X1*)
  19. Print["x 是否等于 x1: ", Simplify[x == x1]];
  20. Print["由于 x = x1,所以 FE、GH、BC 交于一点 X。"];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-7-19 17:57
本帖最后由 TSC999 于 2023-7-20 10:36 编辑 例 49:
今年奥数题.png
据说这是 2023 年的一道奥数题。
程序代码:
  1. Clear["Global`*"];(*u=\[ExponentialE]^(2\[ImaginaryI]\[Theta]);v=\[ExponentialE]^(2\[ImaginaryI]\[Beta]);*)
  2. \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 1; a = 1/2 + I Sqrt[3]/2;
  3. \!\(\*OverscriptBox[\(a\), \(_\)]\) = 1/a;
  4. (*u=\[ExponentialE]^(2\[ImaginaryI]\[Theta]);v=\[ExponentialE]^(2\[ImaginaryI]\[Beta])*)
  5. \[Angle]A1BC = \[Theta]; \[Angle]C1BA = \[Beta]; \[Angle]B1CA = \[Gamma]; \[Angle]BA1C = \[Pi] - 2 \[Theta];
  6. \[Angle]AB1C = \[Pi] - 2 \[Gamma]; \[Angle]AC1B = \[Pi] - 2 \[Beta];
  7. (*解 Solve[{\[Angle]BA1C+ \[Angle]AB1C+\[Angle]AC1B\[Equal](480\[Pi])/180},{\[Gamma]}]得到:*)
  8. \[Gamma] = \[Pi]/6 - \[Beta] - \[Theta];(*现在只剩二个变量 \[Beta] 和 \[Theta]*)
  9. kBA1 = u; kBC1 = E^(2 I (\[Pi]/3))/v; kCB1 = E^(2 I ((2 \[Pi])/3 + \[Gamma])); kCB1 = E^(2 I ((5 \[Pi])/6))/(u v);
  10. mBC = (b + c)/2; \!\(\*OverscriptBox[\(mBC\), \(_\)]\) = (\!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\))/2; mAB = (a + b)/2; \!\(\*OverscriptBox[\(mAB\), \(_\)]\) = (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(b\), \(_\)]\))/2; mAC = (a + c)/2;
  11. \!\(\*OverscriptBox[\(mAC\), \(_\)]\) = (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\))/2;
  12. K[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  13. (*过A1点、复斜率等于k1的直线,与过A2点、复斜率等于k2的直线的交点:*)
  14. 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));
  15. a1 = Simplify@Jd[kBA1, b, -K[b, c], mBC]; \!\(\*OverscriptBox[\(a1\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kBA1, b, -K[b, c], mBC]; Print["A1 = ", a1];
  16. b1 = Simplify@Jd[kCB1, c, -K[a, c], mAC]; \!\(\*OverscriptBox[\(b1\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kCB1, c, -K[a, c], mAC]; Print["B1 = ", b1];
  17. c1 = Simplify@Jd[kBC1, b, -K[a, b], mAB]; \!\(\*OverscriptBox[\(c1\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kBC1, b, -K[a, b], mAB]; Print["C1 = ", c1];
  18. a2 = Simplify@Jd[K[b, c1], c1, K[c, b1], b1]; \!\(\*OverscriptBox[\(a2\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[K[b, c1], c1, K[c, b1], b1];Print["A2 = ", a2];
  19. c2 = Simplify@Jd[K[b, a1], a1, K[a, b1], b1]; \!\(\*OverscriptBox[\(c2\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[K[b, a1], a1, K[a, b1], b1];Print["C2 = ", c2];
  20. b2 = Simplify@Jd[K[a, c1], c1, K[c, a1], a1]; \!\(\*OverscriptBox[\(b2\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[K[a, c1], c1, K[c, a1], a1];Print["B2 = ", b2];
  21. Waixin[a_, b_, c_] := (a \!\(\*OverscriptBox[\(a\), \(_\)]\) (b - c) + b \!\(\*OverscriptBox[\(b\), \(_\)]\) (c - a) + c \!\(\*OverscriptBox[\(c\), \(_\)]\) (a - b) )/( \!\(\*OverscriptBox[\(a\), \(_\)]\) (b - c) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (c - a) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (a - b));
  22. \!\(\*OverscriptBox[\(Waixin\), \(_\)]\)[a_, b_, c_] := -((a \!\(\*OverscriptBox[\(a\), \(_\)]\) (\!\(\*OverscriptBox[\(b\), \(_\)]\)-\!\(\*OverscriptBox[\(c\), \(_\)]\)) + b \!\(\*OverscriptBox[\(b\), \(_\)]\) (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) + c \!\(\*OverscriptBox[\(c\), \(_\)]\) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) )/( \!\(\*OverscriptBox[\(a\), \(_\)]\) (b - c) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (c - a) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (a - b)));
  23. o1 = Simplify@Waixin[a, a1, a2]; \!\(\*OverscriptBox[\(o1\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Waixin\), \(_\)]\)[a, a1, a2];
  24. o2 = Simplify@Waixin[b, b1, b2]; \!\(\*OverscriptBox[\(o2\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Waixin\), \(_\)]\)[b, b1, b2];
  25. o3 = Simplify@Waixin[c, c1, c2]; \!\(\*OverscriptBox[\(o3\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Waixin\), \(_\)]\)[c, c1, c2];
  26. Print["O1 = ", o1]; Print["O2 = ", o2]; Print["O3 = ", o3];
  27. XiangjiaoxuanLianxin[o1_, a_, o2_, b_] := (a \!\(\*OverscriptBox[\(a\), \(_\)]\) - b \!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(b\), \(_\)]\) o2 + b \!\(\*OverscriptBox[\(o2\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\) o1 - a \!\(\*OverscriptBox[\(o1\), \(_\)]\) + \!\(\*OverscriptBox[\(o2\), \(_\)]\) o1 - o2 \!\(\*OverscriptBox[\(o1\), \(_\)]\))/(2 (\!\(\*OverscriptBox[\(o2\), \(_\)]\) - \!\(\*OverscriptBox[\(o1\), \(_\)]\)));
  28. \!\(\*OverscriptBox[\(XiangjiaoxuanLianxin\), \(_\)]\)[o1_, a_,  o2_,   b_] := (a \!\(\*OverscriptBox[\(a\), \(_\)]\) - b \!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(b\), \(_\)]\) o2 + b \!\(\*OverscriptBox[\(o2\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\) o1 - a \!\(\*OverscriptBox[\(o1\), \(_\)]\) + o2 \!\(\*OverscriptBox[\(o1\), \(_\)]\) - \!\(\*OverscriptBox[\(o2\), \(_\)]\) o1)/(2 (o2 - o1));
  29. (*两圆连心线与公共弦的交点P,O1、O2是两圆圆心,A是O1上任一点,B是O2上任一点。如果两圆相切的,所求交点即是切点*)
  30. m = Simplify@XiangjiaoxuanLianxin[o1, a, o2, b];
  31. m1 = Simplify@XiangjiaoxuanLianxin[o1, a, o3, c];
  32. SimpleFuc :=
  33.   Factor[#, Extension -> Sqrt[3]] &@(FactorTerms[Numerator[#]]/
  34.       FactorTerms[Denominator[#]]) &@Factor[#, Extension -> Sqrt[3]] &;
  35. Print["M = ", SimpleFuc[m]];
  36. Print["M1 = ", SimpleFuc[m1]];
  37. Print["由于 M 和 M1 点的坐标相同,即圆O1、圆O2的根轴中心与圆O1、圆O3的根轴中心重合,因此三个圆只有两个公共交点。"];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-7-22 06:29
例 50:
证明 O 是外心解答.png
程序代码:
  1. Clear["Global`*"]; (*设A在坐标原点,C在1点, kAB=u^2,kBC=1/v^2 *)
  2. \!\(\*OverscriptBox[\(a\), \(_\)]\) = a = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 1; b = (u^2 (v^2 - 1))/( u^2 v^2 - 1);
  3. \!\(\*OverscriptBox[\(b\), \(_\)]\) = (v^2 - 1)/( u^2 v^2 - 1);(*设 \[Lambda]=AF/AB, \[Mu]=AE/AC, \[Nu]=CD/CB *) o = (u^2 v^2)/(u^2 v^2 - 1); \!\(\*OverscriptBox[\(o\), \(_\)]\) = 1/( 1 - u^2 v^2);(*三角形 ABC 的外心坐标*)   
  4. f = \[Lambda] b; \!\(\*OverscriptBox[\(f\), \(_\)]\) = \[Lambda] \!\(\*OverscriptBox[\(b\), \(_\)]\); e = \[Mu] c;
  5. \!\(\*OverscriptBox[\(e\), \(_\)]\) = \[Mu] \!\(\*OverscriptBox[\(c\), \(_\)]\); d = \[Nu] b + (1 - \[Nu]) c;  
  6. \!\(\*OverscriptBox[\(d\), \(_\)]\) = \[Nu] \!\(\*OverscriptBox[\(b\), \(_\)]\) + (1 - \[Nu]) \!\(\*OverscriptBox[\(c\), \(_\)]\);
  7. WX[a_, b_, c_] := (a \!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + b \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + c \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a) )/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a));(*由三角形顶点求其外心坐标*)   
  8. \!\(\*OverscriptBox[\(WX\), \(_\)]\)[a_, b_, c_] := -((a \!\(\*OverscriptBox[\(a\), \(_\)]\) (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) + b \!\(\*OverscriptBox[\(b\), \(_\)]\) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)) + c \!\(\*OverscriptBox[\(c\), \(_\)]\) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a)));
  9. oa = Simplify@WX[a, e, f]; \!\(\*OverscriptBox[\(oa\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[a, e, f];(*圆AEF的圆心坐标*)   
  10. ob = Simplify@WX[b, d, f]; \!\(\*OverscriptBox[\(ob\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[b, d, f];(*圆BDF的圆心坐标*)   
  11. oc = Simplify@WX[c, d, e]; \!\(\*OverscriptBox[\(oc\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[c, d, e];(*圆CDE的圆心坐标*)   
  12. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  13. Simplify@Solve[{(oc - c) (\!\(\*OverscriptBox[\(oc\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)) == (oa - a) (\!\(\*OverscriptBox[\(oa\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) == (ob - b) (\!\(\*OverscriptBox[\(ob\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\))}, {\[Mu], \[Nu]}];(*由三个小圆半径相等来求\[Mu]、\[Nu]与\[Lambda]的关系*)
  14. \[Mu] = -((\[Lambda] + \[Lambda] (-u^2) v^4 + (\[Lambda] - 1) (u^2 - 1) v^2)/((v^2 + 1) (u^2 v^2 - 1))); \[Nu] = (\[Lambda] +  u^2 (\[Lambda] - (\[Lambda] - 1) v^2) - \[Lambda] v^2 -   1)/((u^2 - 1) (v^2 + 1));
  15. e = \[Mu] c; \!\(\*OverscriptBox[\(e\), \(_\)]\) = \[Mu] \!\(\*OverscriptBox[\(c\), \(_\)]\); d = \[Nu] b + (1 - \[Nu]) c;  
  16. \!\(\*OverscriptBox[\(d\), \(_\)]\) = \[Nu] \!\(\*OverscriptBox[\(b\), \(_\)]\) + (1 - \[Nu]) \!\(\*OverscriptBox[\(c\), \(_\)]\);(*将 \[Mu]、\[Nu] 与 \[Lambda] 的关系代回 E、D 点的坐标,消去 \[Mu]、\[Nu] 参数 *)
  17. Print["AEFO 是否四点共圆:", Simplify[k[e, f]/k[e, o] == k[a, f]/k[a, o]]];(*如果圆周角\[Angle]OEF=\[Angle]OAF,则四点共圆*)   
  18. Print["CDEO 是否四点共圆:", Simplify[k[d, e]/k[d, o] == k[c, e]/k[c, o]]];(*如果圆周角\[Angle]ODE=\[Angle]OCE,则四点共圆*)   
  19. Print["BDFO 是否四点共圆:", Simplify[k[b, o]/k[b, f] == k[d, o]/k[d, f]]];(*如果圆周角\[Angle]FBO=\[Angle]FDO,则四点共圆*)   
  20. Print["因此,只要三个小圆大小相同,它们一定都通过三角形ABC的外心。"];
复制代码

手机版|悠闲数学娱乐论坛(第3版)

GMT+8, 2025-3-4 11:56

Powered by Discuz!

× 快速回复 返回顶部 返回列表