找回密码
 快速注册
搜索
楼主: TSC999

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

[复制链接]

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-9-30 12:29
本帖最后由 TSC999 于 2023-11-8 13:48 编辑 例 19:
△ABC的外心为 O,AH 为高,M 为 BC 中点,N 为 AH 中点。P = AO∩MN,在 OH 的延长线上取一点 Q 满足∠OAH =∠OQA,R =
  AQ∩BC,在 PN 关于 AH 的镜像线上取点 X 使 AX⊥OX。 证明:PH 为圆AHR 与圆XHQ 的根轴。
例19题.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. h = (I (u^2 (v^2 + 1) + v^2 - 1))/(2 u v); \!\(\*OverscriptBox[\(h\), \(_\)]\) = (I (u^2 (v^2 - 1) - v^2 - 1))/( 2 u v);
  5. m = (b + c)/2; \!\(\*OverscriptBox[\(m\), \(_\)]\) = (\!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\))/2; n = (a + h)/2;
  6. \!\(\*OverscriptBox[\(n\), \(_\)]\) = (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(h\), \(_\)]\))/2;
  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. p = Simplify@Jd[k[a, o], o, k[m, n], n]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, o], o, k[m, n], n];
  11. W1 = {q, \!\(\*OverscriptBox[\(q\), \(_\)]\)} /. Simplify@Solve[{k[a, h]/k[a, o] == k[q, o]/k[q, a], k[o, h] == k[o, q]}, {q, \!\(\*OverscriptBox[\(q\), \(_\)]\)}] // Flatten;q = Part[W1, 1]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Part[W1, 2];
  12. r = Simplify@Jd[1, b, k[a, q], a]; \!\(\*OverscriptBox[\(r\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[1, b, k[a, q], a];
  13. W2 = {x, \!\(\*OverscriptBox[\(x\), \(_\)]\)} /. Simplify@Solve[{k[x, o] == -k[x, a], k[n, x] == 1/k[n, m]}, {x, \!\(\*OverscriptBox[\(x\), \(_\)]\)}] // Flatten;x = Part[W2, 3]; \!\(\*OverscriptBox[\(x\), \(_\)]\) = Part[W2, 4];
  14. o1 = Simplify[(a + r)/2]; \!\(\*OverscriptBox[\(o1\), \(_\)]\) = Simplify[(\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(r\), \(_\)]\))/2];
  15. 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) +
  16. \!\(\*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) +
  19. \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a));
  20. o2 = Simplify@WX[x, h, q]; \!\(\*OverscriptBox[\(o2\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[x, h, q];
  21. Jx[p_, a_, b_] := (\!\(\*OverscriptBox[\(a\), \(_\)]\) b - a \!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(p\), \(_\)]\) (a - b))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\));(*P点的镜像点,镜线是AB*)
  22. \!\(\*OverscriptBox[\(Jx\), \(_\)]\)[p_, a_, b_] := (a \!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\) b + p (
  23. \!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)))/(a - b);
  24. d = Simplify@Jx[h, o1, o2]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jx\), \(_\)]\)[h, o1, o2];
  25. Print["PH 的复斜率 kPH = ", Simplify[k[p, h]]];
  26. Print["DH 的复斜率 kDH = ", Simplify[k[d, h]]];
  27. Print["由于 kPH = kDH,所以 P、H、D 共线,故 PH 为圆AHR 与圆XHQ 的根轴。"];
复制代码

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

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-10-1 12:16
本帖最后由 TSC999 于 2023-11-8 14:02 编辑 例 20:
P、Q 是 △ABC 的等角共轭点,圆 G 是 P 或 Q 关于 △ABC 的垂足圆。EQD⊥BC,F = AE∩BC, J ∈ 圆ABC 且 AJ⊥AP,证明:∠AFC =∠AJP。
题.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; kBC = 1; kAB = u^2; kAC = v^2;
  4. (*kBQ=w1=kBC\[ExponentialE]^(2\[ImaginaryI]\[Beta])=\[ExponentialE]^(2\[ImaginaryI]\[Beta]);w2=\[ExponentialE]^(2\[ImaginaryI]\[Alpha]);w3=\[ExponentialE]^(2\[ImaginaryI]\[Gamma]); *)
  5. kBQ = w1; kBP = kAB/w1;  kAP = kAB w2; kAQ = kAC/w2; kCP = 1/w3; kCQ = kAC w3;
  6. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  7. (*过A1点、复斜率等于k1的直线,与过A2点、复斜率等于k2的直线的交点:*)
  8. 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));
  9. p1 = Simplify@Jd[kAP, a, kBP, b]; \!\(\*OverscriptBox[\(p1\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kAP, a, kBP, b];p = p1; \!\(\*OverscriptBox[\(p\), \(_\)]\) = \!\(\*OverscriptBox[\(p1\), \(_\)]\);
  10. Print["p = ", p1];
  11. q = Simplify@Jd[kAQ, a, kCQ, c]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kAQ, a, kCQ, c]; \!\(\*OverscriptBox[\(qq\), \(_\)]\) = \!\(\*OverscriptBox[\(q\), \(_\)]\);p2 = Simplify@Jd[kAP, a, kCP, c];
  12. \!\(\*OverscriptBox[\(p2\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kAP, a, kCP, c];
  13. W1 = {w3} /. Simplify@Solve[{p1 == p2}, w3] // Flatten; w3 = Part[W1, 1]; Print["w3 = ", w3];q = Simplify[q];
  14. \!\(\*OverscriptBox[\(q\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(qq\), \(_\)]\)]; Print["q = ", q];
  15. W2 = {j, \!\(\*OverscriptBox[\(j\), \(_\)]\)} /. Simplify@Solve[{(o - j) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(j\), \(_\)]\)) == 1, k[a, j] == -k[a, p]}, {j, \!\(\*OverscriptBox[\(j\), \(_\)]\)}] // Flatten;
  16. j = Part[W2, 1]; \!\(\*OverscriptBox[\(j\), \(_\)]\) = Part[W2, 2];g = (p + q)/2; \!\(\*OverscriptBox[\(g\), \(_\)]\) = (\!\(\*OverscriptBox[\(p\), \(_\)]\) + \!\(\*OverscriptBox[\(q\), \(_\)]\))/2;
  17. d = Simplify@Jd[1, b, -1, q]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[1, b, -1, q]; Print["d = ", d];
  18. Jx1[p_, a_, k_] := -k \!\(\*OverscriptBox[\(a\), \(_\)]\) + k \!\(\*OverscriptBox[\(p\), \(_\)]\) + a;  (*P点的镜线P1,镜线过已知点A且复斜率为k*)
  19. \!\(\*OverscriptBox[\(Jx1\), \(_\)]\)[p_, a_, k_] := (k \!\(\*OverscriptBox[\(a\), \(_\)]\) - a + p)/k;
  20. e = Simplify@Jx1[d, g, 1]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jx1\), \(_\)]\)[d, g, 1];
  21. f = Simplify@Jd[k[a, e], e, 1, b]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, e], e, 1,
  22.    b]; Print["f = ", f];
  23. Print["\!\(\*FractionBox[\(复斜率\\\ kFA\), \(复斜率\\\ kFC\)]\) = ", Simplify[k[f, a]/k[f, c]]];
  24. Print["\!\(\*FractionBox[\(复斜率\\\ kJA\), \(复斜率\\\ kJP\)]\) = ", Simplify[k[j, a]/k[j, p]]];
  25. Print["由于 \!\(\*FractionBox[\(\(\\\ \)\(kFA\)\), \(\(\\\ \)\(kFC\)\)]\) = \!\(\*FractionBox[\(\(\\\ \)\(kJA\)\), \(\(\\\ \)\(kJP\)\)]\),所以 \[Angle]AFC = \[Angle]AJP "];
