|

楼主 |
发表于 2023-2-24 15:47
|
显示全部楼层
本帖最后由 天山草 于 2023-2-24 16:14 编辑
研究了一下 creasson 先生的构图作法,很不错。下面用 creasson 的构图和思路,使用 denglongshan 的复斜率方法,做此题如下。
用 mathematica 编写的程序:
程序运行结果:
注: 不需要求出 R 点的坐标,因为只须知道 QE 和 PF 两直线的复斜率,这两条直线的交角 ∠PQR 就可求出。这是 denglongshan 复斜率法解决角度问题的一个利器。
程序代码:
- Clear["Global`*"];
- \!\(\*OverscriptBox[\(a\), \(_\)]\) = a = 0;
- \!\(\*OverscriptBox[\(d\), \(_\)]\) = d = 1; b = (1 + I s )/( 1 - I t );
- \!\(\*OverscriptBox[\(b\), \(_\)]\) = (1 - I s )/(1 + I t ); c = ( 1 + I u )/(1 - I z );
- \!\(\*OverscriptBox[\(c\), \(_\)]\) = (1 - I u )/(1 + I z ); p = (1 + I s )/(1 - I w );
- \!\(\*OverscriptBox[\(p\), \(_\)]\) = (1 - I s )/(1 + I w ); q = ( 1 + I u )/(1 - I v );
- \!\(\*OverscriptBox[\(q\), \(_\)]\) = (1 - I u )/(1 + I v );
- k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\));
- W1 = {z} /. Simplify@Solve[{k[b, d] == k[d, c]}, {z}] // Factor // Flatten;
- z = Part[W1, 1]; c = (1 + I u )/(1 - I z );
- \!\(\*OverscriptBox[\(c\), \(_\)]\) = (1 - I u )/(1 + I z );
- W2 = {v} /. Simplify@Solve[{k[p, a] == k[a, q]}, {v}] // Factor // Flatten;
- v = Part[W2, 1]; Print["z = ", Part[W1, 1], ", v = ", Part[W2, 1]];
- q = Factor[(1 + I u )/(1 - I v )]; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Factor[(1 - I u )/(1 + I v )];
- W = {e, f, \!\(\*OverscriptBox[\(e\), \(_\)]\), \!\(\*OverscriptBox[\(f\), \(_\)]\)} /. Simplify@
- Solve[{k[c, d]/k[e, c] == k[e, d]/k[e, f] == k[c, b]/k[c, a], k[a, e]/k[a, f] == k[d, f]/k[d, e] == k[a, c]/k[a, b]}, {e, f, \!\(\*OverscriptBox[\(e\), \(_\)]\), \!\(\*OverscriptBox[\(f\), \(_\)]\)}] // Factor // Flatten;
- e = Part[W, 1]; f = Part[W, 2];
- \!\(\*OverscriptBox[\(e\), \(_\)]\) = Part[W, 3]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Part[W, 4];
- Print["A = ", a, ", B = ", b, ", C = ", c, ", D = ", d, ", E = ", e, ", F = ", f, ", P = ", p, ", Q = ", q];
- Print["\!\(\*SuperscriptBox[\(\[ExponentialE]\), \(2 \[ImaginaryI]\\[Angle]EDF\)]\) = ", Simplify[k[d, f]/k[d, e]],
- ", \!\(\*SuperscriptBox[\(\[ExponentialE]\), \(2 \[ImaginaryI]\\[Angle]PRQ\)]\) = ", Simplify[k[p, f]/k[q, e]]];
- Print["由于 \!\(\*SuperscriptBox[\(\[ExponentialE]\), \(2 \\[ImaginaryI]\[Angle]EDF\)]\) = \
- \!\(\*SuperscriptBox[\(\[ExponentialE]\), \(2 \\[ImaginaryI]\[Angle]PRQ\)]\),所以 \[Angle]EDF = \[Angle]PRQ,故 DEFR \
- 四点共圆。"];
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|