找回密码
 快速注册
搜索
查看: 261|回复: 49

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

[复制链接]

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

TSC999 发表于 2023-8-28 18:22 |阅读模式
例 1:
倒数差题图与解答.png
程序代码:
  1. Clear["Global`*"];(*将D点坐标作为变量*)
  2. \!\(\*OverscriptBox[\(o\), \(_\)]\) = o = 0; p = -3 - I Sqrt[3]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = -3 + I Sqrt[3];  
  3. \!\(\*OverscriptBox[\(a\), \(_\)]\) = a = -6; b = -3 - 3 Sqrt[3] I; \!\(\*OverscriptBox[\(b\), \(_\)]\) = -3 + 3 Sqrt[3] I;
  4. \!\(\*OverscriptBox[\(d\), \(_\)]\) = d;
  5. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  6. (*已知圆上某弦的端点坐标及弦上或其延长线上任一点坐标,求弦的另一端点坐标:*)
  7. c = Simplify[-(\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(p\), \(_\)]\)) k[b, d] + p];
  8. \!\(\*OverscriptBox[\(c\), \(_\)]\) = Simplify[-(b - p)/k[b, d] + \!\(\*OverscriptBox[\(p\), \(_\)]\)];
  9. W1 = {e, \!\(\*OverscriptBox[\(e\), \(_\)]\)} /. Simplify@Solve[{-k[p, c] == k[e, c], 1 == k[o, e]}, {e, \!\(\*OverscriptBox[\(e\), \(_\)]\)}] // Flatten;
  10. e = Part[W1, 1]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = e;
  11. W2 = {d, \!\(\*OverscriptBox[\(d\), \(_\)]\)} /. Simplify@Solve[{k[a, c]/k[a, e] == k[b, o]/k[b, e], -3 < d < 0}, {d, \!\(\*OverscriptBox[\(d\), \(_\)]\)}] // Flatten ;
  12. d = Part[W2, 1]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = d; e = Part[W1, 1];(*算出E点坐标的数值*)
  13. Simplify[1/Abs[o - d] - 1/Abs[o - e]]
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-8-28 22:11
例 2:
三弦交于一点题图与解答.png
程序代码:
  1. Clear["Global`*"];(* 令O圆为单位圆且圆心在坐标原点,O1圆的圆心在负实轴上,坐标为 o1=-t *)
  2. (* O圆半径为1,O1圆半径为R1,O2圆半径为R2,O2圆的圆心坐标为 o2=u+v\[ImaginaryI] *)
  3. \!\(\*OverscriptBox[\(o\), \(_\)]\) = o = 0; \!\(\*OverscriptBox[\(o1\), \(_\)]\) = o1 = -t; o2 = u + v I;  
  4. \!\(\*OverscriptBox[\(o2\), \(_\)]\) = u - v I;
  5. (*圆O与圆O1的交点:*)
  6. W1 = {z, \!\(\*OverscriptBox[\(z\), \(_\)]\)} /. Simplify@Solve[{(z - o1) (\!\(\*OverscriptBox[\(z\), \(_\)]\) - \!\(\*OverscriptBox[\(o1\), \(_\)]\)) == R1^2, (z - o) (\!\(\*OverscriptBox[\(z\), \(_\)]\) - \!\(\*OverscriptBox[\(o\), \(_\)]\)) == 1}, {z, \!\(\*OverscriptBox[\(z\), \(_\)]\)}] // Flatten ;
  7. a = Part[W1, 3]; \!\(\*OverscriptBox[\(a\), \(_\)]\) = Part[W1, 4]; b = Part[W1, 1]; \!\(\*OverscriptBox[\(b\), \(_\)]\) = Part[W1, 2];
  8. (*O1与O2圆的交点:*)
  9. W2 = {z, \!\(\*OverscriptBox[\(z\), \(_\)]\)} /. Simplify@Solve[{(z - o1) (\!\(\*OverscriptBox[\(z\), \(_\)]\) - \!\(\*OverscriptBox[\(o1\), \(_\)]\)) == R1^2, (z - o2) (\!\(\*OverscriptBox[\(z\), \(_\)]\) - \!\(\*OverscriptBox[\(o2\), \(_\)]\)) == R2^2}, {z, \!\(\*OverscriptBox[\(z\), \(_\)]\)}] // Flatten ;
  10. e = Part[W2, 3]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Part[W2, 4]; f = Part[W2, 1]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Part[W2, 2];
  11. (*圆O与圆O2的交点:*)
  12. W3 = {z, \!\(\*OverscriptBox[\(z\), \(_\)]\)} /. Simplify@Solve[{(z - o) (\!\(\*OverscriptBox[\(z\), \(_\)]\) - \!\(\*OverscriptBox[\(o\), \(_\)]\)) == 1, (z - o2) (\!\(\*OverscriptBox[\(z\), \(_\)]\) - \!\(\*OverscriptBox[\(o2\), \(_\)]\)) == R2^2}, {z, \!\(\*OverscriptBox[\(z\), \(_\)]\)}] // Flatten ;
  13. c = Part[W3, 3]; \!\(\*OverscriptBox[\(c\), \(_\)]\) = Part[W3, 4]; d = Part[W3, 1]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Part[W3, 2];
  14. (*四个点确定的两条直线的交点:*)
  15. 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));
  16. Print["AB与CD的交点 P1 的坐标 = ", p1 = Simplify@Jd1[a, b, c, d]];
  17. Print["AB与EF的交点 P2 的坐标 = ", p2 = Simplify@Jd1[a, b, e, f]];
  18. Print["由于 P1 的坐标与 P2 的坐标相同,所以这两点重合,即 AB、CD、EF 三线交于一点。"];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-8-30 20:51
本帖最后由 TSC999 于 2023-8-31 07:38 编辑 例 3:
证明角度关系题与解答.png
程序代码:
  1. Clear["Global`*"];
  2. \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 1; \!\(\*OverscriptBox[\(d\), \(_\)]\) = d = 2; a = 1/2 + u I; \!\(\*OverscriptBox[\(a\), \(_\)]\) = 1/2 - u I;
  3. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  4. W1 = {e, \!\(\*OverscriptBox[\(e\), \(_\)]\)} /. Simplify@ Solve[{k[e, c]/k[e, a] k[b, a]/k[b, c] == E^(2 I \[Pi]/2), k[a, d] == k[a, e]}, {e, \!\(\*OverscriptBox[\(e\), \(_\)]\)}] // Flatten ;
  5. e = Part[W1, 1]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Part[W1, 2];Print["E = ", e];
  6. Print["2\[Angle]ACE-\[Angle]ABE = \!\(\*SuperscriptBox[\(180\), \(\(\[Degree]\)\(\\\ \)\)]\)成立否?", Simplify[(k[c, a]/k[c, e])^2 k[b, e]/k[b, a] == E^(2 I \[Pi])]];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-8-31 12:09