复制代码

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

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-10-1 20:21
本帖最后由 TSC999 于 2023-11-8 14:27 编辑 例 21:
△ABC的垂心为 H,N、S分别为北极点和南极点,圆ABC上有一点 P,过 N 的直线分别交 AB、AC 于 X、Y, Q = YX∩HS,圆ABC 在 B、C 处的两条切线交于 T。证明:若 △PXA 顺相似于△⊥PAY,则 AS⊥QT。
题.png
说明.png
程序代码:
  1. Clear["Global`*"];(*令△ABC的外接圆为单位圆,圆心O为坐标原点,且BC边平行于实轴,*)
  2. (*AB、AC、AP 的复斜率分别为 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; kAP = w^2;n = I; \!\(\*OverscriptBox[\(n\), \(_\)]\) = -I; s = -I; \!\(\*OverscriptBox[\(s\), \(_\)]\) = I; h = ( I ((v^2 + 1) u^2 + v^2))/(u v); \!\(\*OverscriptBox[\(h\), \(_\)]\) = -((I (u^2 + v^2 + 1))/(u v));
  5. p = -\!\(\*OverscriptBox[\(a\), \(_\)]\) kAP; \!\(\*OverscriptBox[\(p\), \(_\)]\) = -a/kAP; \!\(\*OverscriptBox[\(pp\), \(_\)]\) =
  6. \!\(\*OverscriptBox[\(p\), \(_\)]\);x = \[Lambda] a + (1 - \[Lambda]) b;(*\[Lambda]=BX/BA*)\!\(\*OverscriptBox[\(x\), \(_\)]\) = \[Lambda] \!\(\*OverscriptBox[\(a\), \(_\)]\) + (1 - \[Lambda]) \!\(\*OverscriptBox[\(b\), \(_\)]\);
  7. \!\(\*OverscriptBox[\(xx\), \(_\)]\) = \!\(\*OverscriptBox[\(x\), \(_\)]\);
  8. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  9. (*过A1点、复斜率等于k1的直线,与过A2点、复斜率等于k2的直线的交点:*)
  10. 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));
  11. y = Simplify@Jd[k[n, x], n, kAC, a]; \!\(\*OverscriptBox[\(y\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[n, x], n, kAC, a]; \!\(\*OverscriptBox[\(yy\), \(_\)]\) = \!\(\*OverscriptBox[\(y\), \(_\)]\);W1 = {\[Lambda]} /. Simplify@Solve[{k[p, a]/k[p, x] == k[p, y]/k[p, a]}, {\[Lambda]}] //Flatten ; (*若\[Angle]APX=\[Angle]YPA,求\[Lambda]*)
  12. \[Lambda] = Part[W1, 2]; Print["\[Lambda] = ", \[Lambda]];
  13. y = Simplify[y]; \!\(\*OverscriptBox[\(y\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(yy\), \(_\)]\)];
  14. \!\(\*OverscriptBox[\(yy\), \(_\)]\) = \!\(\*OverscriptBox[\(y\), \(_\)]\); Print["y = ", y];x = Simplify[x];
  15. \!\(\*OverscriptBox[\(x\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(xx\), \(_\)]\)];
  16. \!\(\*OverscriptBox[\(xx\), \(_\)]\) = \!\(\*OverscriptBox[\(x\), \(_\)]\); Print["x = ", x];
  17. W2 = {w} /. Simplify@Solve[{k[a, x]/k[a, p] == k[y, a]/k[y, p]}, {w}] // Flatten;w = Part[W2, 1]; Print["w = ", w];(*w=Part[W2,2]也行*)
  18. y = Simplify[y]; \!\(\*OverscriptBox[\(y\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(yy\), \(_\)]\)]; Print["y = ", y];x = Simplify[x];
  19. \!\(\*OverscriptBox[\(x\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(xx\), \(_\)]\)]; Print["x = ", x]; p = Simplify[p];
  20. \!\(\*OverscriptBox[\(p\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(pp\), \(_\)]\)]; Print["p = ", p];
  21. q = Simplify@Jd[k[n, x], n, k[h, s], s]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[n, x], n, k[h, s], s]; Print["q = ", q];t = Simplify@Jd[-k[o, b], b, -k[o, c], c];
  22. \!\(\*OverscriptBox[\(t\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[-k[o, b], b, -k[o, c], c]; Print["t = ", t];
  23. Print["AS 的复斜率 kAS = ", Simplify[k[a, s]]];
  24. Print["QT 的复斜率 kQT = ", Simplify[k[q, t]]];
  25. Print["由于 kAS = -kQT,所以 AS\[UpTee]QT "];
复制代码

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

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-10-2 17:19
本帖最后由 TSC999 于 2023-11-8 14:40 编辑 例 22:
题.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; kBC = 1; kAB = u^2; kAC = v^2;
  4. (*kBQ=w1=kBC\[ExponentialE]^(2\[ImaginaryI]\[Beta])=\[ExponentialE]^(2\[ImaginaryI]\[Beta]);w2=\[ExponentialE]^(2\[ImaginaryI]\[Alpha]); *)
  5. kBQ = w1; kBP = kAB/w1;  kAP = kAB w2; kAQ = kAC/w2;
  6. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  7. (*过A1点、复斜率等于k1的直线,与过A2点、复斜率等于k2的直线的交点:*)
  8. 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));
  9. p = Simplify@Jd[kAP, a, kBP, b]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kAP, a, kBP, b];
  10. Print["p = ", p];q = Simplify@Jd[kAQ, a, kBQ, b]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kAQ, a, kBQ, b]; \!\(\*OverscriptBox[\(qq\), \(_\)]\) = \!\(\*OverscriptBox[\(q\), \(_\)]\);
  11. Print["q = ", q];Print["\!\(\*FractionBox[\(复斜率\\\ kCQ\), \(复斜率\\\ kCA\)]\) = ", Simplify[k[c, q]/k[c, a]]];
  12. Print["\!\(\*FractionBox[\(复斜率\\\ kCB\), \(复斜率\\\ kCP\)]\) = ", Simplify[k[c, b]/k[c, p]]];
  13. Clear["Global`*"];(*令△ABC的外接圆为单位圆,圆心O为坐标原点,且BC边平行于实轴,AB、AC的复斜率分别为 u^2、v^2 *)
  14. \!\(\*OverscriptBox[\(o\), \(_\)]\) = o = 0; a = I u v; \!\(\*OverscriptBox[\(a\), \(_\)]\) = 1/a; b = I u/v;
  15. \!\(\*OverscriptBox[\(b\), \(_\)]\) = 1/b; c = I v/u; \!\(\*OverscriptBox[\(c\), \(_\)]\) =  1/c; kBC = 1; kAB = u^2; kAC = v^2;
  16. (*kBQ=w1=kBC\[ExponentialE]^(2\[ImaginaryI]\[Beta])=\[ExponentialE]^(2\[ImaginaryI]\[Beta]);w2=\[ExponentialE]^(2\[ImaginaryI]\[Alpha]); *)
  17. kBQ = w1; kBP = kAB/w1;  kAP = kAB w2; kAQ = kAC/w2;
  18. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  19. (*过A1点、复斜率等于k1的直线,与过A2点、复斜率等于k2的直线的交点:*)
  20. 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));
  21. p = Simplify@Jd[kAP, a, kBP, b]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kAP, a, kBP, b];
  22. Print["p = ", p];q = Simplify@Jd[kAQ, a, kBQ, b]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kAQ, a, kBQ, b]; \!\(\*OverscriptBox[\(qq\), \(_\)]\) = \!\(\*OverscriptBox[\(q\), \(_\)]\);
  23. Print["q = ", q];Print["\!\(\*FractionBox[\(复斜率\\\ kCQ\), \(复斜率\\\ kCA\)]\) = ", Simplify[k[c, q]/k[c, a]]];
  24. Print["\!\(\*FractionBox[\(复斜率\\\ kCB\), \(复斜率\\\ kCP\)]\) = ", Simplify[k[c, b]/k[c, p]]];
  25. Print["由于 \!\(\*FractionBox[\(\(\\\ \)\(kCQ\)\), \(\(\\\ \)\(kCA\)\)]\) = \!\(\*FractionBox[\(\(\\\ \)\(kCB\)\), \(\(\\\ \)\(kCP\)\)]\),所以 \[Angle]ACQ=\[Angle]PCB"];
复制代码

