|

楼主 |
发表于 2023-3-7 11:50
|
显示全部楼层
- Clear["Global`*"];
- \!\(\*OverscriptBox[\(a\), \(_\)]\) = 1/a; \!\(\*OverscriptBox[\(b\), \(_\)]\) = 1/b; \!\(\*OverscriptBox[\(c\), \(_\)]\) = 1/c; p = u + I v; \!\(\*OverscriptBox[\(p\), \(_\)]\) = u - I v; 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));a1 = Simplify@Jd[k[a, p], a, k[b, c], b];
- \!\(\*OverscriptBox[\(a1\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, p], a, k[b, c], b];
- b1 = Simplify@Jd[k[b, p], b, k[a, c], a]; \!\(\*OverscriptBox[\(b1\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[b, p], b, k[a, c], a];
- c1 = Simplify@Jd[k[c, p], c, k[a, b], a]; \!\(\*OverscriptBox[\(c1\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[c, p], c, k[a, b], a];
- q = \[Lambda] c1 + (1 - \[Lambda]) c; \!\(\*OverscriptBox[\(q\), \(_\)]\) = \[Lambda] \!\(\*OverscriptBox[\(c1\), \(_\)]\) + (1 - \[Lambda]) \!\(\*OverscriptBox[\(c\), \(_\)]\);
- d = Simplify@Jd[k[a, q], a, k[c1, a1], c1]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, q], a, k[c1, a1], c1];
- z1 = Simplify@Jd[k[a, b], a, k[b1, q], b1]; \!\(\*OverscriptBox[\(z1\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, b], a, k[b1, q], b1];
- z2 = Simplify@Jd[k[c, d], c, k[b1, q], b1]; \!\(\*OverscriptBox[\(z2\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[c, d], c, k[b1, q], b1];
- z3 = Simplify@Jd[k[c, d], c, k[a, b], a];
- \!\(\*OverscriptBox[\(z3\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[c, d], c, k[a, b], a];
- Print["AB、B1Q、CD 三条直线两两交于 Z1、Z2、Z3 点。下面测试这三个交点是否重合:"]
- Simplify[z1 == z2 == z3]
- Print["由于 Z1、Z2、Z3 三点坐标完全相同,所以它们交于一点,故 AB、B1Q、CD 三线共点。"]
复制代码 |
|