|

楼主 |
发表于 2023-4-23 09:08
|
显示全部楼层
本帖最后由 天山草 于 2023-4-23 09:12 编辑
程序代码:
- Clear["Global`*"];
- \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 1; a = (u^4 (v^4 - 1))/( u^4 v^4 - 1);
- \!\(\*OverscriptBox[\(a\), \(_\)]\) = (v^4 - 1)/( u^4 v^4 - 1); i = (u^2 (v^2 - 1))/(u^2 v^2 - 1);
- \!\(\*OverscriptBox[\(i\), \(_\)]\) = (v^2 - 1)/(u^2 v^2 - 1);
- k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\));
- W1 = {h, \!\(\*OverscriptBox[\(h\), \(_\)]\)} /. Simplify@Solve[{k[b, h] == 1, k[a, h] == k[a, i]}, {h, \!\(\*OverscriptBox[\(h\), \(_\)]\)}] // Factor // Flatten ;
- h = Part[W1, 1]; \!\(\*OverscriptBox[\(h\), \(_\)]\) = Part[W1, 2];
- Print["H = ", h];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));
- kAP = Simplify[Sqrt[k[a, b] k[a, h]]]; kAP = u^3/v I; kBP = Simplify[Sqrt[k[a, b] k[b, c]]]; kBP = u^2;
- p = Simplify@Jd[kAP, a, kBP, b] // Factor;
- \!\(\*OverscriptBox[\(p\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kAP, a, kBP, b] // Factor;
- Print["P = ", p];kAQ = Simplify[Sqrt[k[a, c] k[a, h]]]; kAQ = -(u/v^3) I; kCQ = Simplify[Sqrt[k[a, c] k[b, c]]]; kCQ = -1/v^2;
- q = Simplify@Jd[kAQ, a, kCQ, c] // Factor; \!\(\*OverscriptBox[\(q\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[kAQ, a, kCQ, c] // Factor;
- Print["Q = ", q];
- Foot[p_, x_, y_] := ( \!\(\*OverscriptBox[\(x\), \(_\)]\) y - x \!\(\*OverscriptBox[\(y\), \(_\)]\) + (x - y) \!\(\*OverscriptBox[\(p\), \(_\)]\) + (\!\(\*OverscriptBox[\(x\), \(_\)]\) - \!\(\*OverscriptBox[\(y\), \(_\)]\)) p)/(2 (\!\(\*OverscriptBox[\(x\), \(_\)]\) -
- \!\(\*OverscriptBox[\(y\), \(_\)]\))); (* 从P点向XY直线引垂线,垂足的复坐标 *)
- \!\(\*OverscriptBox[\(Foot\), \(_\)]\)[p_, x_, y_] := (x \!\(\*OverscriptBox[\(y\), \(_\)]\) - \!\(\*OverscriptBox[\(x\), \(_\)]\) y + (
- \!\(\*OverscriptBox[\(x\), \(_\)]\) - \!\(\*OverscriptBox[\(y\), \(_\)]\)) p + (x - y) \!\(\*OverscriptBox[\(p\), \(_\)]\))/(2 (x - y));
- g = Simplify@Foot[p, a, b]; \!\(\*OverscriptBox[\(g\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Foot\), \(_\)]\)[p, a, b];
- d = Simplify@Foot[p, b, c]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Foot\), \(_\)]\)[p, b, c];
- f = Simplify@Foot[p, a, h]; \!\(\*OverscriptBox[\(f\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Foot\), \(_\)]\)[p, a, h];
- e = Simplify@Foot[q, b, c]; \!\(\*OverscriptBox[\(e\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Foot\), \(_\)]\)[q, b, c];
- m = Simplify@Foot[q, a, h]; \!\(\*OverscriptBox[\(m\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Foot\), \(_\)]\)[q, a, h];
- n = Simplify@Foot[q, a, c]; \!\(\*OverscriptBox[\(n\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Foot\), \(_\)]\)[q, a, c];
- Print["测试G、D、M是否共线:"];Simplify[k[g, d] == k[d, m]]
- Print["测试F、E、N是否共线:"];Simplify[k[f, e] == k[e, n]]
- Print["测试 GM = FN 是否成立:"];Simplify[(g - m) (\!\(\*OverscriptBox[\(g\), \(_\)]\) - \!\(\*OverscriptBox[\(m\), \(_\)]\)) == (f - n) (\!\(\*OverscriptBox[\(f\), \(_\)]\) - \!\(\*OverscriptBox[\(n\), \(_\)]\))]
- Print["测试 DM = FE 是否成立:"]
- Simplify[(d - m) (\!\(\*OverscriptBox[\(d\), \(_\)]\) - \!\(\*OverscriptBox[\(m\), \(_\)]\)) == (f - e) (\!\(\*OverscriptBox[\(f\), \(_\)]\) - \!\(\*OverscriptBox[\(e\), \(_\)]\))]
- Print["测试 GD = EN 是否成立:"];Simplify[(g - d) (\!\(\*OverscriptBox[\(g\), \(_\)]\) - \!\(\*OverscriptBox[\(d\), \(_\)]\)) == (e - n) (\!\(\*OverscriptBox[\(e\), \(_\)]\) - \!\(\*OverscriptBox[\(n\), \(_\)]\))]
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|