数学中国

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

有三个相似形的几何题

[复制链接]
发表于 2023-3-8 21:50 | 显示全部楼层 |阅读模式
本帖最后由 天山草 于 2023-3-8 21:56 编辑

下面这个几何题来自网上,原题做法比较复杂。下面用不用太耗费脑细胞的解析法做。



构图和设点: 将B点置于坐标系原点,BC 与实轴重合,C 点坐标为 1。

用 mathematica 写的计算程序如下:



程序运行结果:(大概需要运行 5 秒钟)

本帖子中包含更多资源

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

x
 楼主| 发表于 2023-3-8 22:02 | 显示全部楼层
本帖最后由 天山草 于 2023-3-9 10:17 编辑
  1. Clear["Global`*"];
  2. (*将B点置于坐标系原点,C点坐标为1,AB的复斜率为kAB=u^4,AC的复斜率为kAC=1/v^4*)
  3. \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 1; a = (u^4 (v^4 - 1))/( u^4 v^4 - 1);
  4. \!\(\*OverscriptBox[\(a\), \(_\)]\) = (v^4 - 1)/( u^4 v^4 - 1); (*\[EmptyUpTriangle]ABC的顶点坐标*)
  5. i = (u^2 (v^2 - 1))/(u^2 v^2 - 1); \!\(\*OverscriptBox[\(i\), \(_\)]\) = (v^2 - 1)/( u^2 v^2 - 1); (*\[EmptyUpTriangle]ABC的内心坐标*) t1 = ( u^2 (u^2 + 1) (v^2 - 1))/(2 (u^2 v^2 - 1));  
  6. \!\(\*OverscriptBox[\(t1\), \(_\)]\) = ((u^2 + 1) (v^2 - 1))/( 2 u^2 (u^2 v^2 - 1));   (*在此构图下,有上面的已知公式可引用*)
  7. e = \[Lambda] a; \!\(\*OverscriptBox[\(e\), \(_\)]\) = \[Lambda] \!\(\*OverscriptBox[\(a\), \(_\)]\); (*设E点坐标,\[Lambda]是0到1之间的正实数*)Print["E = ", e];
  8. Jx[p_, a_, b_] := (\!\(\*OverscriptBox[\(a\), \(_\)]\) b - a \!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(p\), \(_\)]\) (a - b))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\));(* P 点关于镜线的像,镜线过已知点 A、B *)
  9. \!\(\*OverscriptBox[\(Jx\), \(_\)]\)[p_, a_, b_] := (a \!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\) b + p (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)))/(a - b);
  10. t = Simplify@Jx[t1, e, i]; \!\(\*OverscriptBox[\(t\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jx\), \(_\)]\)[t1, e, i]; Print["T = ", t];
  11. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\));(*复斜率定义*)
  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. (*复斜率等于k1且经过A1点的直线,与复斜率等于k2且经过A2点的直线,两直线的交点*)
  15. f = Simplify@Jd[k[a, c], a, k[e, t], e]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, c], a, k[e, t], e];
  16. Print["F = ", f];Yuan[zz_, aa_, bb_, cc_] :=  Simplify[( (zz - cc) (aa - bb))/( (zz - bb) (aa - cc)) - ( (\!\(\*OverscriptBox[\(zz\), \(_\)]\) - \!\(\*OverscriptBox[\(cc\), \(_\)]\)) (\!\(\*OverscriptBox[\(aa\), \(_\)]\) - \!\(\*OverscriptBox[\(bb\), \(_\)]\)))/( (\!\(\*OverscriptBox[\(zz\), \(_\)]\) - \!\(\*OverscriptBox[\(bb\), \(_\)]\)) (\!\(\*OverscriptBox[\(aa\), \(_\)]\) -
  17. \!\(\*OverscriptBox[\(cc\), \(_\)]\)))];  (* 此表达式 = 0 即是经过三点 AA、BB、CC \的圆方程,要求的未知点坐标是 ZZ *)
  18. W1 = {j, \!\(\*OverscriptBox[\(j\), \(_\)]\)} /.    Simplify@    Solve[{Yuan[j, a, e, f] == 0, Yuan[j, a, b, c] == 0, j != a}, {j,
  19. \!\(\*OverscriptBox[\(j\), \(_\)]\)}] // Flatten;
  20. j = Part[W1, 1]; \!\(\*OverscriptBox[\(j\), \(_\)]\) = Part[W1, 2];  Print["J = ", j];
  21. W2 = {p, \!\(\*OverscriptBox[\(p\), \(_\)]\)} /.     Simplify@     Solve[{Yuan[p, a, b, c] == 0, k[i, p] == k[i, j], p != j}, {p,
  22. \!\(\*OverscriptBox[\(p\), \(_\)]\)}] // Flatten;
  23. p = Part[W2, 1]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Part[W2, 2];  Print["P = ", p];
  24. W3 = {q, \!\(\*OverscriptBox[\(q\), \(_\)]\)} /.     Simplify@     Solve[{Yuan[q, a, e, f] == 0, k[i, q] == k[i, j], q != j}, {q,
  25. \!\(\*OverscriptBox[\(q\), \(_\)]\)}] // Flatten;q = Part[W3, 1];
  26. \!\(\*OverscriptBox[\(q\), \(_\)]\) = Part[W3, 2];  Print["Q = ", q];
  27. W4 = {m, \!\(\*OverscriptBox[\(m\), \(_\)]\)} /.     Simplify@     Solve[{Yuan[m, a, b, c] == 0, k[i, m] == k[i, a], m != a}, {m,
  28. \!\(\*OverscriptBox[\(m\), \(_\)]\)}] // Flatten;
  29. m = Part[W4, 1]; \!\(\*OverscriptBox[\(m\), \(_\)]\) = Part[W4, 2];  Print["M = ", m];
  30. W5 = {n, \!\(\*OverscriptBox[\(n\), \(_\)]\)} /.     Simplify@     Solve[{Yuan[n, a, e, f] == 0, k[i, n] == k[i, a], n != a}, {n,
  31. \!\(\*OverscriptBox[\(n\), \(_\)]\)}] // Flatten; n = Part[W5, 1]; \!\(\*OverscriptBox[\(n\), \(_\)]\) = Part[W5, 2];  Print["N = ", n];
  32. S[a_, b_] := (a - b) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\));(*两点间的距离平方*)
  33. Print["测试\[EmptyUpTriangle]BJE∽\[EmptyUpTriangle]CJF是否成立:"]
  34. Simplify[S[j, e]/S[j, f] == S[e, b]/S[f, c] == S[j, b]/  S[j, c]](*测试\[EmptyUpTriangle]BJE∽\[EmptyUpTriangle]CJF是否成立*)
  35. Print["测试\[EmptyUpTriangle]QEF∽\[EmptyUpTriangle]PCB是否成立:"]
  36. Simplify[S[q, e]/S[p, c] == S[q, f]/S[p, b] == S[e, f]/  S[b, c]](*测试\[EmptyUpTriangle]QEF∽\[EmptyUpTriangle]PCB是否成立*)
  37. Print["测试\[EmptyUpTriangle]NEF∽\[EmptyUpTriangle]MBC是否成立:"]
  38. Simplify[S[e, n]/S[b, m] == S[n, f]/S[m, c] == S[e, f]/  S[b, c]](*测试\[EmptyUpTriangle]NEF∽\[EmptyUpTriangle]MBC是否成立*)   
  39. Print["测试 NE = NF 是否成立:"]
  40. Simplify[S[n, e] == S[n, f]](*测试 NE = NF 是否成立*)
  41. Print["测试 \[ExponentialE]^2\[ImaginaryI]\[Angle]BJI = \[ExponentialE]^2\[ImaginaryI]\[Angle]FJI 是否成立,如果成立则 \[Angle]BJI = \[Angle]FJI:"];
  42. Simplify[k[j, i]/k[j, b] == k[j, f]/k[j, i]]
复制代码
回复 支持 反对

使用道具 举报

发表于 2023-3-10 22:06 | 显示全部楼层
用线段平方比例固然可以,但用向量商更直接

点评

证明相似,用向量商方法就是比较两个三角形的三个相应角度相等吧? 用线段平方比,则是比较两个三角形的相应边长的比相等。  发表于 2023-3-11 10:08
回复 支持 反对

使用道具 举报

发表于 2023-3-11 21:26 | 显示全部楼层
假设\(\triangle ABC\)与\(\triangle A_1B_1C_1\)顺相似,∠B=∠B1则\(\frac{\overrightarrow{BA}}{\overrightarrow{BC}}=\frac{\overrightarrow{B_1A_1}}{\overrightarrow{B_1C_1}}\)
假设\(\triangle ABC\)与\(\triangle A_1B_1C_1\)逆相似,∠B=∠B1,则\(\overline{\left( \frac{\overrightarrow{BA}}{\overrightarrow{BC}}\right)}=\frac{\overrightarrow{B_1A_1}}{\overrightarrow{B_1C_1}}\)
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-24 21:04 , Processed in 0.128902 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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