|

楼主 |
发表于 2023-10-15 09:39
|
显示全部楼层
程序代码:
- 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);
- p = y I; \!\(\*OverscriptBox[\(p\), \(_\)]\) = -y I; m = (a + b)/2; \!\(\*OverscriptBox[\(m\), \(_\)]\) = (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(b\), \(_\)]\))/2; n = (a + c)/2;
- \!\(\*OverscriptBox[\(n\), \(_\)]\) = (\!\(\*OverscriptBox[\(a\), \(_\)]\) + \!\(\*OverscriptBox[\(c\), \(_\)]\))/2;
- 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));
- d = Simplify@Jd[-k[a, b], o, k[b, p], b]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[-k[a, b], o, k[b, p], b];
- e = Simplify@Jd[-k[a, c], o, k[c, p], c]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[-k[a, c], o, k[c, p], c];
- Foot[p_, a_, b_] := p/2 + ( \!\(\*OverscriptBox[\(a\), \(_\)]\) b - a \!\(\*OverscriptBox[\(b\), \(_\)]\) + \!\(\*OverscriptBox[\(p\), \(_\)]\) (a - b))/(2 (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\))); (* 从P点向AB直线引垂线,垂足的复坐标 *)
- \!\(\*OverscriptBox[\(Foot\), \(_\)]\)[p_, a_, b_] := \!\(\*OverscriptBox[\(p\), \(_\)]\)/2 + (a \!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\) b + p (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)))/(2 (a - b));
- q = Simplify@Foot[o, d, e]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Foot\), \(_\)]\)[o, d, e];
- Print["复斜率 kPQ 与复斜率 kAQ 之乘积 = ", Simplify[k[p, q] k[a, q]]];
- Print["复斜率 kOQ 的平方 = ", Simplify[k[o, q]^2]];
- Print["由于 kPQ \[Times] kAQ = \!\(\*SuperscriptBox[\(kOQ\), \(2\)]\),所以 OQ 是 \[Angle]AQP 的平分线。 "];
复制代码
程序运行结果:
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|