本帖最后由 TSC999 于 2023-8-31 16:52 编辑 例 4:
三线共点题图与解答.png
程序代码:
  1. Clear["Global`*"];(*令△ABC的外接圆为单位圆,圆心O为坐标原点,且BC边平行于实轴,AB、AC、BE 的复斜率分别为 u^2、v^2、w^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; kBC = 1; kAB = u^2; kAC = v^2;
  4. kBE = w^2; kEF = 1;k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  5. W1 = {e, \!\(\*OverscriptBox[\(e\), \(_\)]\)} /. Simplify@Solve[{(o - a) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) == (o - e) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(e\), \(_\)]\)), k[b, e] == kBE}, {e, \!\(\*OverscriptBox[\(e\), \(_\)]\)}] // Flatten ;e = Part[W1, 1]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Part[W1, 2];
  6. W2 = {f, \!\(\*OverscriptBox[\(f\), \(_\)]\)} /. Simplify@Solve[{(o - a) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) == (o - f) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(f\), \(_\)]\)), k[e, f] == kEF}, {f, \!\(\*OverscriptBox[\(f\), \(_\)]\)}] // Flatten ;f = Part[W2, 1]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Part[W2, 2];
  7. (*过A1点、复斜率等于k1的直线,与过A2点、复斜率等于k2的直线的交点:*)
  8. Jd[k1_, a1_, k2_, a2_] := -((k2 (a1 - k1 \!\(\*OverscriptBox[\(a1\), \(_\)]\)) - k1 (a2 - k2 \!\(\*OverscriptBox[\(a2\), \(_\)]\)))/(k1 - k2));
  9. \!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k1_, a1_, k2_, a2_] := -((a1 - k1 \!\(\*OverscriptBox[\(a1\), \(_\)]\) - (a2 - k2 \!\(\*OverscriptBox[\(a2\), \(_\)]\)))/(k1 - k2));
  10. x = Simplify@Jd[k[e, c], c, k[f, b], b]; \!\(\*OverscriptBox[\(x\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[e, c], c, k[f, b], b];
  11. m = Simplify@Jd[k[a, b], b, k[e, c], c]; \!\(\*OverscriptBox[\(m\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, b], b, k[e, c], c];n = Simplify@Jd[k[a, c], c, k[f, b], b]; \!\(\*OverscriptBox[\(n\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, c], c, k[f, b], b];
  12. p = Simplify@Jd[k[a, c], c, k[f, e], e]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, c], c, k[f, e], e];
  13. q = Simplify@Jd[k[a, b], b, k[f, e], e]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, b], b, k[f, e], e];
  14. 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 的外心坐标:*)   
  15. \!\(\*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)));
  16. o1 = Simplify@WX[b, n, p]; \!\(\*OverscriptBox[\(o1\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[b, n, p];
  17. o2 = Simplify@WX[c, m, q]; \!\(\*OverscriptBox[\(o2\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[c, m, q];
  18. W3 = {s, \!\(\*OverscriptBox[\(s\), \(_\)]\)} /. Simplify@Solve[{(o - a) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) == (o - s) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(s\), \(_\)]\)), (o1 - b) (\!\(\*OverscriptBox[\(o1\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) == (o1 - s) (\!\(\*OverscriptBox[\(o1\), \(_\)]\) - \!\(\*OverscriptBox[\(s\), \(_\)]\)), s != b}, {s, \!\(\*OverscriptBox[\(s\), \(_\)]\)}] // Flatten ;s = Part[W3, 1]; \!\(\*OverscriptBox[\(s\), \(_\)]\) = Part[W3, 2];
  19. W4 = {t, \!\(\*OverscriptBox[\(t\), \(_\)]\)} /. Simplify@Solve[{(o - a) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) == (o - t) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(t\), \(_\)]\)), (o2 - c) (\!\(\*OverscriptBox[\(o2\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)) == (o2 - t) (\!\(\*OverscriptBox[\(o2\), \(_\)]\) - \!\(\*OverscriptBox[\(t\), \(_\)]\)), t != c}, {t, \!\(\*OverscriptBox[\(t\), \(_\)]\)}] // Flatten;
  20. t = Part[W4, 1]; \!\(\*OverscriptBox[\(t\), \(_\)]\) = Part[W4, 2];
  21. Print["SB 与 AX 的交点坐标 z1 = ", Simplify@Jd[k[s, b], b, k[a, x], x]];
  22. Print["TC 与 AX 的交点坐标 z2 = ", Simplify@Jd[k[t, c], c, k[a, x], x]];
  23. Print["因为上述两个交点坐标相同,所以 SB、AX、TC 共点。"];
复制代码

其实,还有一条线 HD 也交于此点:
图.png
关于 SB、HD、TC 三线共点,证明见前面例 2。

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-9-5 16:30
例 5:
证明XDY共线题图与解答.png
程序代码:
  1. Clear["Global`*"];(*构图法:B置于坐标原点,C=1; 复斜率 kAB=u^2; kAC=1/v^2;*)
  2. (*此构图下的\[EmptyUpTriangle]ABC顶点坐标:*)
  3. \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 1; a = (u^2 (v^2 - 1))/( u^2 v^2 - 1);
  4. \!\(\*OverscriptBox[\(a\), \(_\)]\) = (v^2 - 1)/(u^2 v^2 - 1);
  5. (*内心坐标:*)i = (u (v - 1))/(u v - 1); \!\(\*OverscriptBox[\(i\), \(_\)]\) = (v - 1)/( u v - 1); (*\[EmptyUpTriangle]ABC 的外心坐标:*) o = (u^2 v^2)/( u^2 v^2 - 1);
  6. \!\(\*OverscriptBox[\(o\), \(_\)]\) = 1/(1 - u^2 v^2);
  7. d = ((u + 1) (v - 1))/(2 u v - 2);  \!\(\*OverscriptBox[\(d\), \(_\)]\) = d; s = (u v)/(u v - 1);  
  8. \!\(\*OverscriptBox[\(s\), \(_\)]\) = 1/(1 - u v);
  9. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  10. Foot[p_, x_, y_] := ( \!\(\*OverscriptBox[\(x\), \(_\)]\) y - x \!\(\*OverscriptBox[\(y\), \(_\)]\) + (x - y) \!\(\*OverscriptBox[\(p\), \(_\)]\) + (\!\(\*OverscriptBox[\(x\), \(_\)]\) - \!\(\*OverscriptBox[\(y\), \(_\)]\)) p)/(2 (\!\(\*OverscriptBox[\(x\), \(_\)]\) - \!\(\*OverscriptBox[\(y\), \(_\)]\)));  (* 从P点向XY直线引垂线,垂足的复坐标 *)
  11. \!\(\*OverscriptBox[\(Foot\), \(_\)]\)[p_, x_, y_] := (x \!\(\*OverscriptBox[\(y\), \(_\)]\) - \!\(\*OverscriptBox[\(x\), \(_\)]\) y + (
  12. \!\(\*OverscriptBox[\(x\), \(_\)]\) - \!\(\*OverscriptBox[\(y\), \(_\)]\)) p + (x - y) \!\(\*OverscriptBox[\(p\), \(_\)]\))/(2 (x - y));  
  13. e = Simplify@Foot[b, i, o]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Foot\), \(_\)]\)[b, i, o];
  14. f = Simplify@Foot[c, i, o]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Foot\), \(_\)]\)[c, i, o];
  15. Simplify@Solve[{k[e, x] == -k[a, c], k[f, x] == -k[a, b]}, {x, \!\(\*OverscriptBox[\(x\), \(_\)]\)}];
  16. (*X点的坐标:*)x = ((v - 1) (u^2 (v + 1) - u v + 1))/( 2 ((u - 1) v + 1) (u v - 1));
  17. \!\(\*OverscriptBox[\(x\), \(_\)]\) = ((v - 1) (u^2 v - u + v + 1))/( 2 (u (v - 1) + 1) (u v - 1));
  18. Simplify@Solve[{k[e, y] == -k[s, c], k[f, y] == -k[s, b]}, {y, \!\(\*OverscriptBox[\(y\), \(_\)]\)}];
  19. (*Y点的坐标:*)y = ((u^2 - u - 1) v^2 + (u + 1) v - 1)/( 2 ((u - 1) v + 1) (u v - 1));
  20. \!\(\*OverscriptBox[\(y\), \(_\)]\) = ( u^2 (v^2 - v + 1) - u v + u - 1)/(2 (u (v - 1) + 1) (u v - 1));
  21. Print["IX = ID 是否成立:", Simplify[(i - x) (\!\(\*OverscriptBox[\(i\), \(_\)]\) - \!\(\*OverscriptBox[\(x\), \(_\)]\)) == (i - d) (\!\(\*OverscriptBox[\(i\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\))]];
  22. Print["由于 IX = ID,所以 X 在内切圆上。"];
  23. Print["XY的复斜率为 kXY = ", Simplify[k[x, y]]];
  24. Print["XD的复斜率为 kXD = ", Simplify[k[x, d]]];
  25. Print["由于 kXY = kXD,所以 X、Y、D 三点共线"];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-9-6 07:12
本帖最后由 TSC999 于 2023-9-6 12:48 编辑 证明是平行四边形题图与解答.png
程序代码:
  1. Clear["Global`*"];(*设O圆为单位圆且圆心在坐标原点,CP垂直于实轴,OT 的复斜率为 u^2,CP 的复斜率为 v^2 *)
  2. \!\(\*OverscriptBox[\(o\), \(_\)]\) = o = 0;
  3. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  4. Simplify@Solve[{(o - t) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(t\), \(_\)]\)) == 1, k[o, t] == u^2}, {t, \!\(\*OverscriptBox[\(t\), \(_\)]\)}];
  5. t = -u; \!\(\*OverscriptBox[\(t\), \(_\)]\) = 1/t;
  6. c = t/3; \!\(\*OverscriptBox[\(c\), \(_\)]\) = \!\(\*OverscriptBox[\(t\), \(_\)]\)/3;
  7. Simplify@Solve[{(c - t) (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(t\), \(_\)]\)) == (c - p) (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(p\), \(_\)]\)), k[c, p] == v^2}, {p, \!\(\*OverscriptBox[\(p\), \(_\)]\)}];
  8. p = 1/3 (2 v - u); \!\(\*OverscriptBox[\(p\), \(_\)]\) = 2/(3 v) - 1/(3 u);
  9. W1 = {z, \!\(\*OverscriptBox[\(z\), \(_\)]\)} /. Simplify@Solve[{(o - t) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(t\), \(_\)]\)) == (o - z) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(z\), \(_\)]\)), k[p, z] == -v^2}, {z, \!\(\*OverscriptBox[\(z\), \(_\)]\)}] // Flatten ;
  10. a = Part[W1, 1]; \!\(\*OverscriptBox[\(a\), \(_\)]\) = Part[W1, 2]; b = Part[W1, 3];
  11. \!\(\*OverscriptBox[\(b\), \(_\)]\) = Part[W1, 4];
  12. Print["a = ", a]; Print["b = ", b];
  13. Simplify@Solve[{(d - c) (\!\(\*OverscriptBox[\(d\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)) == (d - a) (\!\(\*OverscriptBox[\(d\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) == (d - b) (\!\(\*OverscriptBox[\(d\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\))}, {d, \!\(\*OverscriptBox[\(d\), \(_\)]\)}];
  14. d = (2 v)/3; \!\(\*OverscriptBox[\(d\), \(_\)]\) = 2/(3 v);
  15. Print["CP = ", Simplify[Sqrt[(c - p) (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(p\), \(_\)]\))]], ",    OD = ",
  16.   Simplify[Sqrt[(o - d) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\))]]];
  17. Print["CO = ", Simplify[Sqrt[(c - o) (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(o\), \(_\)]\))]], ",    PD = ",
  18.   Simplify[Sqrt[(p - d) (\!\(\*OverscriptBox[\(p\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\))]]];
  19. Print["由于 CP = OD,CO = PD,所以 PCOD 是平行四边形。"];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-9-7 20:44
例 7:
证明证明.png
程序代码:
  1. Clear["Global`*"];(*令A是坐标原点,AQ 沿正实轴*)
  2. \!\(\*OverscriptBox[\(a\), \(_\)]\) = a = 0; c = u + I v; \!\(\*OverscriptBox[\(c\), \(_\)]\) = u - I v;(*u、v 都是正实数*)
  3. b = t \!\(\*OverscriptBox[\(c\), \(_\)]\); \!\(\*OverscriptBox[\(b\), \(_\)]\) =  t c;(*t=AB/AOverscript[C, _]=AB/AC是正实数*)
  4. \!\(\*OverscriptBox[\(e\), \(_\)]\) = e = -1; \!\(\*OverscriptBox[\(f\), \(_\)]\) = f = 1; d = (b + c)/2;
  5. \!\(\*OverscriptBox[\(d\), \(_\)]\) = (\!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\))/2;
  6. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  7. (*由于 BC 是\[Angle]RPQ的平分线,所以有下面的方程,解方程可求出 t :*)
  8. Solve[{k[d, e] k[d, f] - (k[b, c])^2 == 0, t != 1, t != -1}, t];
  9. t = 1/(u^2 + v^2);b = t \!\(\*OverscriptBox[\(c\), \(_\)]\);
  10. \!\(\*OverscriptBox[\(b\), \(_\)]\) = t c; d = (b + c)/2; \!\(\*OverscriptBox[\(d\), \(_\)]\) = (\!\(\*OverscriptBox[\(b\), \(_\)]\) +
  11. \!\(\*OverscriptBox[\(c\), \(_\)]\))/2; (*将 t 回代*)
  12. Print["b = ", b]; Print["d = ", d];
  13. Print["检验 EF 应是 \[Angle]BAC 的平分线:", Simplify[k[a, c] k[a, b] == 1]];
  14. AB = Simplify[Sqrt[(a - b) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\))]]; AB = 1/Sqrt[u^2 + v^2];
  15. AC = Simplify[Sqrt[(a - c) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\))]]; AC = Sqrt[u^2 + v^2];
  16. AB + AC = 1/Sqrt[u^2 + v^2] + Sqrt[u^2 + v^2]; AB + AC = (u^2 + v^2 + 1)/Sqrt[u^2 + v^2];
  17. DE = Simplify[Sqrt[(d - e) (\!\(\*OverscriptBox[\(d\), \(_\)]\) - \!\(\*OverscriptBox[\(e\), \(_\)]\))]]; DE = (u^2 + 2 u + v^2 + 1)/(
  18. 2 Sqrt[u^2 + v^2]) ;DF = Simplify[Sqrt[(d - f) (\!\(\*OverscriptBox[\(d\), \(_\)]\) - \!\(\*OverscriptBox[\(f\), \(_\)]\))]];
  19. DF = (u^2 - 2 u + v^2 + 1)/( 2 Sqrt[u^2 + v^2]) ;
  20. DE + DF = (u^2 + v^2 + 1)/Sqrt[u^2 + v^2];
  21. Print["AB+AC = DE+DF 是否成立:", Simplify[AB + AC == DE + DF]];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-9-10 22:11
