|
本帖最后由 天山草 于 2022-5-15 06:02 编辑
用复平面解析几何方法做此题。优点是无须动脑子,交给计算机让它笨笨地算。原题相当于:
圆 O 和圆 B 交于 C、D, AC 是圆 O 的直径, AB 交圆 B 于 E、H, EC 交圆 O 于 F,ED 交圆 O 于 G。 求证 AB = FG。
以 O 圆为单位圆建立复平面坐标系,并令 AC 与实轴重合,设 B 的复坐标为自由变量。
程序文本如下:
程序运行结果:
程序是用 mathematica 软件写的,代码如下。点击“复制代码”即可复制到剪贴板中。
- Clear["Global`*"]; b = -0.79861 + 0.60187 I;(*由实际图形实测的B点坐标,调试用*)
- Clear["Global`*"];
- \!\(\*OverscriptBox[\(o\), \(_\)]\) = o = 0; \!\(\*OverscriptBox[\(a\), \(_\)]\) = a = -1;
- \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 1;
- \!\(\*OverscriptBox[\(b\), \(_\)]\) = 1/b; (*建立复平面坐标系,假如 B 点为自由变量*)
- Simplify@Solve[{(z - b) (\!\(\*OverscriptBox[\(z\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) == (b - c) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)), (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) == (a - z)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(z\), \(_\)]\))}, {z, \!\(\*OverscriptBox[\(z\), \(_\)]\)}];(*求E点坐标*)
- e = b + (b - 1) I;
- \!\(\*OverscriptBox[\(e\), \(_\)]\) = ((b - 1) I + 1)/b;
- Simplify@Solve[{(z - b) (\!\(\*OverscriptBox[\(z\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) == (b - c) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)), z \!\(\*OverscriptBox[\(z\), \(_\)]\) == 1, z != c}, {z, \!\(\*OverscriptBox[\(z\), \(_\)]\)}];(*求D点坐标*)
- d = b^2;
- \!\(\*OverscriptBox[\(d\), \(_\)]\) = 1/b^2;
- Simplify@Solve[{z \!\(\*OverscriptBox[\(z\), \(_\)]\) == 1, (e - d)/(\!\(\*OverscriptBox[\(e\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)) == (d - z)/(\!\(\*OverscriptBox[\(d\), \(_\)]\) - \!\(\*OverscriptBox[\(z\), \(_\)]\))}, {z, \!\(\*OverscriptBox[\(z\), \(_\)]\)}];(*求G点坐标*)
- g = -I; \!\(\*OverscriptBox[\(g\), \(_\)]\) = I;
- Simplify@Solve[{z \!\(\*OverscriptBox[\(z\), \(_\)]\) == 1, (e - c)/(\!\(\*OverscriptBox[\(e\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)) == (c - z)/(\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(z\), \(_\)]\))}, {z, \!\(\*OverscriptBox[\(z\), \(_\)]\)}];(*求F点坐标*)
- f = I b; \!\(\*OverscriptBox[\(f\), \(_\)]\) = -(I/b);
- Print["AB = ", Simplify[Sqrt[(a - b) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\))]]]; Print["FG = ",
- Simplify[Sqrt[(f - g) (\!\(\*OverscriptBox[\(f\), \(_\)]\) - \!\(\*OverscriptBox[\(g\), \(_\)]\))]]];
- Print["这就证明了 FG = AB "];
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|