数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 2872|回复: 1

凸四边形ADBC内接于圆M,AB是圆的直径.E,F分别是AC,BD的中点.....,证明NTPQ四点共圆。

[复制链接]
发表于 2023-10-9 19:04 | 显示全部楼层 |阅读模式
本帖最后由 天山草 于 2023-10-9 19:05 编辑

凸四边形 ADBC 内接于圆M,AB 是圆的直径。E、F 分别是 AC、BD 的中点。
H = BC∩FE,G = DA∩FE,以 EH 为直径的圆O1 和以 FG 为直径的圆O2 交于 P、Q 两点。
T = CD∩AB,N = QM∩圆MDC。证明 NTPQ 四点共圆。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2023-10-9 19:09 | 显示全部楼层
本帖最后由 天山草 于 2023-10-9 19:19 编辑

程序代码:
  1. Clear["Global`*"];
  2. \!\(\*OverscriptBox[\(m\), \(_\)]\) = m = 0; \!\(\*OverscriptBox[\(a\), \(_\)]\) = a = -1;
  3. \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 1; kAC = u^2; kBC = -u^2; \!\(\*OverscriptBox[\(t\), \(_\)]\) = t;
  4. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  5. (*过A1点、复斜率等于k1的直线,与过A2点、复斜率等于k2的直线的交点:*)
  6. 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));
  7. c = Simplify@Jd[kAC, a, kBC, b]; \!\(\*OverscriptBox[\(c\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kAC, a, kBC, b];
  8. W1 = {d, \!\(\*OverscriptBox[\(d\), \(_\)]\)} /. Simplify@Solve[{(m - d) (\!\(\*OverscriptBox[\(m\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)) == 1, k[c, d] == k[c, t]}, {d, \!\(\*OverscriptBox[\(d\), \(_\)]\)}] // Flatten;
  9. d = Part[W1, 1]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Part[W1, 2];
  10. e = (a + c)/2; \!\(\*OverscriptBox[\(e\), \(_\)]\) = (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\))/2; f = (b + d)/2; \!\(\*OverscriptBox[\(f\), \(_\)]\) = (\!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(d\), \(_\)]\))/2;
  11. h = Simplify@Jd[k[b, c], c, k[f, e], e]; \!\(\*OverscriptBox[\(h\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[b, c], c, k[f, e], e];
  12. g = Simplify@Jd[k[d, a], a, k[f, e], e]; \!\(\*OverscriptBox[\(g\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[d, a], a, k[f, e], e];
  13. o1 = (e + h)/2; \!\(\*OverscriptBox[\(o1\), \(_\)]\) = (\!\(\*OverscriptBox[\(e\), \(_\)]\) + \!\(\*OverscriptBox[\(h\), \(_\)]\))/2; o2 = (g + f)/2; \!\(\*OverscriptBox[\(o2\), \(_\)]\) = (\!\(\*OverscriptBox[\(g\), \(_\)]\) + \!\(\*OverscriptBox[\(f\), \(_\)]\))/2;
  14. W2 = {z, \!\(\*OverscriptBox[\(z\), \(_\)]\)} /. Simplify@Solve[{(o1 - c) (\!\(\*OverscriptBox[\(o1\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)) == (o1 - z) (\!\(\*OverscriptBox[\(o1\), \(_\)]\) - \!\(\*OverscriptBox[\(z\), \(_\)]\)), (o2 - d) (\!\(\*OverscriptBox[\(o2\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)) == (o2 - z) (\!\(\*OverscriptBox[\(o2\), \(_\)]\) - \!\(\*OverscriptBox[\(z\), \(_\)]\))}, {z, \!\(\*OverscriptBox[\(z\), \(_\)]\)}] // Flatten;
  15. p = Part[W2, 1]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Part[W2, 2]; q = Part[W2, 3]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Part[W2, 4];
  16. 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 的外心坐标:*)   
  17. \!\(\*OverscriptBox[\(WX\), \(_\)]\)[a_, b_, c_] := (\!\(\*OverscriptBox[\(a\), \(_\)]\) \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) \!\(\*OverscriptBox[\(a\), \(_\)]\) (c - a))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a));
  18. o3 = Simplify@WX[d, c, m]; \!\(\*OverscriptBox[\(o3\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[d, c, m];
  19. Print["c = ", c, ",  d = ", d, ",  h = ", h, ",  g = ", g];
  20. W3 = {n, \!\(\*OverscriptBox[\(n\), \(_\)]\)} /. Simplify@Solve[{(o3 - m) (\!\(\*OverscriptBox[\(o3\), \(_\)]\) - \!\(\*OverscriptBox[\(m\), \(_\)]\)) == (o3 - n) (\!\(\*OverscriptBox[\(o3\), \(_\)]\) - \!\(\*OverscriptBox[\(n\), \(_\)]\)), k[q, m] == k[q, n], n != m}, {n,
  21. \!\(\*OverscriptBox[\(n\), \(_\)]\)}] // Flatten;
  22. n = Part[W3, 1]; \!\(\*OverscriptBox[\(n\), \(_\)]\) = Part[W3, 2];
  23. Print["o3 = ", o3, ",  p = ", p, ",  q = ", q, ",  n = ", n];
  24. Print["复斜率 kQT/kQP = ", Simplify[k[q, t]/k[q, p]]];
  25. Print["复斜率 kNT/kNP = ", Simplify[k[n, t]/k[n, p]]];
  26. Print["由于 kQT/kQP = kNT/kNP,所以 \[Angle]TQP = \[Angle]TNP,故 NTPQ 四点共圆 "];
复制代码


程序运行结果:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2025-6-21 09:44 , Processed in 0.082520 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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