程序运行结果:
结果.png

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-10-7 11:43
本帖最后由 TSC999 于 2023-11-8 14:52 编辑 例 23:
题.png
程序代码:
  1. Clear["Global`*"];(*令圆O为单位圆且圆心在坐标原点。AB平行于实轴,复斜率 kOE=u^2,kOF=v^2 *)
  2. \!\(\*OverscriptBox[\(o\), \(_\)]\) = o = 0; \!\(\*OverscriptBox[\(a\), \(_\)]\) = 1/a; b = -\!\(\*OverscriptBox[\(a\), \(_\)]\);
  3. \!\(\*OverscriptBox[\(b\), \(_\)]\) = -a; e = u; \!\(\*OverscriptBox[\(e\), \(_\)]\) = 1/u; f = v; \!\(\*OverscriptBox[\(f\), \(_\)]\) = 1/v; s = -I; \!\(\*OverscriptBox[\(s\), \(_\)]\) = I;
  4. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  5. 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));
  6. c = Simplify@Jd[k[s, e], s, 1, a]; \!\(\*OverscriptBox[\(c\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[s, e], s, 1, a];
  7. Print["c = ", c];d = Simplify@Jd[k[s, f], s, 1, a]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[s, f], s, 1, a];Print["d = ", d];
  8. q = Simplify@Jd[k[e, o], o, -1, c]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[e, o], o, -1, c];Print["q = ", q];p = Simplify@Jd[k[f, o], o, -1, d];
  9. \!\(\*OverscriptBox[\(p\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[f, o], o, -1, d];Print["p = ", p];
  10. x = Simplify[p + (\!\(\*OverscriptBox[\(p\), \(_\)]\) - \!\(\*OverscriptBox[\(f\), \(_\)]\)) v^2];
  11. \!\(\*OverscriptBox[\(x\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(p\), \(_\)]\) + (p - f)/v^2]; Print["x = ", x];
  12. y = Simplify[q + (\!\(\*OverscriptBox[\(q\), \(_\)]\) - \!\(\*OverscriptBox[\(e\), \(_\)]\)) u^2];
  13. \!\(\*OverscriptBox[\(y\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(q\), \(_\)]\) + (q - e)/u^2]; Print["y = ", y];
  14. z = Simplify@Jd[k[d, x], x, k[c, y], y]; \!\(\*OverscriptBox[\(z\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[d, x], x, k[c, y], y];Print["z = ", z];g = Simplify@Jd[k[p, b], b, k[q, a], a]; \!\(\*OverscriptBox[\(g\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[p, b], b, k[q, a], a];Print["g = ", g];
  15. W1 = {m, \!\(\*OverscriptBox[\(m\), \(_\)]\)} /. Simplify@Solve[{(o - m) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(m\), \(_\)]\)) == 1, k[z, g] == k[z, m]}, {m, \!\(\*OverscriptBox[\(m\), \(_\)]\)}] // Flatten;
  16. m = Part[W1, 3]; \!\(\*OverscriptBox[\(m\), \(_\)]\) = Part[W1, 4]; Print["m = ", m];
  17. Print["复斜率 kMZ 的平方 = ", Simplify[k[m, z]^2]];
  18. Print["复斜率 kMA\[Times]kMB = ", Simplify[k[m, a] k[m, b]]];
  19. Print["由于 \!\(\*SuperscriptBox[\(kMZ\), \(2\)]\) = kMA \[Times] kMB,所以 MZ 平分 \[Angle]AMB "];
  20. Print["MZ 与 OS 的交点 N = ", Simplify@Jd[k[s, o], o, k[m, z], z]];
  21. Print["因为 N 的坐标为 \[ImaginaryI],所以 N 是北极点,即北极点在 MZ 上。"];
复制代码

程序运行代码:
结果.png

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-10-9 19:19
本帖最后由 TSC999 于 2023-11-8 15:10 编辑 例 24:
凸四边形 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 四点共圆。
题.png
程序代码:
  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];
  16. \!\(\*OverscriptBox[\(q\), \(_\)]\) = Part[W2, 4];
  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_] := (\!\(\*OverscriptBox[\(a\), \(_\)]\) \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - b) +
  20. \!\(\*OverscriptBox[\(b\), \(_\)]\) \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) \!\(\*OverscriptBox[\(a\), \(_\)]\) (c - a))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) +
  21. \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a));
  22. o3 = Simplify@WX[d, c, m]; \!\(\*OverscriptBox[\(o3\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[d, c, m];
  23. Print["c = ", c, ",  d = ", d, ",  h = ", h, ",  g = ", g];
  24. 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, \!\(\*OverscriptBox[\(n\), \(_\)]\)}] // Flatten;
  25. n = Part[W3, 1]; \!\(\*OverscriptBox[\(n\), \(_\)]\) = Part[W3, 2];
  26. Print["o3 = ", o3, ",  p = ", p, ",  q = ", q, ",  n = ", n];
  27. Print["复斜率 kQT/kQP = ", Simplify[k[q, t]/k[q, p]]];
  28. Print["复斜率 kNT/kNP = ", Simplify[k[n, t]/k[n, p]]];
  29. Print["由于 kQT/kQP = kNT/kNP,所以 \[Angle]TQP = \[Angle]TNP,故 NTPQ 四点共圆 "];
复制代码

运行结果:
结果.png

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-10-12 09:40
本帖最后由 TSC999 于 2023-11-8 15:23 编辑 例 25:
题.png
程序代码:
  1. Clear["Global`*"];
  2. \!\(\*OverscriptBox[\(p\), \(_\)]\) = p = 0; \!\(\*OverscriptBox[\(f\), \(_\)]\) = f; kPF=1; kPA=u;  kPB =  1/u;  kAD = v; kBC = w;
  3. (*过A1点、复斜率等于k1的直线,与过A2点、复斜率等于k2的直线的交点:*)
  4. 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));
  5. a = Simplify@Jd[kPA, p, kAD, f]; \!\(\*OverscriptBox[\(a\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kPA, p, kAD, f];
  6. c = Simplify@Jd[kPA, p, kBC, f]; \!\(\*OverscriptBox[\(c\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kPA, p, kBC, f];
  7. b = Simplify@Jd[kPB, p, kBC, f]; \!\(\*OverscriptBox[\(b\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kPB, p, kBC, f];
  8. d = Simplify@Jd[kPB, p, kAD, f]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kPB, p, kAD, f];
  9. Print["\!\(\*FractionBox[SuperscriptBox[\(AC\), \(2\)], SuperscriptBox[\(BD\), \(2\)]]\) = ", Simplify[((a - c) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)))/((b - d) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)))]];
  10. Print["\!\(\*FractionBox[SuperscriptBox[\(PA\), \(2\)], SuperscriptBox[\(PB\), \(2\)]]\)\!\(\*FractionBox[SuperscriptBox[\(PC\
  11. \), \(2\)], SuperscriptBox[\(PD\), \(2\)]]\)= ", Simplify[((p - a) (\!\(\*OverscriptBox[\(p\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)))/((p - b) (\!\(\*OverscriptBox[\(p\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\))) ((p - c) (\!\(\*OverscriptBox[\(p\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)))/((p - d) (\!\(\*OverscriptBox[\(p\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)))]];
  12. Print["由于 \!\(\*FractionBox[SuperscriptBox[\(AC\), \(2\)], SuperscriptBox[\(BD\), \(2\)]]\) = \
  13. \!\(\*FractionBox[SuperscriptBox[\(PA\), \(2\)], SuperscriptBox[\(PB\), \(2\)]]\)\!\(\*FractionBox[SuperscriptBox[\(PC\
  14. \), \(2\)], SuperscriptBox[\(PD\), \(2\)]]\),所以 \!\(\*FractionBox[\(AC\), \(BD\)]\) = \!\(\*FractionBox[\(PA\), \
  15. \(PB\)]\)\!\(\*FractionBox[\(PC\), \(PD\)]\)"];  
复制代码

程序运行结果:
结果.png

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-10-13 20:01
本帖最后由 TSC999 于 2023-11-8 15:45 编辑 例 26:
题.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/(I u v); b = (I u)/v;  
  3. \!\(\*OverscriptBox[\(b\), \(_\)]\) = v/(I u);  c = (I v)/u;  \!\(\*OverscriptBox[\(c\), \(_\)]\) = u/(I v);
  4. i = I (u + v - 1); \!\(\*OverscriptBox[\(i\), \(_\)]\) = -I (1/u + 1/v - 1);
  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, c], a, k[b, i], b]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, c], a, k[b, i], b];
  9. f = Simplify@Jd[k[a, b], a, k[c, i], c]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, b], a, k[c, i], c];
  10. W1 = {z, \!\(\*OverscriptBox[\(z\), \(_\)]\)} /. Simplify@Solve[{(o - z) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(z\), \(_\)]\)) == 1, k[f, e] == k[e, z]}, {z, \!\(\*OverscriptBox[\(z\), \(_\)]\)}] // Flatten;
  11. p = Part[W1, 1]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Part[W1, 2]; q = Part[W1, 3]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Part[W1, 4];
  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));(*三角形 ABC 的外心坐标:*)   
  14. \!\(\*OverscriptBox[\(WX\), \(_\)]\)[a_, b_, c_] := (\!\(\*OverscriptBox[\(a\), \(_\)]\) \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - b) +
  15. \!\(\*OverscriptBox[\(b\), \(_\)]\) \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\)
  16. \!\(\*OverscriptBox[\(a\), \(_\)]\) (c - a))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) +
  17. \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a));
  18. o1 = Simplify@WX[i, p, q]; \!\(\*OverscriptBox[\(o1\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[i, p, q];
  19. Print["O1 圆的半径 = ", Simplify[Sqrt[(o1 - i) (\!\(\*OverscriptBox[\(o1\), \(_\)]\) - \!\(\*OverscriptBox[\(i\), \(_\)]\))]]];
  20. Print["由于圆O1的半径为 2,圆O的半径为 1,所以圆O1半径等于圆O半径的二倍。"];
  21. BC = Simplify[Sqrt[(b - c) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\))]]; BC = ( I (v^2 - u^2))/(u v);
  22. AC = Simplify[Sqrt[(a - c) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\))]]; AC = (I (1 - u^2))/u;
  23. AB = Simplify[Sqrt[(a - b) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\))]]; AB = (I (v^2 - 1))/v;
  24. Subscript[I, B] = Simplify[(BC a - AC b + AB c)/(BC - AC + AB)];
  25. \!\(\*OverscriptBox[SubscriptBox[\(I\), \(B\)], \(_\)]\) = Simplify[(BC \!\(\*OverscriptBox[\(a\), \(_\)]\) - AC \!\(\*OverscriptBox[\(b\), \(_\)]\) + AB \!\(\*OverscriptBox[\(c\), \(_\)]\))/(BC - AC + AB)];
  26. Subscript[I, C] = Simplify[(BC a + AC b - AB c)/(BC + AC - AB)]; \!\(\*OverscriptBox[SubscriptBox[\(I\), \(C\)], \(_\)]\) = Simplify[(BC \!\(\*OverscriptBox[\(a\), \(_\)]\) + AC \!\(\*OverscriptBox[\(b\), \(_\)]\) - AB \!\(\*OverscriptBox[\(c\), \(_\)]\))/(BC + AC - AB)];
  27. Print["p = ", p]; Print["q = ", q]; Print["o1 = ", o1]; Print["\!\(\*SubscriptBox[\(I\), \(B\)]\) = ", Subscript[I, B]]; \
  28. Print["\!\(\*SubscriptBox[\(I\), \(C\)]\) = ", Subscript[I, C]];
  29. Print["\!\(\*SubscriptBox[\(O1I\), \(B\)]\) = ",  Simplify[Sqrt[(o1 - Subscript[I, B]) (\!\(\*OverscriptBox[\(o1\), \(_\)]\) - \!\(\*OverscriptBox[SubscriptBox[\(I\), \(B\)], \(_\)]\))]]];
  30. Print["\!\(\*SubscriptBox[\(O1I\), \(C\)]\) = ", Simplify[Sqrt[(o1 - Subscript[I, C]) (\!\(\*OverscriptBox[\(o1\), \(_\)]\) - \!\(\*OverscriptBox[SubscriptBox[\(I\), \(C\)], \(_\)]\))]]];
  31. Print["由于 \!\(\*SubscriptBox[\(O1I\), \(B\)]\) = 2,所以 \!\(\*SubscriptBox[\(I\), \(B\)]\) 在 O1 圆上。"];
  32. Print["由于 \!\(\*SubscriptBox[\(O1I\), \(C\)]\) = 2,所以 \!\(\*SubscriptBox[\(I\), \(C\)]\) 在 O1 圆上。"];
