|

楼主 |
发表于 2023-10-29 18:06
|
显示全部楼层
本帖最后由 天山草 于 2023-10-29 18:11 编辑
- 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);
- i = I (u + v - 1); \!\(\*OverscriptBox[\(i\), \(_\)]\) = -I (1/u + 1/v - 1); (*内心坐标*)
- (*\[Lambda]=DI/DA,由i==\[Lambda] a+(1-\[Lambda])d;Overscript[i, _]==\[Lambda] Overscript[a, _]+(1-\Lambda])Overscript[d, _] 得到:*)d = ( a \[Lambda] - i)/(\[Lambda] - 1); \!\(\*OverscriptBox[\(d\), \(_\)]\) = (\[Lambda] \!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(i\), \(_\)]\))/(\[Lambda] - 1); o1 = (a + d)/2; \!\(\*OverscriptBox[\(o1\), \(_\)]\) = (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(d\), \(_\)]\))/2;
- R2 = Simplify[(a - o1) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(o1\), \(_\)]\))];(*圆O1的半径平方*)
- k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
- W1 = {e, \!\(\*OverscriptBox[\(e\), \(_\)]\)} /. Simplify@Solve[{(o1 - e) (\!\(\*OverscriptBox[\(o1\), \(_\)]\) - \!\(\*OverscriptBox[\(e\), \(_\)]\)) == R2, k[a, b] == k[a, e]}, {e, \!\(\*OverscriptBox[\(e\), \(_\)]\)}] // Flatten;e = Part[W1, 1]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Part[W1, 2]; Print["E = ", e];
- W2 = {f, \!\(\*OverscriptBox[\(f\), \(_\)]\)} /. Simplify@Solve[{(o1 - f) (\!\(\*OverscriptBox[\(o1\), \(_\)]\) - \!\(\*OverscriptBox[\(f\), \(_\)]\)) == R2, k[a, c] == k[a, f]}, {f, \!\(\*OverscriptBox[\(f\), \(_\)]\)}] // Flatten;
- f = Part[W2, 1]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Part[W2, 2]; Print["F = ", f];
- 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;
- q = Part[W3, 1]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Part[W3, 2]; Print["Q = ", q];
- (*过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));
- 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];
- 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;
- g = Part[W4, 1]; \!\(\*OverscriptBox[\(g\), \(_\)]\) = Part[W4, 2]; Print["G = ", g];
- 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];
- Print["QN的复斜率 kQN = ", Simplify[k[q, n]]];
- Print["QD的复斜率 kQD = ", Simplify[k[q, d]]];
- Print["由于 kQN = kQD,所以 Q、N、D 共线。 "];
复制代码
运行结果:
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|