数学中国

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

O,H是△ABC的外心和垂心,E=AB∩OH,F=AC∩OH,圆S=圆AEF,P=圆O......证明圆X与圆O相切。

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

O、H 分别是 △ABC 的外心和垂心。E=AB ∩ OH,F=AC ∩ OH,圆S = 圆AEF,P = 圆O ∩ 圆S,
圆M = 圆OSP,D= 圆M ∩ OH,Q= 圆M ∩ 圆O,N=OH ∩ PQ,G=圆O ∩ QD,圆X= 圆HNG。
证明:圆X 与圆O 相切于 G。

本帖子中包含更多资源

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

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

程序代码:
  1. Clear["Global`*"]; (*令△ABC的外接圆为单位圆O,BC边平行于实轴,AB、AC的复斜率分别为 u^2、v^2 *)
  2. \!\(\*OverscriptBox[\(o\), \(_\)]\) = o = 0; a = I u v;   \!\(\*OverscriptBox[\(a\), \(_\)]\) = 1/(I u v); b = (I u)/v;  
  3. \!\(\*OverscriptBox[\(b\), \(_\)]\) = v/(I u);  c = (I v)/u;  \!\(\*OverscriptBox[\(c\), \(_\)]\) = u/(I v);
  4. h = (I ((v^2 + 1) u^2 + v^2))/(u v); \!\(\*OverscriptBox[\(h\), \(_\)]\) = -((I (u^2 + v^2 + 1))/(u v));
  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));\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k1_, a1_, k2_, a2_] := -((a1 - k1 \!\(\*OverscriptBox[\(a1\), \(_\)]\) - (a2 - k2 \!\(\*OverscriptBox[\(a2\), \(_\)]\)))/(k1 - k2));
  8. e = Simplify@Jd[k[a, b], a, k[o, h], o]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, b], a, k[o, h], o];
  9. f = Simplify@Jd[k[a, c], a, k[o, h], o]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, c], a, k[o, h], o];
  10. 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 的外心坐标:*)   
  11. \!\(\*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));
  12. s = Simplify@WX[a, e, f]; \!\(\*OverscriptBox[\(s\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[a, e, f];
  13. W1 = {p,\!\(\*OverscriptBox[\(p\), \(_\)]\)} /. Simplify@Solve[{(o - p) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(p\), \(_\)]\)) == 1, (s - p) (\!\(\*OverscriptBox[\(s\), \(_\)]\) - \!\(\*OverscriptBox[\(p\), \(_\)]\)) == (s - a) (\!\(\*OverscriptBox[\(s\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)), p != a}, {p, \!\(\*OverscriptBox[\(p\), \(_\)]\)}] // Flatten;
  14. p = Part[W1, 1]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Part[W1, 2];
  15. m = Simplify@WX[o, s, p]; \!\(\*OverscriptBox[\(m\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[o, s, p];
  16. W2 = {q, \!\(\*OverscriptBox[\(q\), \(_\)]\)} /. Simplify@Solve[{(o - q) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(q\), \(_\)]\)) == 1, (m - q) (\!\(\*OverscriptBox[\(m\), \(_\)]\) - \!\(\*OverscriptBox[\(q\), \(_\)]\)) == (m - o) (\!\(\*OverscriptBox[\(m\), \(_\)]\) - \!\(\*OverscriptBox[\(o\), \(_\)]\)), q != p}, {q, \!\(\*OverscriptBox[\(q\), \(_\)]\)}] // Flatten;
  17. q = Part[W2, 1]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Part[W2, 2];
  18. W3 = {d, \!\(\*OverscriptBox[\(d\), \(_\)]\)} /. Simplify@Solve[{k[o, h] == k[o, d], (m - d) (\!\(\*OverscriptBox[\(m\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)) == (m - o) (\!\(\*OverscriptBox[\(m\), \(_\)]\) - \!\(\*OverscriptBox[\(o\), \(_\)]\))}, {d, \!\(\*OverscriptBox[\(d\), \(_\)]\)}] // Flatten;
  19. d = Part[W3, 1]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Part[W3, 2];
  20. W4 = {g, \!\(\*OverscriptBox[\(g\), \(_\)]\)} /. Simplify@Solve[{k[q, g] == k[q, d], (o - g) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(g\), \(_\)]\)) == 1}, {g, \!\(\*OverscriptBox[\(g\), \(_\)]\)}] // Flatten;
  21. g = Part[W4, 1]; \!\(\*OverscriptBox[\(g\), \(_\)]\) = Part[W4, 2];
  22. n = Simplify@Jd[k[p, q], p, k[o, h], o]; \!\(\*OverscriptBox[\(n\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[p, q], p, k[o, h], o];
  23. x = Simplify@WX[h, n, g]; \!\(\*OverscriptBox[\(x\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[h, n, g];
  24. Print["直线 OX 的复斜率 kOX = ", Simplify[k[o, x]]];
  25. Print["直线 OG 的复斜率 kOG = ", Simplify[k[o, g]]];
  26. Print["由于 kOX = kOG,所以 O、X、G 三点共线,故圆X 与圆O 相切于 G。 "];
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-10-17 10:26 | 显示全部楼层
本帖最后由 天山草 于 2023-10-17 10:33 编辑

这个题体现了采用复斜率概念的复平面解析几何的一个特点,就是环环相扣、依次求出各点的坐标。而求坐标过程往往是不需要思考的(有的情况除外),只需按步就班套公式就行了。因此程序虽然看起来很长,其实语句都是类似的,只须复制改写即可,并不需要太多动脑子。但是如果坐标表达式中出现根式,有可能会给后续解题进程带来麻烦。
对于上面这个题,需要求解的点的坐标虽然很多,好在全都没有根式出现,所以解题过程是很顺利的。
网友如果需要看看具体一个点的坐标表达是什么样的,可以自行在程序中添加打印语句。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-21 07:13 , Processed in 0.078634 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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