复制代码

程序运行结果:
结果.png

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-10-15 09:44
本帖最后由 TSC999 于 2023-11-8 15:51 编辑 例 27:
题.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/(I u v); b = (I u)/v;  
  3. \!\(\*OverscriptBox[\(b\), \(_\)]\) = v/(I u);  c = (I v)/u;  \!\(\*OverscriptBox[\(c\), \(_\)]\) = u/(I v);  
  4. p = y I; \!\(\*OverscriptBox[\(p\), \(_\)]\) = -y I; m = (a + b)/2; \!\(\*OverscriptBox[\(m\), \(_\)]\) = (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(b\), \(_\)]\))/2; n = (a + c)/2;
  5. \!\(\*OverscriptBox[\(n\), \(_\)]\) = (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\))/2;
  6. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  7. (*过A1点、复斜率等于k1的直线,与过A2点、复斜率等于k2的直线的交点:*)
  8. 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));
  9. d = Simplify@Jd[-k[a, b], o, k[b, p], b]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[-k[a, b], o, k[b, p], b];
  10. e = Simplify@Jd[-k[a, c], o, k[c, p], c]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[-k[a, c], o, k[c, p], c];
  11. Foot[p_, a_, b_] := p/2 + ( \!\(\*OverscriptBox[\(a\), \(_\)]\) b - a \!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(p\), \(_\)]\) (a - b))/(2 (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)));  (* 从P点向AB直线引垂线,垂足的复坐标 *)
  12. \!\(\*OverscriptBox[\(Foot\), \(_\)]\)[p_, a_, b_] := \!\(\*OverscriptBox[\(p\), \(_\)]\)/2 + (a \!\(\*OverscriptBox[\(b\), \(_\)]\) -
  13. \!\(\*OverscriptBox[\(a\), \(_\)]\) b + p (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)))/(2 (a - b));  
  14. q = Simplify@Foot[o, d, e]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Foot\), \(_\)]\)[o, d, e];
  15. Print["复斜率 kPQ 与复斜率 kAQ 之乘积 = ", Simplify[k[p, q] k[a, q]]];
  16. Print["复斜率 kOQ 的平方 = ", Simplify[k[o, q]^2]];
  17. Print["由于 kPQ \[Times] kAQ = \!\(\*SuperscriptBox[\(kOQ\), \(2\)]\),所以 OQ 是 \[Angle]AQP 的平分线。 "];
复制代码