本帖最后由 TSC999 于 2023-9-10 22:34 编辑 例 8:
证明四条结论题图与解答.png
注:进一步计算可知
     ① H1H2 线段是与 BC 平行的,而 XH1 则与 BC 垂直。
     ② E、H1、C 三点也是共线的。

程序代码:
  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[\(m\), \(_\)]\) = m = 1/2; i = (u (v - 1))/(
  4. u v - 1); \!\(\*OverscriptBox[\(i\), \(_\)]\) = (v - 1)/(u v - 1);
  5. h1 = (u^2 + 1)/(1 - u^2 v^2);  \!\(\*OverscriptBox[\(h1\), \(_\)]\) = ((u^2 + 1) v^2)/(u^2 v^2 - 1);
  6. Jx[p_, a_, b_] := (\!\(\*OverscriptBox[\(a\), \(_\)]\) b - a \!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(p\), \(_\)]\) (a - b))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\));(*P点的镜像点,镜线是AB*)
  7. \!\(\*OverscriptBox[\(Jx\), \(_\)]\)[p_, a_, b_] := (a \!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\) b + p (
  8. \!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)))/(a - b);
  9. m1 = Simplify@Jx[m, a, i]; \!\(\*OverscriptBox[\(m1\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jx\), \(_\)]\)[m, a, i];
  10. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  11. W1 = {n, \!\(\*OverscriptBox[\(n\), \(_\)]\)} /. Simplify@Solve[{k[a, m1] == k[a, n], k[b, n] == k[b, c]}, {n, \!\(\*OverscriptBox[\(n\), \(_\)]\)}] // Flatten;n = Part[W1, 1]; \!\(\*OverscriptBox[\(n\), \(_\)]\) = Part[W1, 2];
  12. Foot[p_, a_, b_] := p/2 + ( \!\(\*OverscriptBox[\(a\), \(_\)]\) b - a \!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(p\), \(_\)]\) (a - b))/(2 (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)));  (* 从P点向XY直线引垂线,垂足的复坐标 *)
  13. \!\(\*OverscriptBox[\(Foot\), \(_\)]\)[p_, a_, b_] := \!\(\*OverscriptBox[\(p\), \(_\)]\)/2 + (a \!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\) b + p (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)))/(2 (a - b));  
  14. e = Simplify@Foot[c, a, b]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Foot\), \(_\)]\)[c, a, b];
  15. f = Simplify@Foot[b, a, c]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Foot\), \(_\)]\)[b, a, c];
  16. W2 = {g, \!\(\*OverscriptBox[\(g\), \(_\)]\)} /. Simplify@Solve[{k[e, f] == k[e, g], k[a, m] == k[a, g]}, {g, \!\(\*OverscriptBox[\(g\), \(_\)]\)}] // Flatten;g = Part[W2, 1]; \!\(\*OverscriptBox[\(g\), \(_\)]\) = Part[W2, 2];
  17. 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) +
  18. \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a));(*三角形 ABC 的外心坐标:*)   
  19. \!\(\*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)));
  20. x = Simplify@WX[a, e, f]; \!\(\*OverscriptBox[\(x\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[a, e, f];
  21. y = Simplify@WX[b, n, e]; \!\(\*OverscriptBox[\(y\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[b, n, e];
  22. z = Simplify@WX[c, n, f]; \!\(\*OverscriptBox[\(z\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[c, n, f];
  23. o = Simplify@WX[x, y, z]; \!\(\*OverscriptBox[\(o\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[x, y, z];
  24. hh [a_, b_, c_] := ((b - c) (b + c - a) \!\(\*OverscriptBox[\(a\), \(_\)]\) + (c - a) (c + a - b) \!\(\*OverscriptBox[\(b\), \(_\)]\) + (a - b) (a + b - c) \!\(\*OverscriptBox[\(c\), \(_\)]\))/((b - c) \!\(\*OverscriptBox[\(a\), \(_\)]\) + (c - a) \!\(\*OverscriptBox[\(b\), \(_\)]\) + (a - b) \!\(\*OverscriptBox[\(c\), \(_\)]\));  (*由三顶点求垂心*)
  25. \!\(\*OverscriptBox[\(hh\), \(_\)]\) [a_, b_, c_] := ((\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)) (\!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) a + (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) (\!\(\*OverscriptBox[\(c\), \(_\)]\) + \!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) b + (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)) c)/((\!\(\*OverscriptBox[\(b\), \(_\)]\) -
  26. \!\(\*OverscriptBox[\(c\), \(_\)]\)) a + (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) b + (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) c);   
  27. h2 = Simplify@hh[x, y, z]; \!\(\*OverscriptBox[\(h2\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(hh\), \(_\)]\)[x, y, z];
  28. Print["GN 是否垂直于 BC:", Simplify[k[g, n] == -k[b, c]]];
  29. Print["AOM 是否三点共线:", Simplify[k[a, o] == k[o, m]]];
  30. Print["\[EmptyUpTriangle]XYZ 是否与 \[EmptyUpTriangle]ABC 相似:", Simplify[k[x, z]/k[x, y] == k[a, c]/k[a, b]] &&
  31.    Simplify[k[y, x]/k[y, z] == k[b, a]/k[b, c]]];
  32. Print["H1H2 是否为圆X 的切线:", Simplify[(x - h1) (\!\(\*OverscriptBox[\(x\), \(_\)]\) - \!\(\*OverscriptBox[\(h1\), \(_\)]\)) == (x - a) (\!\(\*OverscriptBox[\(x\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\))] && Simplify[k[x, h1] == -k[h1, h2]]];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-9-11 11:13
本帖最后由 TSC999 于 2023-9-11 11:41 编辑 例 9:
已知四边形各顶点坐标,求四边形重心坐标公式:
四边形重心坐标公式.png
公式推导:
四边形重心坐标公式推导.png
直角坐标系下四边形重心坐标公式推导:
直角坐标系下的四边形重心坐标公式推导.png
计算示例:
计算示例.png
公式表达式程序代码:
  1. 已知四边形 ABCD 各顶点的坐标,其重心坐标的公式如下:
  2. g = (\!\(\*OverscriptBox[\(a\), \(_\)]\) (b - d) (a + b + d) + \!\(\*OverscriptBox[\(d\), \(_\)]\) (a - c) (a + c + d) - \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) (a + b + c) - \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - d) (b + c + d))/(3 (\!\(\*OverscriptBox[\(a\), \(_\)]\) (b - d) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (c - a) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (d - b) + \!\(\*OverscriptBox[\(d\), \(_\)]\) (a - c)));  
  3. \!\(\*OverscriptBox[\(g\), \(_\)]\) = (a (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)) (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(d\), \(_\)]\)) + d (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)) (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\) + \!\(\*OverscriptBox[\(d\), \(_\)]\)) - b (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)) (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\)) - c (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)) (\!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\) + \!\(\*OverscriptBox[\(d\), \(_\)]\)))/(3 (a (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)) + b (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) + c (\!\(\*OverscriptBox[\(d\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) + d (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\))));
  4. 对于直角坐标系有:
  5. xG = ((xA - xC) (yD (xA + xC + xD) - yB (xA + xB + xC)) + (xB - xD) (yA (xA + xB + xD) - yC (xB + xC + xD)))/(3 (xA - xC) (yD - yB) - 3 (yA - yC) (xD - xB));
  6.   yG = ((yA - yC) (xD (yA + yC + yD) - xB (yA + yB + yC)) + (yB - yD) (xA (yA + yB + yD) - xC (yB + yC + yD)))/(3 (yA - yC) (xD - xB) - 3 (xA - xC) (yD - yB));
复制代码

公式推导程序代码:
  1. Clear["Global`*"];
  2. g1 = (a + b + c)/3; \!\(\*OverscriptBox[\(g1\), \(_\)]\) = (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(b\), \(_\)]\) +
  3. \!\(\*OverscriptBox[\(c\), \(_\)]\))/3; g2 = (a + d + c)/3;
  4. \!\(\*OverscriptBox[\(g2\), \(_\)]\) = (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(d\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\))/3;
  5. S[a_, b_, c_] := (\!\(\*OverscriptBox[\(a\), \(_\)]\) (b - c) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (c - a) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (a - b))/(4 I);(*已知三角形各顶点坐标,求其有向面积,ABC逆时针向环绕*)
  6. Subscript[S, ABC] = FullSimplify@S[a, b, c]; Subscript[S, ACD] = FullSimplify@S[a, c, d];
  7. g = \[Lambda] g2 + (1 - \[Lambda]) g1; (*\[Lambda]=G1G/G1G2*)
  8. \!\(\*OverscriptBox[\(g\), \(_\)]\) = \[Lambda] \!\(\*OverscriptBox[\(g2\), \(_\)]\) + (1 - \[Lambda]) \!\(\*OverscriptBox[\(g1\), \(_\)]\);
  9. GG1 = FullSimplify[Sqrt[(g - g1) (\!\(\*OverscriptBox[\(g\), \(_\)]\) - \!\(\*OverscriptBox[\(g1\), \(_\)]\))]];
  10. GG2 = FullSimplify[Sqrt[(g - g2) (\!\(\*OverscriptBox[\(g\), \(_\)]\) - \!\(\*OverscriptBox[\(g2\), \(_\)]\))]];
  11. FullSimplify@ Solve[{GG1 Subscript[S, ABC] == GG2 Subscript[S, ACD]}, {\[Lambda]}];(*有两个解,由人工判断去掉一个解*)
  12. \[Lambda] = (\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - d) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (d - a) + \!\(\*OverscriptBox[\(d\), \(_\)]\) (a - c))/((b - d) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)) - (a - c) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)));
  13. gg1 = Simplify[\[Lambda] g2 + (1 - \[Lambda]) g1];(*软件算出的公式*)
  14. g = (\!\(\*OverscriptBox[\(a\), \(_\)]\) (b - d) (a + b + d) + \!\(\*OverscriptBox[\(d\), \(_\)]\) (a - c) (a + c + d) - \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) (a + b + c) - \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - d) (b + c + d))/(3 (\!\(\*OverscriptBox[\(a\), \(_\)]\) (b - d) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (c - a) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (d - b) + \!\(\*OverscriptBox[\(d\), \(_\)]\) (a - c)));(*人工整理的公式*)
  15. \!\(\*OverscriptBox[\(gg1\), \(_\)]\) = Simplify[\[Lambda] \!\(\*OverscriptBox[\(g2\), \(_\)]\) + (1 - \[Lambda]) \!\(\*OverscriptBox[\(g1\), \(_\)]\)];(*软件算出的公式*)
  16. \!\(\*OverscriptBox[\(g\), \(_\)]\) = (a (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)) (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(d\), \(_\)]\)) + d (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)) (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\) + \!\(\*OverscriptBox[\(d\), \(_\)]\)) - b (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)) (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\)) - c (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)) (\!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\) + \!\(\*OverscriptBox[\(d\), \(_\)]\)))/(3 (a (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)) + b (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) + c (\!\(\*OverscriptBox[\(d\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) + d (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\))));(*人工整理的公式*)
  17. Simplify[g == gg1](*检验人工整理的公式是否正确*)
  18. Simplify[\!\(\*OverscriptBox[\(g\), \(_\)]\) == \!\(\*OverscriptBox[\(gg1\), \(_\)]\)](*检验人工整理的公式是否正确*)
复制代码


直角坐标系公式推导程序代码:
  1. Clear["Global`*"];(*直角坐标系下的公式推导*)
  2. a = xA + I yA; \!\(\*OverscriptBox[\(a\), \(_\)]\) = xA - I yA; b = xB + I yB; \!\(\*OverscriptBox[\(b\), \(_\)]\) = xB - I yB; c = xC + I yC; \!\(\*OverscriptBox[\(c\), \(_\)]\) = xC - I yC; d = xD + I yD; \!\(\*OverscriptBox[\(d\), \(_\)]\) = xD - I yD;
  3. g = (\!\(\*OverscriptBox[\(a\), \(_\)]\) (b - d) (a + b + d) + \!\(\*OverscriptBox[\(d\), \(_\)]\) (a - c) (a + c + d) - \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) (a + b + c) - \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - d) (b + c + d))/(3 (\!\(\*OverscriptBox[\(a\), \(_\)]\) (b - d) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (c - a) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (d - b) + \!\(\*OverscriptBox[\(d\), \(_\)]\) (a - c)));(*利用上页的复平面公式*)
  4. \!\(\*OverscriptBox[\(g\), \(_\)]\) = (a (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)) (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(d\), \(_\)]\)) + d (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)) (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\) + \!\(\*OverscriptBox[\(d\), \(_\)]\)) - b (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)) (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\)) - c (\!\(\*OverscriptBox[\(b\), \(_\)]\) -
  5. \!\(\*OverscriptBox[\(d\), \(_\)]\)) (\!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\) + \!\(\*OverscriptBox[\(d\), \(_\)]\)))/(3 (a (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)) + b (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) + c (\!\(\*OverscriptBox[\(d\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) + d (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\))));(*利用上页的复平面公式*)
  6. xGG = Simplify[ComplexExpand[Re[g]]]; (*软件算出的横坐标公式*)
  7. yGG = Simplify[ComplexExpand[Im[g]]];(*软件算出的纵坐标公式*)
  8. Print["软件算出的横坐标:", xGG];
  9. Print["软件算出的纵坐标:", yGG];
  10. xG = ((xA - xC) (yD (xA + xC + xD) - yB (xA + xB + xC)) + (xB - xD) (yA (xA + xB + xD) - yC (xB + xC + xD)))/(3 (xA - xC) (yD - yB) - 3 (yA - yC) (xD - xB));(*人工整理的公式*)
  11. yG = ((yA - yC) (xD (yA + yC + yD) - xB (yA + yB + yC)) + (yB - yD) (xA (yA + yB + yD) - xC (yB + yC + yD)))/(3 (yA - yC) (xD - xB) - 3 (xA - xC) (yD - yB));(*人工整理的公式*)
  12. Print["人工整理的横坐标公式是否与软件算出的横坐标等价:", Simplify[xGG == xG]];(*检验人工整理的公式是否正确*)
  13. Print["人工整理的纵坐标公式是否与软件算出的纵坐标等价:", Simplify[yGG == yG]];(*检验人工整理的公式是否正确*)
复制代码


计算示例图.png
计算示例程序代码:
  1. Clear["Global`*"];(*计算示例,见上图*)
  2. a = 0.0253 + I 0.30456; \!\(\*OverscriptBox[\(a\), \(_\)]\) = 0.0253 - I 0.30456; b = -0.14256 - I 0.16282;
  3. \!\(\*OverscriptBox[\(b\), \(_\)]\) = -0.14256 + I 0.16282;c = 0.30214 - I 0.11621;  \!\(\*OverscriptBox[\(c\), \(_\)]\) = 0.30214 + I 0.11621; d =  0.32917 + I 0.11687; \!\(\*OverscriptBox[\(d\), \(_\)]\) = 0.32917 - I 0.11687;
  4. g = (\!\(\*OverscriptBox[\(a\), \(_\)]\) (b - d) (a + b + d) + \!\(\*OverscriptBox[\(d\), \(_\)]\) (a - c) (a + c + d) - \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) (a + b + c) - \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - d) (b + c + d))/(3 (\!\(\*OverscriptBox[\(a\), \(_\)]\) (b - d) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (c - a) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (d - b) + \!\(\*OverscriptBox[\(d\), \(_\)]\) (a - c)));
  5. Print["g = ", g];
  6. xA = 0.0253; yA = 0.30456; xB = -0.14256; yB = -0.16282;xC = 0.30214; yC = -0.11621; xD = 0.32917; yD = 0.11687;
  7. xG = ((xA - xC) (yD (xA + xC + xD) - yB (xA + xB + xC)) + (xB - xD) (yA (xA + xB + xD) - yC (xB + xC + xD)))/(3 (xA - xC) (yD - yB) - 3 (yA - yC) (xD - xB));
  8. yG = ((yA - yC) (xD (yA + yC + yD) - xB (yA + yB + yC)) + (yB - yD) (xA (yA + yB + yD) - xC (yB + yC + yD)))/(3 (yA - yC) (xD - xB) - 3 (xA - xC) (yD - yB));
  9. Print["xG = ", xG]; Print["yG = ", yG];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-9-12 16:17
