|

楼主 |
发表于 2023-9-24 17:42
|
显示全部楼层
程序代码:
- Clear["Global`*"]; (*设B在坐标原点,C在1点, kAB=u^2,kA1C=1/v^2,kCA=w^2 *)
- \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 1; a1 = (u^2 (v^2 - 1))/( u^2 v^2 - 1);
- \!\(\*OverscriptBox[\(a1\), \(_\)]\) = (v^2 - 1)/( u^2 v^2 - 1); Print["A1 = ", a1];
- kAB = u^2; kA1C = 1/v^2; kCA = w^2;i = (u (v - 1))/(u v - 1); \!\(\*OverscriptBox[\(i\), \(_\)]\) = (v - 1)/(u v - 1); Print["I = ", i];
- p = ((u + 1) (v - 1))/(2 u v - 2); \!\(\*OverscriptBox[\(p\), \(_\)]\) = p; f = (u (u + 1) (v - 1))/( 2 u v - 2);
- \!\(\*OverscriptBox[\(f\), \(_\)]\) = ((u + 1) (v - 1))/(2 u (u v - 1));
- Print["P = ", p]; Print["F = ", f];
- k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
- (*过A1点、复斜率等于k1的直线,与过A2点、复斜率等于k2的直线的交点:*)
- 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));
- Jx1[p_, a_, k_] := -k \!\(\*OverscriptBox[\(a\), \(_\)]\) + k \!\(\*OverscriptBox[\(p\), \(_\)]\) + a; (*P点的镜线P1,镜线过点A且复斜率为k*)
- \!\(\*OverscriptBox[\(Jx1\), \(_\)]\)[p_, a_, k_] := (k \!\(\*OverscriptBox[\(a\), \(_\)]\) - a + p)/k;
- 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];
- f1 = Simplify@Jx1[f, i, k[a, i]]; \!\(\*OverscriptBox[\(f1\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jx1\), \(_\)]\)[f, i, k[a, i]]; Print["F1 = ", f1];
- d = Simplify@Jd[k[a, f1], f1, k[c, p1], p1]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, f1], f1, k[c, p1], p1]; Print["D = ", d];
- 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 的外心坐标:*)
- \!\(\*OverscriptBox[\(WX\), \(_\)]\)[a_, b_, c_] := (\!\(\*OverscriptBox[\(a\), \(_\)]\) \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) \!\(\*OverscriptBox[\(a\), \(_\)]\) (c - a))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a));
- e = Simplify@WX[a, i, c]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[a, i, c];
- Print["E = ", e];
- x = Simplify@Jx1[a, e, -k[a, b]]; \!\(\*OverscriptBox[\(x\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jx1\), \(_\)]\)[a, e, -k[a, b]]; Print["X = ", x];
- y = Simplify@Jx1[a, e, -k[a, d]]; \!\(\*OverscriptBox[\(y\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jx1\), \(_\)]\)[a, e, -k[a, d]]; Print["Y = ", y];
- z = Simplify@Jx1[c, e, -1]; \!\(\*OverscriptBox[\(z\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jx1\), \(_\)]\)[c, e, -1]; Print["Z = ", z];
- t = Simplify@Jx1[c, e, -k[c, d]]; \!\(\*OverscriptBox[\(t\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jx1\), \(_\)]\)[c, e, -k[c, d]]; Print["T = ", t];
- AD = Simplify[Sqrt[(a - d) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\))]]; AD = ((1 - u) (v w^2 + u (v - 1) - 1) ((v - 1) w^2 + u (v w^2 - 1)))/((u^2 - w^2) (u v^2 w^2 + v^2 w^2 - 2 v w^2 + u - 2 u v + 1)); Print["AD = ", AD];
- TD = Simplify[Sqrt[(t - d) (\!\(\*OverscriptBox[\(t\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\))]]; TD = ((u - 1) (v - 1) (v (-v^2 w^2 + v w^2 + v - 1) w^4 - u ((w^4 + w^2) v^3 - 5 w^2 v^2 + 2 (w^2 + 1) v - 1) w^2 + u^2 (-(v - 2) v^2 w^4 + (2 v^2 - 5 v + 1) w^2 + 1) + u^3 (v^2 w^2 - v (w^2 + 1) + 1)))/((u v - 1) (u^2 - w^2) (v w^2 - 1) (u v^2 w^2 + v^2 w^2 - 2 v w^2 + u - 2 u v + 1)); Print["TD = ", TD];
- XT = Simplify[Sqrt[(x - t) (\!\(\*OverscriptBox[\(x\), \(_\)]\) - \!\(\*OverscriptBox[\(t\), \(_\)]\))]]; XT = ((1 - u) (v - 1) w (w^2 + u))/((u^2 - w^2) (v w^2 - 1)); Print["XT = ", XT];
- XA = Simplify[Sqrt[(x - a) (\!\(\*OverscriptBox[\(x\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\))]]; XA = ((u - 1) ((v - 1) v w^4 +
- u (v w^2 - 1)^2 - u^2 (v - 1)))/((u v - 1) (u^2 - w^2) (v w^2 - 1)); Print["XA = ", XA];
- ZC = Simplify[Sqrt[(z - c) (\!\(\*OverscriptBox[\(z\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\))]]; ZC = (u (v - 1) (w^2 - 1) (u - v w^2))/((u v - 1) (u^2 - w^2) (v w^2 - 1)) - 1; Print["ZC = ", ZC];
- YZ = Simplify[Sqrt[(y - z) (\!\(\*OverscriptBox[\(y\), \(_\)]\) - \!\(\*OverscriptBox[\(z\), \(_\)]\))]]; YZ = ((1 - u) (v - 1) w (w^2 +
- u))/((u^2 - w^2) (v w^2 - 1)); Print["YZ = ", YZ];
- DY = Simplify[Sqrt[(d - y) (\!\(\*OverscriptBox[\(d\), \(_\)]\) - \!\(\*OverscriptBox[\(y\), \(_\)]\))]]; DY = ((1 - u) (v - 1) v (w^2 - 1) (u - v w^2))/((u v - 1) (v w^2 - 1) (u v^2 w^2 + v^2 w^2 - 2 v w^2 + u - 2 u v + 1)); Print["DY = ", DY];
- CD = Simplify[Sqrt[(c - d) (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\))]]; CD = ((u - 1) v (w^2 - 1))/(
- u v^2 w^2 + v^2 w^2 - 2 v w^2 + u - 2 u v + 1); Print["CD = ", CD];
- L1 = Simplify[AD + TD + XT + XA]; Print["AD+TD+XT+XA = ", L1];
- L2 = Simplify[CD + DY + YZ + ZC]; Print["CD+DY+YZ+ZC = ", L2];
- Print["因此 AD+TD+XT+XA = CD+DY+YZ+ZC"];
复制代码 |
|