结果.png

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-10-17 10:19
本帖最后由 TSC999 于 2023-11-8 16:03 编辑 例 28:
题.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/(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];f = Simplify@Jd[k[a, c], a, k[o, h], o]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, c], a, k[o, h], o];
  9. Print["E = ", e]; Print["F = ", f];
  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) +
  11. \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a));(*三角形 ABC 的外心坐标:*)   
  12. \!\(\*OverscriptBox[\(WX\), \(_\)]\)[a_, b_, c_] := (\!\(\*OverscriptBox[\(a\), \(_\)]\) \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - b) +
  13. \!\(\*OverscriptBox[\(b\), \(_\)]\) \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) \!\(\*OverscriptBox[\(a\), \(_\)]\) (c - a))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) +
  14. \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a));
  15. s = Simplify@WX[a, e, f]; \!\(\*OverscriptBox[\(s\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[a, e, f]; Print["S = ", s];
  16. 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;
  17. p = Part[W1, 1]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Part[W1, 2]; Print["P = ", p];
  18. m = Simplify@WX[o, s, p]; \!\(\*OverscriptBox[\(m\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[o, s, p];
  19. Print["M = ", m];
  20. 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;
  21. q = Part[W2, 1]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Part[W2, 2]; Print["Q = ", q];
  22. W3 = {d, \!\(\*OverscriptBox[\(d\), \(_\)]\)} /. Simplify@Solve[{k[o, h] == k[o, d], (m - d) (\!\(\*OverscriptBox[\(m\), \(_\)]\) -
  23. \!\(\*OverscriptBox[\(d\), \(_\)]\)) == (m - o) (\!\(\*OverscriptBox[\(m\), \(_\)]\) - \!\(\*OverscriptBox[\(o\), \(_\)]\))}, {d, \!\(\*OverscriptBox[\(d\), \(_\)]\)}] // Flatten;d = Part[W3, 1]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Part[W3, 2]; Print["D = ", d];
  24. W4 = {g, \!\(\*OverscriptBox[\(g\), \(_\)]\)} /. Simplify@Solve[{k[q, g] == k[q, d], (o - g) (\!\(\*OverscriptBox[\(o\), \(_\)]\) -
  25. \!\(\*OverscriptBox[\(g\), \(_\)]\)) == 1}, {g, \!\(\*OverscriptBox[\(g\), \(_\)]\)}] // Flatten;
  26. g = Part[W4, 1]; \!\(\*OverscriptBox[\(g\), \(_\)]\) = Part[W4, 2]; Print["G = ", g];
  27. n = Simplify@Jd[k[p, q], p, k[o, h], o]; \!\(\*OverscriptBox[\(n\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[p, q], p, k[o, h], o]; Print["N = ", n];
  28. x = Simplify@WX[h, n, g]; \!\(\*OverscriptBox[\(x\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[h, n, g]; Print["X = ", x];
  29. Print["直线 OX 的复斜率 kOX = ", Simplify[k[o, x]]];
  30. Print["直线 OG 的复斜率 kOG = ", Simplify[k[o, g]]];
  31. Print["由于 kOX = kOG,所以 O、X、G 三点共线,故圆X 与圆O 相切于 G。 "];
复制代码

结果.png

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-10-18 19:54
本帖最后由 TSC999 于 2023-11-8 16:14 编辑 例 29:
题.png
程序代码:
  1. Clear["Global`*"]; (*令△ABC的外接圆为单位圆O,BC边平行于实轴,AB、AC的复斜率分别为 u^2、v^2 *)
  2. (*令\[Angle]ABC=60^\[Degree]*)u = 1/2 + Sqrt[3]/2 I;\!\(\*OverscriptBox[\(o\), \(_\)]\) = o = 0; a = \[Lambda] I u v;   
  3. \!\(\*OverscriptBox[\(a\), \(_\)]\) = \[Lambda] 1/( I u v); b = \[Lambda] (I u)/v;  \!\(\*OverscriptBox[\(b\), \(_\)]\) = \[Lambda] v/( I u);  c = \[Lambda] (I v)/u;  \!\(\*OverscriptBox[\(c\), \(_\)]\) = \[Lambda] 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. Foot[p_, a_, b_] := p/2 + ( \!\(\*OverscriptBox[\(a\), \(_\)]\) b - a \!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(p\), \(_\)]\) (a - b))/(2 (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)));  (* 从P点向AB直线引垂线,垂足的复坐标 *)
  6. \!\(\*OverscriptBox[\(Foot\), \(_\)]\)[p_, a_, b_] := \!\(\*OverscriptBox[\(p\), \(_\)]\)/2 + (a \!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\) b + p (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)))/(2 (a - b));  
  7. d = Simplify@Foot[a, b, c]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Foot\), \(_\)]\)[a, b, c];
  8. e = Simplify@Foot[b, a, c]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Foot\), \(_\)]\)[b, a, c];
  9. f = Simplify@Foot[c, a, b]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Foot\), \(_\)]\)[c, a, b];
  10. S[a_, b_, c_] := (\!\(\*OverscriptBox[\(a\), \(_\)]\) (b - c) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (c - a) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (a - b))/(4 I);(*已知三角形各顶点坐标,求其有向面积,ABC逆时针向环绕*)
  11. S1 = Simplify@S[a, b, c]; S1 = -((I \[Lambda]^2 (u^2 - 1) (v^2 - 1) (u^2 - v^2))/(4 u^2 v^2));
  12. S2 = Simplify@S[d, e, f]; S2 = ( I \[Lambda]^2 (u^4 - 1) (v^4 - 1) (u^4 - v^4))/(16 u^4 v^4);
  13. FullSimplify@Solve[{S1 == 870, S2 == 48}, {v, \[Lambda]}];
  14. \[Lambda] = (290 Power[3, (4)^-1])/Sqrt[161]; v = ((-1)^(5/12) Sqrt[Sqrt[52771] + 177 I])/Sqrt[290];
  15. a = \[Lambda] I u v; \!\(\*OverscriptBox[\(a\), \(_\)]\) = \[Lambda] 1/( I u v); b = \[Lambda] (I u)/v;  
  16. \!\(\*OverscriptBox[\(b\), \(_\)]\) = \[Lambda] v/(I u);  c = \[Lambda] (I v)/u;  
  17. \!\(\*OverscriptBox[\(c\), \(_\)]\) = \[Lambda] u/(I v); Print["A = ", N[a]]; Print["B = ", N[b]]; Print["C = ", N[c]];
  18. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  19.   fsin\[Angle][a_, b_, c_] := -((k[b, c] - k[a, b])^2/(4 k[b, c] k[a, b])) ;(*此函数为sin\[Angle]ABC的平方,ABC逆向环绕*)
  20. Print["\!\(\*SuperscriptBox[\(sin\), \(2\)]\)A+\!\(\*SuperscriptBox[\(sin\), \(2\)]\)B+\!\(\*SuperscriptBox[\(sin\), \(2\)]\)C = ",
  21.   FullSimplify[ fsin\[Angle][a, b, c] + fsin\[Angle][b, c, a] + fsin\[Angle][c, a, b]]];
  22. \[Angle][a_, b_, c_] := ArcTan[I (k[b, a] - k[b, c])/(k[b, a] + k[b, c])];(*从AB边逆时针转到BC边的有向角\[Angle]ABC的角度值:*)
  23. N[180/\[Pi] \[Angle][b, a, c]](*\[Angle]CAB的度数*)
  24. N[180/\[Pi] \[Angle][a, c, b]](*\[Angle]BCA的度数*)
复制代码

程序运行结果:
结果.png

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-10-19 08:53
本帖最后由 TSC999 于 2023-11-8 16:21 编辑 例 30:
题.png
程序代码:
  1. Clear["Global`*"];
  2. \!\(\*OverscriptBox[\(o\), \(_\)]\) = o = 0; \!\(\*OverscriptBox[\(a\), \(_\)]\) = a = -1;
  3. \!\(\*OverscriptBox[\(b\), \(_\)]\) =  b = 1; kOT = u^2;  kAE = v^2; kAP = w^2;
  4. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  5. W1 = {t, \!\(\*OverscriptBox[\(t\), \(_\)]\)} /. Simplify@Solve[{(o - t) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(t\), \(_\)]\)) == 1, k[o, t] == kOT}, {t, \!\(\*OverscriptBox[\(t\), \(_\)]\)}] // Flatten;
  6. t = Part[W1, 1]; \!\(\*OverscriptBox[\(t\), \(_\)]\) = Part[W1, 2];
  7. mAT = (a + t)/2; \!\(\*OverscriptBox[\(mAT\), \(_\)]\) = (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(t\), \(_\)]\))/2;(*AT的中点*)
  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. e = Simplify@Jd[-k[a, t], mAT, kAE, a]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[-k[a, t], mAT, kAE, a];
  11. W2 = {p, \!\(\*OverscriptBox[\(p\), \(_\)]\)} /. Simplify@Solve[{(o - p) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(p\), \(_\)]\)) == 1, k[a, p] == kAP}, {p, \!\(\*OverscriptBox[\(p\), \(_\)]\)}] // Flatten;
  12. p = Part[W2, 1]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Part[W2, 2];
  13. W3 = {c, \!\(\*OverscriptBox[\(c\), \(_\)]\)} /. Simplify@Solve[{(e - a) (\!\(\*OverscriptBox[\(e\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) == (e - c) (\!\(\*OverscriptBox[\(e\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)), k[a, p] == k[a, c]}, {c, \!\(\*OverscriptBox[\(c\), \(_\)]\)}] // Flatten;
  14. c = Part[W3, 1]; \!\(\*OverscriptBox[\(c\), \(_\)]\) = Part[W3, 2];
  15. W4 = {d, \!\(\*OverscriptBox[\(d\), \(_\)]\)} /. Simplify@Solve[{(e - a) (\!\(\*OverscriptBox[\(e\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) == (e - d) (\!\(\*OverscriptBox[\(e\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)), k[c, d] == -1}, {d, \!\(\*OverscriptBox[\(d\), \(_\)]\)}] // Flatten;
  16. d = Part[W4, 1]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Part[W4, 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_] := (\!\(\*OverscriptBox[\(a\), \(_\)]\) \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - b) +
  20. \!\(\*OverscriptBox[\(b\), \(_\)]\) \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) \!\(\*OverscriptBox[\(a\), \(_\)]\) (c - a))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) +
  21. \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a));
  22. g = Simplify@WX[d, t, p]; \!\(\*OverscriptBox[\(g\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[d, t, p];
  23. q = Simplify@WX[d, c, p]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[d, c, p];
  24. Print["复斜率 kDT 与复斜率 kPQ 之积 = ", Simplify[k[d, t] k[p, q]]];
  25. Print["复斜率 kPT 与复斜率 kQD 之积 = ", Simplify[k[p, t] k[q, d]]];
  26. Print["由于 kDT \[Times] kPQ = kPT \[Times] kQD,所以 DTPQ 共圆。"];
  27. Print["Q 点的坐标为 q = ", q];
  28. Print["由于 Q 点的坐标表达式中没有参数 w,因此 Q 点的位置与 P 点的位置无关,即 Q 是一个定点。"];
复制代码

程序运行结果:
结果.png

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-10-26 15:11
本帖最后由 TSC999 于 2023-11-8 16:27 编辑 例 31:
题.png
程序代码:
  1. Clear["Global`*"];(*令B为坐标原点,C坐标为9+0\[ImaginaryI],A坐标为x+y\[ImaginaryI]*)
  2. \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 9; a = x + y I;
  3. \!\(\*OverscriptBox[\(a\), \(_\)]\) = x - y I; AB = 5; BC = 9; AD = y;
  4. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  5. tan\[Angle][a_, b_, c_] := I (k[b, a] - k[b, c])/(k[b, a] + k[b, c]);(*从AB边逆时针转到BC边的有向角\[Angle]ABC的正切*)
  6. tan\[Angle]A = tan\[Angle][b, a, c]; tan\[Angle]B = tan\[Angle][c, b, a]; tan\[Angle]C = tan\[Angle][a, c, b];
  7. Solve[{ 5 == Sqrt[x^2 + y^2], 2/tan\[Angle]B == 1/tan\[Angle]A + 1/tan\[Angle]C, y > 0}, {x, y}];
  8. x = 53/18; y = Sqrt[5291]/18;
  9. \!\(\*OverscriptBox[\(d\), \(_\)]\) = d = x; BD = x;
  10. Simplify@Solve[{ BD/AB == DE/(AD - DE)}, {DE}]; DE = 53/18 Sqrt[37/143];
  11. Print["\!\(\*SuperscriptBox[\(tan\), \(2\)]\)\!\(\*FractionBox[\(B\), \(2\)]\) = ", (DE/BD)^2]
复制代码

运行结果:
结果.png

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-10-27 19:04
本帖最后由 TSC999 于 2023-11-8 16:33 编辑 例 32:
题.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/(I u v); b = (I u)/v;  
  3. \!\(\*OverscriptBox[\(b\), \(_\)]\) = v/(I u);  c = (I v)/u;  \!\(\*OverscriptBox[\(c\), \(_\)]\) = u/(I v);
  4. e = -a; \!\(\*OverscriptBox[\(e\), \(_\)]\) = 1/e;
  5. h = (I ((v^2 + 1) u^2 + v^2))/(u v); \!\(\*OverscriptBox[\(h\), \(_\)]\) = -((I (u^2 + v^2 + 1))/( u v)); (*垂心坐标*)
  6. m = (a + c)/2; \!\(\*OverscriptBox[\(m\), \(_\)]\) = (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\))/2; n = (b + h)/2; \!\(\*OverscriptBox[\(n\), \(_\)]\) = (\!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(h\), \(_\)]\))/2;
  7. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  8. W1 = {f, \!\(\*OverscriptBox[\(f\), \(_\)]\)} /. Simplify@Solve[{(o - f) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(f\), \(_\)]\)) == 1, k[a, f] == -1}, {f, \!\(\*OverscriptBox[\(f\), \(_\)]\)}] // Flatten;
  9. f = Part[W1, 1]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Part[W1, 2];
  10. (*过A1点、复斜率等于k1的直线,与过A2点、复斜率等于k2的直线的交点:*)
  11. 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));
  12. d = Simplify@Jd[k[e, c], c, k[b, f], b]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[e, c], c, k[b, f], b];
  13. Print["M = ", Simplify[m], ", N = ", Simplify[n], ", F = ", f,   ", D = ", d];
  14. Print["DN的复斜率kDN = ", Simplify[k[d, n]]];
  15. Print["BM的复斜率kBM = ", Simplify[k[b, m]]];
  16. Print["由于kDN = -kBM,所以 DN\[UpTee]BM "];