例 10:
S 是圆 O 外一点,从 S 向圆引两条切线 SM、SN,M、N 是切点。从 S 向圆引一条割线 SAB,
连接 NA、NB,从 M 作 SN 的平行线交 NA 于 E,交 NB 于 F。证明 ME = MF。
椭圆改圆题.png
程序图片:
椭圆改圆解答.png
程序代码:
  1. Clear["Global`*"];(*令圆O为单位圆,圆心O为坐标原点,kSB=u *)
  2. \!\(\*OverscriptBox[\(o\), \(_\)]\) = o = 0; \!\(\*OverscriptBox[\(m\), \(_\)]\) = 1/m;
  3. \!\(\*OverscriptBox[\(n\), \(_\)]\) = 1/n; s = 2 m n/(m + n);
  4. \!\(\*OverscriptBox[StyleBox["s",FontColor->GrayLevel[0]], \(_\)]\) = 2/(m + n);
  5. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  6. W1 = {z, \!\(\*OverscriptBox[\(z\), \(_\)]\)} /. Simplify@Solve[{(o - m) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(m\), \(_\)]\)) == (o - z) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(z\), \(_\)]\)), k[s, z] == u}, {z, \!\(\*OverscriptBox[\(z\), \(_\)]\)}] // Flatten ;a = Part[W1, 1]; \!\(\*OverscriptBox[\(a\), \(_\)]\) = Part[W1, 2]; b = Part[W1, 3];
  7. \!\(\*OverscriptBox[\(b\), \(_\)]\) = Part[W1, 4];
  8. (*过A1点、复斜率等于k1的直线,与过A2点、复斜率等于k2的直线的交点:*)
  9. Jd[k1_, a1_, k2_, a2_] := -((k2 (a1 - k1 \!\(\*OverscriptBox[\(a1\), \(_\)]\)) - k1 (a2 - k2 \!\(\*OverscriptBox[\(a2\), \(_\)]\)))/(k1 - k2));
  10. \!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k1_, a1_, k2_, a2_] := -((a1 - k1 \!\(\*OverscriptBox[\(a1\), \(_\)]\) - (a2 - k2 \!\(\*OverscriptBox[\(a2\), \(_\)]\)))/(k1 - k2));
  11. e = Simplify@Jd[k[n, a], n, k[n, s], m]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[n, a], n, k[n, s], m];
  12. f = Simplify@Jd[k[n, b], n, k[n, s], m]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[n, b], n, k[n, s], m];
  13. Simplify[(m - e) (\!\(\*OverscriptBox[\(m\), \(_\)]\) - \!\(\*OverscriptBox[\(e\), \(_\)]\)) == (m - f) (\!\(\*OverscriptBox[\(m\), \(_\)]\) - \!\(\*OverscriptBox[\(f\), \(_\)]\))]
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-9-13 21:32
hbghlyj 发表于 2023-9-12 16:52
如何“由人工判断去掉一个解”呢

