|

楼主 |
发表于 2023-10-27 18:54
|
显示全部楼层
程序代码:
- Clear["Global`*"]; (*令△ABC的外接圆为单位圆O,BC边平行于实轴,AB、AC的复斜率分别为 u^2、v^2 *)
- \!\(\*OverscriptBox[\(o\), \(_\)]\) = o = 0; a = I u v; \!\(\*OverscriptBox[\(a\), \(_\)]\) = 1/(I u v); b = (I u)/v;
- \!\(\*OverscriptBox[\(b\), \(_\)]\) = v/(I u); c = (I v)/u; \!\(\*OverscriptBox[\(c\), \(_\)]\) = u/(I v);
- e = -a; \!\(\*OverscriptBox[\(e\), \(_\)]\) = 1/e;
- h = (I ((v^2 + 1) u^2 + v^2))/(u v); \!\(\*OverscriptBox[\(h\), \(_\)]\) = -((I (u^2 + v^2 + 1))/( u v)); (*垂心坐标*)
- m = (a + c)/2; \!\(\*OverscriptBox[\(m\), \(_\)]\) = (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\))/2; n = (b + h)/2; \!\(\*OverscriptBox[\(n\), \(_\)]\) = (\!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(h\), \(_\)]\))/2;
- k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
- W1 = {f, \!\(\*OverscriptBox[\(f\), \(_\)]\)} /. Simplify@Solve[{(o - f) (\!\(\*OverscriptBox[\(o\), \(_\)]\) - \!\(\*OverscriptBox[\(f\), \(_\)]\)) == 1, k[a, f] == -1}, {f, \!\(\*OverscriptBox[\(f\), \(_\)]\)}] // Flatten;
- f = Part[W1, 1]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Part[W1, 2];
- (*过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));
- d = Simplify@Jd[k[e, c], c, k[b, f], b]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[e, c], c, k[b, f], b];
- Print["M = ", Simplify[m], ", N = ", Simplify[n], ", F = ", f, ", D = ", d];
- Print["DN的复斜率kDN = ", Simplify[k[d, n]]];
- Print["BM的复斜率kBM = ", Simplify[k[b, m]]];
- Print["由于kDN = -kBM,所以 DN\[UpTee]BM "];
复制代码
程序运行结果:
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|