复制代码

运行结果:
结果.png

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-10-28 13:09
本帖最后由 TSC999 于 2023-11-8 16:42 编辑 例 33:
题.png
程序代码:
  1. Clear["Global`*"];
  2. \!\(\*OverscriptBox[\(o\), \(_\)]\) = o = 0; \[Theta] = (2 \[Pi])/13; kOA13 = E^(2 I (\[Pi]/2 - \[Theta])); kOA12 =
  3. kOA13 E^(-2 I \[Theta]); kOA11 = kOA12 E^(-2 I \[Theta]); kOA10 =  kOA11 E^(-2 I \[Theta]);
  4. kOA9 = kOA10 E^(-2 I \[Theta]); kOA8 = kOA9 E^(-2 I \[Theta]); a1 = I; \!\(\*OverscriptBox[\(a1\), \(_\)]\) = -I;
  5. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  6. W1 = {a13, \!\(\*OverscriptBox[\(a13\), \(_\)]\)} /. Simplify@Solve[{(o - a13) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(a13\), \(_\)]\)) == 1,  k[o, a13] == kOA13}, {a13, \!\(\*OverscriptBox[\(a13\), \(_\)]\)}] // Flatten;
  7. a13 = Part[W1, 1]; \!\(\*OverscriptBox[\(a13\), \(_\)]\) = Part[W1, 2]; a2 = -\!\(\*OverscriptBox[\(a13\), \(_\)]\);
  8. \!\(\*OverscriptBox[\(a2\), \(_\)]\) = 1/a2;
  9. W2 = {a12, \!\(\*OverscriptBox[\(a12\), \(_\)]\)} /. Simplify@Solve[{(o - a12) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(a12\), \(_\)]\)) == 1, k[o, a12] == kOA12}, {a12, \!\(\*OverscriptBox[\(a12\), \(_\)]\)}] // Flatten;
  10. a12 = Part[W2, 1]; \!\(\*OverscriptBox[\(a12\), \(_\)]\) = Part[W2, 2]; a3 = -\!\(\*OverscriptBox[\(a12\), \(_\)]\);
  11. \!\(\*OverscriptBox[\(a3\), \(_\)]\) = 1/a3;
  12. W3 = {a11, \!\(\*OverscriptBox[\(a11\), \(_\)]\)} /. Simplify@Solve[{(o - a11) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(a11\), \(_\)]\)) == 1, k[o, a11] == kOA11}, {a11, \!\(\*OverscriptBox[\(a11\), \(_\)]\)}] // Flatten;
  13. a11 = Part[W3, 1]; \!\(\*OverscriptBox[\(a11\), \(_\)]\) = Part[W3, 2]; a4 = -\!\(\*OverscriptBox[\(a11\), \(_\)]\);
  14. \!\(\*OverscriptBox[\(a4\), \(_\)]\) = 1/a4;
  15. W4 = {a10, \!\(\*OverscriptBox[\(a10\), \(_\)]\)} /. Simplify@Solve[{(o - a10) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(a10\), \(_\)]\)) == 1, k[o, a10] == kOA10}, {a10, \!\(\*OverscriptBox[\(a10\), \(_\)]\)}] // Flatten;
  16. a10 = Part[W4, 1]; \!\(\*OverscriptBox[\(a10\), \(_\)]\) = Part[W4, 2]; a5 = -\!\(\*OverscriptBox[\(a10\), \(_\)]\);
  17. \!\(\*OverscriptBox[\(a5\), \(_\)]\) = 1/a5;
  18. W5 = {a9, \!\(\*OverscriptBox[\(a9\), \(_\)]\)} /. Simplify@Solve[{(o - a9) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(a9\), \(_\)]\)) == 1, k[o, a9] == kOA9}, {a9, \!\(\*OverscriptBox[\(a9\), \(_\)]\)}] // Flatten;
  19. a9 = Part[W5, 1]; \!\(\*OverscriptBox[\(a9\), \(_\)]\) = Part[W5, 2]; a6 = -\!\(\*OverscriptBox[\(a9\), \(_\)]\);
  20. \!\(\*OverscriptBox[\(a6\), \(_\)]\) = 1/a6;
  21. W6 = {a8, \!\(\*OverscriptBox[\(a8\), \(_\)]\)} /. Simplify@Solve[{(o - a8) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(a8\), \(_\)]\)) == 1, k[o, a8] == kOA8}, {a8, \!\(\*OverscriptBox[\(a8\), \(_\)]\)}] // Flatten;
  22. a8 = Part[W6, 1]; \!\(\*OverscriptBox[\(a8\), \(_\)]\) = Part[W6, 2]; a7 = -\!\(\*OverscriptBox[\(a8\), \(_\)]\);
  23. \!\(\*OverscriptBox[\(a7\), \(_\)]\) = 1/a7;
  24. W7 = {b, \!\(\*OverscriptBox[\(b\), \(_\)]\)} /. Simplify@Solve[{k[a6, a7] == k[a6, b], k[o, b] == -1}, {b, \!\(\*OverscriptBox[\(b\), \(_\)]\)}] // Flatten;
  25. b = Part[W7, 1]; \!\(\*OverscriptBox[\(b\), \(_\)]\) = Part[W7, 2];
  26. S[a_, b_, c_, d_] := 1/4 I ((a - c) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)) - (b - d) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)));(*已知凸四边形各顶点坐标,求其有向面积,ABCD逆时针向环绕*)
  27. S123 = S[a2, a3, a12, a13] + S[a4, a5, a10, a11] + S[a6, a7, a8, a9];
  28. S1[a_, b_, c_] := (\!\(\*OverscriptBox[\(a\), \(_\)]\) (b - c) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (c - a) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (a - b))/(4 I);(*已知三角形各顶点坐标,求其有向面积,ABC逆时针向环绕*)
  29. S13 = 13 S1[a1, a2, o]; Print["正13边形面积 = ", N[Simplify[S13], 100]];
  30. S = S1[a7, b, a8]; SS = S13 + S; Print["总面积 = ", N[Simplify[SS], 100]];
  31. Print["三个梯形面积之和的二倍 = ", N[2 Simplify[S123], 100]];
  32. Print["三个梯形面积之和是否等于总面积的一半?", Simplify[2 S123 == SS]];
复制代码