常用方法:例如直线与圆相交,解方程得到了两个交点公式,其中一个与所画的图不符,需要去掉,只能把有关两个交点的大致数字参数代入公式中,通过算出的交点位置,即可判定哪个公式是需要去掉的。

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-9-13 21:39
本帖最后由 TSC999 于 2023-9-17 19:55 编辑 例 12:
圆 A 和圆 B 交于 C、D,EF 是两圆的外公切线,在 CD 上取一点 Q,EQ 的延长线交圆 A 于 M。 FQ 的延长线交圆 B 于 N。
过 DMN 作圆O 与过 D 并与 CD 垂直的直线交于 G。证明 AM、BN、CG 三线共点。
三线共点题图.png
程序图片:
三线共点题解答.png
程序代码:
  1. Clear["Global`*"];(*令圆A的圆心在坐标原点,B点在实轴上,圆心距 AB=1,AC、BC 的复斜率分别为 u^2、v^2 \
  2. *)
  3. \!\(\*OverscriptBox[\(a\), \(_\)]\) = a = 0; \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 1;
  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. c = Simplify@Jd[u^2, a, v^2, b]; \!\(\*OverscriptBox[\(c\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[u^2, a, v^2, b];
  9. d = \!\(\*OverscriptBox[\(c\), \(_\)]\); \!\(\*OverscriptBox[\(d\), \(_\)]\) = c; Print["c = ", c]; Print["d = ", d];
  10. q = \[Lambda] c + (1 - \[Lambda]) d; (* \[Lambda]=DQ/DC *) \!\(\*OverscriptBox[\(q\), \(_\)]\) = \[Lambda] \!\(\*OverscriptBox[\(c\), \(_\)]\) + (1 - \[Lambda]) \!\(\*OverscriptBox[\(d\), \(_\)]\);
  11. (*下面直接引用外公切线的切点坐标公式,不再重新推导:*)
  12. e = ( u (v^2 - 1) (u v - 1 - Sqrt[(u^2 - 1) (v^2 - 1)]))/((u - v)^2 (u + v));   \!\(\*OverscriptBox[\(e\), \(_\)]\) = (  u (v^2 - 1) (u v - 1 + Sqrt[(u^2 - 1) (v^2 - 1)]))/((u - v)^2 (u + v));
  13. f = ((v^2 - 1) (v - u^3) + v (u^2 - 1) Sqrt[(u^2 - 1) (v^2 - 1)])/((u - v)^2 (u + v));  
  14. \!\(\*OverscriptBox[\(f\), \(_\)]\) = ((v^2 - 1) (v - u^3) - v (u^2 - 1) Sqrt[(u^2 - 1) (v^2 - 1)])/((u - v)^2 (u + v));
  15. m = Simplify[a + (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(e\), \(_\)]\)) k[e, q]];
  16. \!\(\*OverscriptBox[\(m\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(a\), \(_\)]\) + (a - e)/k[e, q]];
  17. n = Simplify[b + (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(f\), \(_\)]\)) k[f, q]];
  18. \!\(\*OverscriptBox[\(n\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(b\), \(_\)]\) + (b - f)/k[f, q]];
  19. Print["m = ", m]; Print["n = ", n];
  20. 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) +
  21. \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a));(*三角形 ABC 的外心坐标:*)   
  22. \!\(\*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\), \(_\)]\)))/(
  23. \!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a)));
  24. o = Simplify@WX[d, m, n]; \!\(\*OverscriptBox[\(o\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[d, m, n];
  25. Print["o = ", o];
  26. Jx1[p_, a_, k_] := -k \!\(\*OverscriptBox[\(a\), \(_\)]\) + k \!\(\*OverscriptBox[\(p\), \(_\)]\) + a;  (*P点的镜线P1,镜线过已知点A且复斜率为k*)
  27. \!\(\*OverscriptBox[\(Jx1\), \(_\)]\)[p_, a_, k_] := (k \!\(\*OverscriptBox[\(a\), \(_\)]\) - a + p)/k;
  28. g = Simplify@Jx1[d, o, -1]; \!\(\*OverscriptBox[\(g\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jx1\), \(_\)]\)[d, o, -1];
  29. Print["g = ", g];
  30. p1 = Simplify@Jd[k[a, m], a, k[b, n], b]; Print["p1 = ", p1];
  31. p2 = Simplify@Jd[k[a, m], a, k[c, g], c]; Print["p2 = ", p2];
  32. If[Simplify[p1 == p2], Print["由软件判定出 p1 = p2,所以 AM、BN、CG 三线共点"]];
复制代码

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2023-9-14 06:05
TSC999 发表于 2023-9-13 21:32
其中一个与所画的图不符,需要去掉,只能把有关两个交点的大致数字参数代入公式中,


我觉得这引入了一种不确定性有没有一种可能,对一组数据使用一个公式,对另一组数据就需要使用另一个公式?

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-9-15 20:12
hbghlyj 发表于 2023-9-14 06:05
我觉得这引入了一种不确定性有没有一种可能,对一组数据使用一个公式,对另一组数据就需要使用另 ...

有可能两组解都能用,只是两组解对应的图形有差别。

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-9-17 19:54
本帖最后由 TSC999 于 2023-9-18 11:32 编辑 例 13:
ABC 在单位圆上,d = -1/2,e = 1/4,BC 平行于实轴。求 A 点坐标。
求A点坐标.png
程序图片:
求A点坐标解答.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. \!\(\*OverscriptBox[\(d\), \(_\)]\) = d = -1/2; \!\(\*OverscriptBox[\(e\), \(_\)]\) = e = 1/4;
  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. p = Simplify@Jd[k[b, d], b, k[c, e], c]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[b, d], b, k[c, e], c];
  10. Simplify@Solve[{p == 1/\!\(\*OverscriptBox[\(p\), \(_\)]\), p == a}, {u, v}];
  11. u = -Sqrt[1/21 (-19 + 4 I Sqrt[5])]; v = 1/63 Sqrt[-399 + 84 I Sqrt[5]] (Sqrt[5] + 2 I);
  12. Simplify[a]
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-9-18 11:00
例 14:
在锐角△ABC中 AB>AC,垂心 H 在各边的投影为 D、E、F,过 D 分别作 AB、AC 的平行线交 EF 于 X、Y,
J = BX∩CY,AM 是△ABC 外接圆的直径,MN⊥BC。证明:① AJ 平分 XY。② ∠CAJ = ∠BAN。
证AJ平分XY题图.png
程序图片:
证AJ平分XY题图与解答.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; m = -a;
  4. \!\(\*OverscriptBox[\(m\), \(_\)]\) = -\!\(\*OverscriptBox[\(a\), \(_\)]\);
  5. (*三角形ABC垂心坐标:*)h = (I ((v^2 + 1) u^2 + v^2))/(u v); \!\(\*OverscriptBox[\(h\), \(_\)]\) = -((I (u^2 + v^2 + 1))/(u v));
  6. Foot[p_, a_, b_] := p/2 + ( \!\(\*OverscriptBox[\(a\), \(_\)]\) b - a \!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(p\), \(_\)]\) (a - b))/(2 (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)));  (* 从P点向AB直线引垂线,垂足的复坐标 *)
  7. \!\(\*OverscriptBox[\(Foot\), \(_\)]\)[p_, a_, b_] := \!\(\*OverscriptBox[\(p\), \(_\)]\)/2 + (a \!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\) b + p (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)))/(2 (a - b));  
  8. d = Simplify@Foot[a, b, c]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Foot\), \(_\)]\)[a, b, c];
  9. e = Simplify@Foot[b, a, c]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Foot\), \(_\)]\)[b, a, c];
  10. f = Simplify@Foot[c, b, a]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Foot\), \(_\)]\)[c, b, a];
  11. n = Simplify@Foot[m, b, c]; \!\(\*OverscriptBox[\(n\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Foot\), \(_\)]\)[m, b, c];
  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. x = Simplify@Jd[k[a, b], d, k[f, e], e]; \!\(\*OverscriptBox[\(x\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, b], d, k[f, e], e];
  16. y = Simplify@Jd[k[a, c], d, k[f, e], e]; \!\(\*OverscriptBox[\(y\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, c], d, k[f, e], e];
  17. j = Simplify@Jd[k[b, x], x, k[c, y], y]; \!\(\*OverscriptBox[\(j\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[b, x], x, k[c, y], y];
  18. p = Simplify@Jd[k[a, j], j, k[f, e], e]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, j], j, k[f, e], e];
  19. If[Simplify[2 p == x + y], Print["由于 2p = x+y,所以 AJ 平分 XY"]];
  20. If[Simplify[k[a, c]/k[a, j] == k[a, n]/k[a, b]], Print["由于复斜率之比 \!\(\*FractionBox[\(k[a, c]\), \(k[a, \
  21. j]\)]\)=\!\(\*FractionBox[\(k[a, n]\), \(k[a, b]\)]\),所以 \[Angle]CAJ = \[Angle]BAN"]];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-9-18 13:40
本帖最后由 TSC999 于 2023-9-18 13:47 编辑 例 15:
在△ABC中,点A1在BC上,点B1在AC上。点 P、Q 分别在线段 AA1 和 BB1上,且满足PQ // AB。在直线PB1上取点P1,使得B1位于P与P1之间,并且 ∠PP1C = ∠BAC。在直线QA1上取点Q1, 使得A1位于Q与Q1之间,并且  ∠QQ1 C = ∠ABC。
证明:P、Q、P1、Q1共圆。(2019 - IMO - 2)
四点共圆题图.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);\!\(\*OverscriptBox[\(a1\), \(_\)]\) = a1 = t; b1 = \[Lambda] a + (1 - \[Lambda]) c;(*\[Lambda]=CB1/CA*)\!\(\*OverscriptBox[\(b1\), \(_\)]\) = \[Lambda] \!\(\*OverscriptBox[\(a\), \(_\)]\) + (1 - \[Lambda]) \!\(\*OverscriptBox[\(c\), \(_\)]\);
  4. q = \[Mu] b1; (*\[Mu]=BQ/BB1*)  \!\(\*OverscriptBox[\(q\), \(_\)]\) = \[Mu] \!\(\*OverscriptBox[\(b1\), \(_\)]\);
  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. p = Simplify@Jd[k[a, b], q, k[a, a1], a1]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, b], q, k[a, a1], a1]; \!\(\*OverscriptBox[\(pp\), \(_\)]\) = \!\(\*OverscriptBox[\(p\), \(_\)]\);
  9. p1 = (b1 - \[Eta] p)/(1 - \[Eta]);(*\[Eta]=P1B1/P1P*)  \!\(\*OverscriptBox[\(p1\), \(_\)]\) = (\!\(\*OverscriptBox[\(b1\), \(_\)]\) - \[Eta] \!\(\*OverscriptBox[\(p\), \(_\)]\))/(1 - \[Eta]);
  10. \!\(\*OverscriptBox[\(pp1\), \(_\)]\) = \!\(\*OverscriptBox[\(p1\), \(_\)]\);
  11. W1 = {\[Eta]} /. Simplify@Solve[{k[p1, c]/k[p1, p] == k[a, c]/k[a, b]}, {\[Eta]}] //Flatten;
  12. \[Eta] = Part[W1, 1];
  13. q1 = (a1 - \[Xi] q)/(1 - \[Xi]);(*\[Xi]=Q1A1/Q1Q*) \!\(\*OverscriptBox[\(q1\), \(_\)]\) = (\!\(\*OverscriptBox[\(a1\), \(_\)]\) - \[Xi]
  14. \!\(\*OverscriptBox[\(q\), \(_\)]\))/(1 - \[Xi]);
  15. \!\(\*OverscriptBox[\(qq1\), \(_\)]\) = \!\(\*OverscriptBox[\(q1\), \(_\)]\);W2 = {\[Xi]} /. Simplify@Solve[{k[q1, q]/k[q1, c] == k[b, a]/k[b, c]}, {\[Xi]}] //Flatten;
  16. \[Xi] = Part[W2, 1];
  17. p = Simplify[p]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(pp\), \(_\)]\)];
  18. p1 = Simplify[p1]; \!\(\*OverscriptBox[\(p1\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(pp1\), \(_\)]\)];
  19. q1 = Simplify[q1]; \!\(\*OverscriptBox[\(q1\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(qq1\), \(_\)]\)];
  20. If[Simplify[k[q1, p]/k[q1, p1] == k[q, p]/k[q, p1]],  Print["由于复斜率之比 \!\(\*FractionBox[\(k[q1, p]\), \(k[q1, p1]\)]\)=\!\(\
  21. \*FractionBox[\(k[q, p]\), \(k[q, p1]\)]\)相等即说明圆周角 \[Angle]P1Q1P = \[Angle]P1QP,所以 P、Q、P1、Q1 共圆"]]
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-9-18 16:48
本帖最后由 TSC999 于 2023-9-20 16:11 编辑 例 16:
D 是锐角△ABC 角 A 平分线上一点。AC 上的点 E 满足 ∠ADE =∠BCD,AB 上的点 F 满足 ∠FDA = ∠DBC,AC 上的点 X 满足 CX =
  BX,△ADC 的外心为 O1,△EXD 的外心为 O2。证明 BC、FE、O1O2 共点。 (2021 - IMO - 3)