运行结果:
结果.png

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-10-29 09:38
本帖最后由 TSC999 于 2023-11-8 16:49 编辑 例 34:
题.png
程序代码:
  1. Clear["Global`*"];(*令A、B交点为坐标原点,OA、OB、BC长度分别为La、Lb、Lc*)
  2. \!\(\*OverscriptBox[\(o\), \(_\)]\) = o = 0; a = -I La; \!\(\*OverscriptBox[\(a\), \(_\)]\) = I La; kOB = E^( 2 I \[Theta]);  kBD = -kOB; OB = Lb; BC = Lc;
  3. OD = OB/Cos[\[Theta]]; b = OB Cos[\[Theta]] + I OB Sin[\[Theta]];  
  4. \!\(\*OverscriptBox[\(b\), \(_\)]\) =  OB Cos[\[Theta]] - I OB Sin[\[Theta]];
  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. d = Simplify@Jd[1, o, kBD, b]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[1, o, kBD, b];
  9. (*\[Lambda]=DC/DB;*) c = \[Lambda] b + (1 - \[Lambda]) d; \!\(\*OverscriptBox[\(c\), \(_\)]\) = \[Lambda] \!\(\*OverscriptBox[\(b\), \(_\)]\) + (1 - \[Lambda]) \!\(\*OverscriptBox[\(d\), \(_\)]\);
  10. BC = Sqrt[(b - c) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\))];
  11. W1 = {\[Lambda]} /. Simplify@Solve[{BC == Lc}, {\[Lambda]}] // Flatten;
  12. \[Lambda] = Part[W1, 2]; \[Lambda] = ((-1 + E^(2 I \[Theta]))^2 Lb^2 - Sqrt[-(-1 + E^(4 I \[Theta]))^2 Lb^2 Lc^2])/((-1 + E^(2 I \[Theta]))^2 Lb^2);(*舍去另一个不合要求的解*)
  13. \[Lambda] = ((-1 + E^(2 I \[Theta]))^2 Lb^2 - I (-1 + E^(4 I \[Theta])) Lb  Lc)/((-1 + E^(2 I \[Theta]))^2 Lb^2);
  14. c = Simplify[\[Lambda] b + (1 - \[Lambda]) d]; \!\(\*OverscriptBox[\(c\), \(_\)]\) = Simplify[\[Lambda] \!\(\*OverscriptBox[\(b\), \(_\)]\) + (1 - \[Lambda]) \!\(\*OverscriptBox[\(d\), \(_\)]\)];
  15. AC = FullSimplify[Sqrt[(a - c) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\))]]; Print["AC = ", AC];
  16. Print["人工将 AC 的表达式整理一下,得到 AC = \!\(\*SqrtBox[\(\*SuperscriptBox[\(La\), \(2\)] + \
  17. \*SuperscriptBox[\(Lb\), \(2\)] + \*SuperscriptBox[\(Lc\), \(2\)] + 2\\\ La\\\ \((Lb\\\ Sin[\[Theta]] - Lc\\\ Cos[\[Theta]])\)\)]\) "];
复制代码