图.png
程序图片:
解答.png
程序代码:
  1. Clear["Global`*"]; (*令三角形ADC的外接圆为单位圆,圆心O1在坐标原点。各顶点坐标为 a=u^2; d=v^2; c=w^2; *)
  2. \!\(\*OverscriptBox[\(o1\), \(_\)]\) = o1 = 0; a = u^2; d = v^2; c = w^2;  
  3. \!\(\*OverscriptBox[StyleBox["a",FontColor->GrayLevel[0]], \(_\)]\) = 1/u^2;
  4. \!\(\*OverscriptBox[StyleBox["d",FontColor->GrayLevel[0]], \(_\)]\) = 1/v^2;
  5. \!\(\*OverscriptBox[StyleBox["c",FontColor->GrayLevel[0]], \(_\)]\) = 1/w^2;
  6. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  7. kAC = Simplify@k[a, c]; kAC = -u^2 w^2; kAD = Simplify@k[a, d]; kAD = -u^2 v^2; kAB = kAD^2/kAC; kAB = -((u^2 v^4)/w^2);
  8. (*过A1点、复斜率等于k1的直线,与过A2点、复斜率等于k2的直线的交点:*)
  9. 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));
  10. b = Simplify@Jd[kAB, a, 1, c]; \!\(\*OverscriptBox[\(b\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kAB, a, 1, c];
  11. e = \[Lambda] a + (1 - \[Lambda]) c;(*\[Lambda]=CE/CA*) \!\(\*OverscriptBox[\(e\), \(_\)]\) = \[Lambda] \!\(\*OverscriptBox[\(a\), \(_\)]\) + (1 - \[Lambda]) \!\(\*OverscriptBox[\(c\), \(_\)]\);
  12. \!\(\*OverscriptBox[\(ee\), \(_\)]\) = \!\(\*OverscriptBox[\(e\), \(_\)]\);
  13. W1 = {\[Lambda]} /. Simplify@Solve[{k[d, a]/k[d, e] == k[c, b]/k[c, d]}, {\[Lambda]}] //Flatten; \[Lambda] = Part[W1, 1];
  14. f = \[Eta] a + (1 - \[Eta]) b;(*\[Lambda]=CE/CA*) \!\(\*OverscriptBox[\(f\), \(_\)]\) = \[Eta] \!\(\*OverscriptBox[\(a\), \(_\)]\) + (1 - \[Eta]) \!\(\*OverscriptBox[\(b\), \(_\)]\);
  15. \!\(\*OverscriptBox[\(ff\), \(_\)]\) = \!\(\*OverscriptBox[\(f\), \(_\)]\);
  16. W2 = {\[Eta]} /. Simplify@Solve[{k[d, f]/k[d, a] == k[b, d]/k[b, c]}, {\[Eta]}] //Flatten; \[Eta] = Part[W2, 1];
  17. e = Simplify[e]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(ee\), \(_\)]\)]; f = Simplify[f];
  18. \!\(\*OverscriptBox[\(f\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(ff\), \(_\)]\)];
  19. kBX = 1/kAC;x = Simplify@Jd[kAC, c, kBX, b]; \!\(\*OverscriptBox[\(x\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kAC, c, kBX, b];
  20. 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) +
  21. \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a));(*三角形 ABC 的外心坐标:*)   
  22. \!\(\*OverscriptBox[\(WX\), \(_\)]\)[a_, b_, c_] := -((a \!\(\*OverscriptBox[\(a\), \(_\)]\) (\!\(\*OverscriptBox[\(c\), \(_\)]\) -
  23. \!\(\*OverscriptBox[\(b\), \(_\)]\)) + b \!\(\*OverscriptBox[\(b\), \(_\)]\) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)) + c \!\(\*OverscriptBox[\(c\), \(_\)]\) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)))/(
  24. \!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a)));
  25. o2 = Simplify@WX[e, d, x]; \!\(\*OverscriptBox[\(o2\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[e, d, x];
  26. z1 = Simplify@Jd[k[b, c], b, k[o1, o2], o1];z2 = Simplify@Jd[k[b, c], b, k[f, e], f];
  27. Print["BC 和 O1O2 的交点坐标为:", z1]; Print["BC 和 FE 的交点坐标为   :", z2];
  28. Print["由于BC、O1O2的交点与BC、FE的交点重合,所以BC、FE、O1O2共点。"];
复制代码

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-9-24 18:04
本帖最后由 TSC999 于 2023-11-8 13:20 编辑 例 17:
四边形 ABCD 有内切圆 I,圆AIC = 圆E,X = BA∩圆E,Y = AD∩圆E,Z = BC∩圆E,T = CD∩圆E。
证明 AD + DT + TX + XA = CD + DY + YZ + ZC。(2021 - IMO - 4)
例17图1.png
例17图2.png
程序代码:
  1. Clear["Global`*"]; (*设B在坐标原点,C在1点, kAB=u^2,kA1C=v^2,kCA=w^2 *)
  2. \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 1; a1 = (u^2 (1 - v^2))/( u^2 - v^2);
  3. \!\(\*OverscriptBox[\(a1\), \(_\)]\) = (1 - v^2)/(u^2 - v^2); Print["A1 = ", a1];kAB = u^2; kA1C = v^2; kCA = w^2;
  4. i = (u (1 - v))/(u - v); \!\(\*OverscriptBox[\(i\), \(_\)]\) = (1 - v)/(u - v); Print["I = ", i];
  5. p = ((u + 1) (1 - v))/(2 (u - v));  \!\(\*OverscriptBox[\(p\), \(_\)]\) = p; f = (u (u + 1) (1 - v))/( 2 (u - v));  
  6. \!\(\*OverscriptBox[\(f\), \(_\)]\) = ((u + 1) (1 - v))/(2 u (u - v));Print["P = ", p]; Print["F = ", f];
  7. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  8. (*过A1点、复斜率等于k1的直线,与过A2点、复斜率等于k2的直线的交点:*)
  9. 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));
  10. Jx1[p_, a_, k_] := -k \!\(\*OverscriptBox[\(a\), \(_\)]\) + k \!\(\*OverscriptBox[\(p\), \(_\)]\) + a;  (*P点的镜线P1,镜线过点A且复斜率为k*)
  11. \!\(\*OverscriptBox[\(Jx1\), \(_\)]\)[p_, a_, k_] := (k \!\(\*OverscriptBox[\(a\), \(_\)]\) - a + p)/k;
  12. a = Simplify@Jd[kCA, c, kAB, b]; \!\(\*OverscriptBox[\(a\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kCA, c, kAB, b]; Print["A = ", a];p1 = Simplify@Jx1[p, i, k[c, i]]; \!\(\*OverscriptBox[\(p1\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jx1\), \(_\)]\)[p, i, k[c, i]]; Print["P1 = ", p1];
  13. f1 = Simplify@Jx1[f, i, k[a, i]]; \!\(\*OverscriptBox[\(f1\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jx1\), \(_\)]\)[f, i, k[a, i]]; Print["F1 = ", f1];
  14. d = Simplify@Jd[k[a, f1], f1, k[c, p1], p1];
  15. \!\(\*OverscriptBox[\(d\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, f1], f1, k[c, p1], p1]; Print["D = ", d];
  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) +
  18. \!\(\*OverscriptBox[\(b\), \(_\)]\) \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) \!\(\*OverscriptBox[\(a\), \(_\)]\) (c - a))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a));
  19. e = Simplify@WX[a, i, c]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[a, i, c];
  20. Print["E = ", e];
  21. x = Simplify@Jx1[a, e, -k[a, b]]; \!\(\*OverscriptBox[\(x\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jx1\), \(_\)]\)[a, e, -k[a, b]]; Print["X = ", x];
  22. y = Simplify@Jx1[a, e, -k[a, d]]; \!\(\*OverscriptBox[\(y\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jx1\), \(_\)]\)[a, e, -k[a, d]]; Print["Y = ", y];
  23. z = Simplify@Jx1[c, e, -1]; \!\(\*OverscriptBox[\(z\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jx1\), \(_\)]\)[c, e, -1]; Print["Z = ", z];
  24. t = Simplify@Jx1[c, e, -k[c, d]]; \!\(\*OverscriptBox[\(t\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jx1\), \(_\)]\)[c, e, -k[c, d]]; Print["T = ", t];
  25. AD = Simplify[Sqrt[(a - d) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\))]]; AD = ((u - 1) (-w^2 + u (v - 1) + v) (u (w^2 - v) - (v - 1) w^2))/((u^2 - w^2) (v^2 - 2 w^2 v + w^2 + u (v^2 - 2 v + w^2))); Print["AD = ", AD];
  26. TD = Simplify[Sqrt[(t - d) (\!\(\*OverscriptBox[\(t\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\))]]; TD = ((u - 1) (v - 1) ((-v^2 + w^2 v + v - w^2) w^4 - u (w^4 - 5 v w^2 + w^2 - v^3 + 2 v^2 (w^2 + 1)) w^2 + u^3 v (v^2 - (w^2 + 1) v + w^2) +      u^2 (-w^4 - 5 v^2 w^2 + v^3 (w^2 + 1) + 2 v (w^4 + w^2))))/((u - v) (u^2 - w^2) (v - w^2) (v^2 - 2 w^2 v + w^2 + u (v^2 - 2 v + w^2))); Print["TD = ", TD];
  27. XT = Simplify[Sqrt[(x - t) (\!\(\*OverscriptBox[\(x\), \(_\)]\) - \!\(\*OverscriptBox[\(t\), \(_\)]\))]]; XT = ((u - 1) (v - 1) w (w^2 +
  28.      u))/((u^2 - w^2) (w^2 - v)); Print["XT = ", XT];
  29. XA = Simplify[Sqrt[(x - a) (\!\(\*OverscriptBox[\(x\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\))]]; XA = -(((u - 1) (-(v - 1) w^4 + u (v - w^2)^2 + u^2 (v - 1) v))/((u - v) (u^2 - w^2) (v - w^2))); Print["XA = ", XA];
  30. ZC = Simplify[Sqrt[(z - c) (\!\(\*OverscriptBox[\(z\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\))]]; ZC = -(((u - 1) ((v - w^2) u^2 - (v - 1)^2 w^2 u + v w^2 (w^2 - v)))/((u - v) (u^2 - w^2) (v - w^2))); Print["ZC = ", ZC];
  31. YZ = Simplify[Sqrt[(y - z) (\!\(\*OverscriptBox[\(y\), \(_\)]\) - \!\(\*OverscriptBox[\(z\), \(_\)]\))]]; YZ = ((u - 1) (v - 1) w (w^2 +
  32.      u))/((u^2 - w^2) (w^2 - v)); Print["YZ = ", YZ];
  33. DY = Simplify[Sqrt[(d - y) (\!\(\*OverscriptBox[\(d\), \(_\)]\) - \!\(\*OverscriptBox[\(y\), \(_\)]\))]]; DY = -(((u - 1) (v - 1) v (u v - w^2) (w^2 - 1))/((u - v) (v - w^2) (v^2 - 2 w^2 v + w^2 + u (v^2 - 2 v + w^2)))); Print["DY = ", DY];
  34. CD = Simplify[Sqrt[(c - d) (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\))]]; CD = ((u - 1) v (w^2 - 1))/(
  35. v^2 - 2 w^2 v + w^2 + u (v^2 - 2 v + w^2)); Print["CD = ", CD];
  36. L1 = Simplify[AD + TD + XT + XA]; Print["AD+TD+XT+XA = ", L1];
  37. L2 = Simplify[CD + DY + YZ + ZC]; Print["CD+DY+YZ+ZC = ", L2];
  38. Print["因此 AD+TD+XT+XA = CD+DY+YZ+ZC"];
复制代码

程序运行结果:
例17运行结果.png

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-9-30 09:58
本帖最后由 TSC999 于 2023-11-8 13:38 编辑 例 18:
P、Q 是 △ABC的一对布洛卡点,D 在△ABC的外接圆上并满足 AD⊥PD,H 是 △APE的垂心。
证明:QH⊥BC。
例18题图.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. (*以下两个布洛卡点的坐标引用已有公式,不再推导:*)
  5. p = Simplify[(b \!\(\*OverscriptBox[\(a\), \(_\)]\) (a - c) + c \!\(\*OverscriptBox[\(b\), \(_\)]\) (b - a) + a \!\(\*OverscriptBox[\(c\), \(_\)]\) (c - b))/(\!\(\*OverscriptBox[\(b\), \(_\)]\) (b - a) + \!\(\*OverscriptBox[\(a\), \(_\)]\) (a - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (c - b))]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Simplify[(\!\(\*OverscriptBox[\(b\), \(_\)]\) \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a) + \!\(\*OverscriptBox[\(a\), \(_\)]\) (\!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (c - b)))/(
  6. \!\(\*OverscriptBox[\(a\), \(_\)]\) (a - b) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (c - a) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (b - c))];
  7. q = Simplify[(c \!\(\*OverscriptBox[\(a\), \(_\)]\) (a - b) + a \!\(\*OverscriptBox[\(b\), \(_\)]\) (b - c) + b \!\(\*OverscriptBox[\(c\), \(_\)]\) (c - a))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (a - b) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (c - a) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (b - c))];
  8. \!\(\*OverscriptBox[\(q\), \(_\)]\) = Simplify[(\!\(\*OverscriptBox[\(b\), \(_\)]\) \!\(\*OverscriptBox[\(c\), \(_\)]\) (c - a) + \!\(\*OverscriptBox[\(a\), \(_\)]\) (\!\(\*OverscriptBox[\(c\), \(_\)]\) (a - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (b - c)))/(\!\(\*OverscriptBox[\(b\), \(_\)]\) (b - a) + \!\(\*OverscriptBox[\(a\), \(_\)]\) (a - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (c - b))];
  9. f = (a + p)/2; \!\(\*OverscriptBox[\(f\), \(_\)]\) = (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(p\), \(_\)]\))/2;(*AP的中点坐标*)
  10. W1 = {d, \!\(\*OverscriptBox[\(d\), \(_\)]\)} /. Simplify@Solve[{(o - d) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)) == 1, (f - a) (\!\(\*OverscriptBox[\(f\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) == (f - d) (\!\(\*OverscriptBox[\(f\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)), d != a}, {d, \!\(\*OverscriptBox[\(d\), \(_\)]\)}] // Flatten;
  11. d = Part[W1, 1]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Part[W1, 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. e = Simplify@Jd[1, b, k[a, d], a]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[1, b, k[a, d], a];
  16. hh [a_, b_, c_] := ((b - c) (b + c - a) \!\(\*OverscriptBox[\(a\), \(_\)]\) + (c - a) (c + a - b) \!\(\*OverscriptBox[\(b\), \(_\)]\) + (a - b) (a + b - c) \!\(\*OverscriptBox[\(c\), \(_\)]\))/((b - c) \!\(\*OverscriptBox[\(a\), \(_\)]\) + (c - a) \!\(\*OverscriptBox[\(b\), \(_\)]\) + (a - b) \!\(\*OverscriptBox[\(c\), \(_\)]\));  (*由三顶点求垂心*)
  17. \!\(\*OverscriptBox[\(hh\), \(_\)]\) [a_, b_, c_] := ((\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)) (\!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) a + (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) (\!\(\*OverscriptBox[\(c\), \(_\)]\) + \!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) b + (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)) c)/((\!\(\*OverscriptBox[\(b\), \(_\)]\) -
  18. \!\(\*OverscriptBox[\(c\), \(_\)]\)) a + (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) b + (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) c);   
  19. h = Simplify@hh [a, p, e]; \!\(\*OverscriptBox[\(h\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(hh\), \(_\)]\) [a, p, e];(*\[EmptyUpTriangle]APE的垂心*)
  20. Print["QH的复斜率 = ", Simplify[k[q, h]]];
  21. Print["由于QH的复斜率等于 -1,而BC的复斜率等于 1,所以 QH\[UpTee]BC。 "];
复制代码

程序运行结果:
例18题运行结果.png

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

GMT+8, 2025-3-4 12:05

Powered by Discuz!

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