运行结果:
结果.png

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-10-29 18:20
本帖最后由 TSC999 于 2023-11-8 16:56 编辑 例 35:
题.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/(I u v); b = (I u)/v;  
  3. \!\(\*OverscriptBox[\(b\), \(_\)]\) = v/(I u);  c = (I v)/u;  \!\(\*OverscriptBox[\(c\), \(_\)]\) = u/(I v);
  4. i = I (u + v - 1); \!\(\*OverscriptBox[\(i\), \(_\)]\) = -I (1/u + 1/v - 1);  (*内心坐标*)
  5. (*\[Lambda]=DI/DA,由i=\[Lambda]a+(1-\[Lambda])d;Overscript[i, _]=\[Lambda]Overscript[a, _]+(1-\[Lambda])Overscript[d, _] 得到:*)d = (a \[Lambda] - i)/(\[Lambda] - 1);
  6. \!\(\*OverscriptBox[\(d\), \(_\)]\) = (\[Lambda] \!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(i\), \(_\)]\))/(\[Lambda] - 1); o1 = (a + d)/2; \!\(\*OverscriptBox[\(o1\), \(_\)]\) = (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(d\), \(_\)]\))/2;
  7. R2 = Simplify[(a - o1) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(o1\), \(_\)]\))];(*圆O1的半径平方*)
  8. k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
  9. W1 = {e, \!\(\*OverscriptBox[\(e\), \(_\)]\)} /. Simplify@Solve[{(o1 - e) (\!\(\*OverscriptBox[\(o1\), \(_\)]\) - \!\(\*OverscriptBox[\(e\), \(_\)]\)) == R2, k[a, b] == k[a, e]}, {e, \!\(\*OverscriptBox[\(e\), \(_\)]\)}] // Flatten;
  10. e = Part[W1, 1]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Part[W1, 2]; Print["E = ", e];
  11. W2 = {f, \!\(\*OverscriptBox[\(f\), \(_\)]\)} /. Simplify@Solve[{(o1 - f) (\!\(\*OverscriptBox[\(o1\), \(_\)]\) - \!\(\*OverscriptBox[\(f\), \(_\)]\)) == R2, k[a, c] == k[a, f]}, {f, \!\(\*OverscriptBox[\(f\), \(_\)]\)}] // Flatten;
  12. f = Part[W2, 1]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Part[W2, 2]; Print["F = ", f];
  13. W3 = {q, \!\(\*OverscriptBox[\(q\), \(_\)]\)} /. Simplify@Solve[{(o1 - q) (\!\(\*OverscriptBox[\(o1\), \(_\)]\) - \!\(\*OverscriptBox[\(q\), \(_\)]\)) == R2, (o - q) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(q\), \(_\)]\)) == 1, q != a}, {q, \!\(\*OverscriptBox[\(q\), \(_\)]\)}] // Flatten;
  14. q = Part[W3, 1]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Part[W3, 2]; Print["Q = ", q];
  15. (*过A1点、复斜率等于k1的直线,与过A2点、复斜率等于k2的直线的交点:*)
  16. 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));
  17. p = Simplify@Jd[k[a, q], a, k[e, f], f]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, q], a, k[e, f], f]; Print["P = ", p];
  18. W4 = {g, \!\(\*OverscriptBox[\(g\), \(_\)]\)} /. Simplify@Solve[{(o1 - g) (\!\(\*OverscriptBox[\(o1\), \(_\)]\) - \!\(\*OverscriptBox[\(g\), \(_\)]\)) == R2, k[p, d] == k[p, g], g != d}, {g, \!\(\*OverscriptBox[\(g\), \(_\)]\)}] // Flatten;
  19. g = Part[W4, 1]; \!\(\*OverscriptBox[\(g\), \(_\)]\) = Part[W4, 2]; Print["G = ", g];
  20. n = Simplify@Jd[k[p, f], p, k[a, g], a]; \!\(\*OverscriptBox[\(n\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[p, f], p, k[a, g], a]; Print["N = ", n];
  21. Print["QN的复斜率 kQN = ", Simplify[k[q, n]]];
  22. Print["QD的复斜率 kQD = ", Simplify[k[q, d]]];
  23. Print["由于 kQN = kQD,所以 Q、N、D 共线。 "];
复制代码

运行结果:
结果.png

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-10-31 20:26
本帖最后由 TSC999 于 2023-11-8 17:04 编辑 例 36:
题.png
程序代码:
  1. Clear["Global`*"];(*令O为坐标原点,A点坐标为\[ImaginaryI],BC 与实轴重合,AB复斜率为u^2,AC复斜率为v^2*)
  2. \!\(\*OverscriptBox[\(o\), \(_\)]\) = o = 0; a = I; \!\(\*OverscriptBox[\(a\), \(_\)]\) = -I; d = -I;
  3. \!\(\*OverscriptBox[\(d\), \(_\)]\) = I; kAB = u^2;  kAC = v^2;
  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
  7. \!\(\*OverscriptBox[\(a2\), \(_\)]\)))/(k1 - k2));
  8. b = Simplify@Jd[kAB, a, 1, o]; \!\(\*OverscriptBox[\(b\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kAB, a, 1, o];
  9. c = Simplify@Jd[kAC, a, 1, o]; \!\(\*OverscriptBox[\(c\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kAC, a, 1, o];
  10. m = Simplify@Jd[kAB, a, -kAB, d]; \!\(\*OverscriptBox[\(m\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kAB, a, -kAB, d];
  11. n = Simplify@Jd[kAC, a, -kAC, d]; \!\(\*OverscriptBox[\(n\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kAC, a, -kAC, d];
  12. h = Simplify@Jd[-1, o, -kAC, b]; \!\(\*OverscriptBox[\(h\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[-1, o, -kAC, b];
  13. p = Simplify@Jd[k[m, c], c, k[n, b], b]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[m, c], c, k[n, b], b];
  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) +
  15. \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a));(*三角形 ABC 的外心坐标:*)   
  16. \!\(\*OverscriptBox[\(WX\), \(_\)]\)[a_, b_, c_] := (\!\(\*OverscriptBox[\(a\), \(_\)]\) \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - b) +
  17. \!\(\*OverscriptBox[\(b\), \(_\)]\) \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\)
  18. \!\(\*OverscriptBox[\(a\), \(_\)]\) (c - a))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) +
  19. \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a));
  20. o1 = Simplify@WX[b, h, c]; \!\(\*OverscriptBox[\(o1\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[b, h, c];
  21. W1 = {e, \!\(\*OverscriptBox[\(e\), \(_\)]\)} /. Simplify@Solve[{(o - e) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(e\), \(_\)]\)) == 1, (o1 - e) (\!\(\*OverscriptBox[\(o1\), \(_\)]\) - \!\(\*OverscriptBox[\(e\), \(_\)]\)) == (o1 - b) (\!\(\*OverscriptBox[\(o1\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\))}, {e, \!\(\*OverscriptBox[\(e\), \(_\)]\)}] // Flatten;
  22. d1 = Part[W1, 1]; \!\(\*OverscriptBox[\(d1\), \(_\)]\) = Part[W1, 2]; e = Part[W1, 3];
  23. \!\(\*OverscriptBox[\(e\), \(_\)]\) = Part[W1, 4];
  24. Print["D1 = ", d1]; Print["由于 D1 点的坐标为-\[ImaginaryI],所以D1点与D点重合。"];
  25. Print["EP的复斜率 kEP = ", Simplify[k[e, p]]];
  26. Print["EH的复斜率 kEH = ", Simplify[k[e, h]]];
  27. Print["由于 kEP = kEH,所以 E、P、H 共线。 "];
复制代码

运行结果:
结果.png

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-11-2 15:09
本帖最后由 TSC999 于 2023-11-8 17:15 编辑 例 36:
题.png
程序代码:
  1. Clear["Global`*"]; (*令△ABC的外接圆为单位圆O,BC边平行于实轴,AB 的复斜率为 u *)
  2. \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 1; kAB = u;
  3. (*AC的复斜率为:*)kAC =kAB E^(2 I \[Pi]/3); kAC = kAB (-1/2 + I Sqrt[3]/2);
  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. a = Simplify@Jd[kAB, b, kAC, c]; \!\(\*OverscriptBox[\(a\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kAB, b, kAC, c];
  8. Print["a = ", a];
  9. \!\(\*OverscriptBox[\(d\), \(_\)]\) = d = Simplify[(a + \!\(\*OverscriptBox[\(a\), \(_\)]\))/2]; Print["d = ", d];
  10. \!\(\*OverscriptBox[\(m\), \(_\)]\) = m = 1/2; g = (a + b)/2; \!\(\*OverscriptBox[\(g\), \(_\)]\) = (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(b\), \(_\)]\))/2; j = (a + c)/2;
  11. \!\(\*OverscriptBox[\(j\), \(_\)]\) = (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\))/2; Print["g = ", g]; Print["j = ", j];
  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));(*三角形 ABC 的外心坐标:*)   
  14. \!\(\*OverscriptBox[\(WX\), \(_\)]\)[a_, b_, c_] := (\!\(\*OverscriptBox[\(a\), \(_\)]\) \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - b) +
  15. \!\(\*OverscriptBox[\(b\), \(_\)]\) \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\)
  16. \!\(\*OverscriptBox[\(a\), \(_\)]\) (c - a))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) +
  17. \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a));
  18. o = Simplify@WX[a, b, c]; \!\(\*OverscriptBox[\(o\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[a, b, c]; Print["o = ", o];
  19. f = Simplify[(a + o)/2]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Simplify[(\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(o\), \(_\)]\))/2]; Print["f = ", f];
  20. e = FullSimplify@WX[g, d, m]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = FullSimplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[g, d, m]; Print["e = ", e];
  21. (*用 j,d,m 求 e 结果与上面相同,但是用 f,d,m 求的结果就很不一样,很复杂!不过,把 Simplify 换成 \
  22. FullSimplify 以后,三者结果就都一样了。而且 e 的表达式可以做到最简*)
  23. Print["\!\(\*SuperscriptBox[\(ED\), \(2\)]\)\!\(\*SuperscriptBox[\(是否等于EF\), \(2\)]\) ? ", Simplify[(e - d) (\!\(\*OverscriptBox[\(e\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)) == (e - f) (\!\(\*OverscriptBox[\(e\), \(_\)]\) - \!\(\*OverscriptBox[\(f\), \(_\)]\))]];
  24. Print["\!\(\*SuperscriptBox[\(由于ED\), \(2\)]\)=\!\(\*SuperscriptBox[\(EF\), \(2\)]\),所以ED=EF,故F点在圆E上。"];
  25. W1 = {s, \!\(\*OverscriptBox[\(s\), \(_\)]\)} /. Simplify@Solve[{(o - b) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) == (o - s) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(s\), \(_\)]\)), k[o, s] == -1}, {s, \!\(\*OverscriptBox[\(s\), \(_\)]\)}] // Flatten;
  26. s = Part[W1, 3]; \!\(\*OverscriptBox[\(s\), \(_\)]\) = Part[W1, 4]; Print["s = ", s];
  27. (*如果FN 是圆E上一条弦,S 是该弦延长线上一点,则:*)
  28. n = e + (\!\(\*OverscriptBox[\(e\), \(_\)]\) - \!\(\*OverscriptBox[\(f\), \(_\)]\)) k[s, f];
  29. \!\(\*OverscriptBox[\(n\), \(_\)]\) = \!\(\*OverscriptBox[\(e\), \(_\)]\) + (e - f)/k[s, f]; Print["n = ", Simplify[n]];
  30. q = Simplify@Jd[k[d, f], d, -k[o, e], o]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[d, f], d, -k[o, e], o];
  31. Print["q = ", q];Print["\!\(\*SuperscriptBox[\(QD\), \(2\)]\)\!\(\*SuperscriptBox[\(是否等于QN\), \(2\)]\) ? ", Simplify[(q - d) (
  32. \!\(\*OverscriptBox[\(q\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)) == (q - n) (\!\(\*OverscriptBox[\(q\), \(_\)]\) - \!\(\*OverscriptBox[\(n\), \(_\)]\))]];
  33. Print["\!\(\*SuperscriptBox[\(由于QD\), \(2\)]\)=\!\(\*SuperscriptBox[\(QN\), \(2\)]\),所以QD=QN"];
复制代码

运行结果:
结果.png

119

主题

446

回帖

3179

积分

积分
3179

显示全部楼层

 楼主| TSC999 发表于 2023-11-6 09:44
本帖最后由 TSC999 于 2023-11-6 10:35 编辑 例 37:
AB 是圆O 的直径,P 是圆外一点,PE、PF 是切线。C = 圆O ∩ PA,D = EA ∩ BF,证明 CP 平分∠ECD。
改进方法题图.png
程序及运行结果图:
改进方法.png
程序代码:
  1. Clear["Global`*"];(*令O为坐标原点,B点坐标为-1,A点坐标为+1,以E、F的坐标为变量。*)
  2. \!\(\*OverscriptBox[\(o\), \(_\)]\) = o = 0; \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = -1; \!\(\*OverscriptBox[\(a\), \(_\)]\) = a = 1;
  3. \!\(\*OverscriptBox[\(e\), \(_\)]\) = 1/e; \!\(\*OverscriptBox[\(f\), \(_\)]\) = 1/f; p = (2 e f)/(e + f); \!\(\*OverscriptBox[\(p\), \(_\)]\) = 2/(e + f);
  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. d = Simplify@Jd[k[e, a], a, k[b, f], b]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[e, a], a, k[b, f], b];
  8. Print["d = ", d];
  9. (*AC 是圆O上一条弦,P 是该弦延长线上一点,则: *)
  10. c = o + (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)) k[p, a]; \!\(\*OverscriptBox[\(c\), \(_\)]\) = \!\(\*OverscriptBox[\(o\), \(_\)]\) + (o - a)/k[p, a];
  11. Print["c = ", Simplify[c]];
  12. (*设kCE=CE的复斜率,kCD=CD的复斜率,kCP=CP的复斜率*)
  13. Print["kCE\[Times]kCD = ", Simplify[k[c, e] k[c, d]]];
  14. Print["\!\(\*SuperscriptBox[\(kCP\), \(2\)]\) = ", Simplify[(k[c, p])^2]];
  15. Print["由于kCE\[Times]kCD=\!\(\*SuperscriptBox[\(kCP\), \(2\)]\)成立,所以CP平分\[Angle]ECD "];
复制代码

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

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

Powered by Discuz!

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