|

楼主 |
发表于 2023-2-6 14:14
|
显示全部楼层
本帖最后由 天山草 于 2023-2-7 10:19 编辑
denglongshan 对复平面上直线的【复斜率】概念在平面解析几何中的应用进行了多年研究,推导出了两条直线的交点公式,两条直线间的夹角等公式。如果对复平面上的直线复斜率概念不了解,也可以使用通常的直线斜率来做题。
若复平面上有两个点 A、B,它们的复数坐标为 a 和 b,可以推出 AB 线的斜率
\(K=\frac{\overline{a}-a-\overline{b}+b}{a+\overline{a}-\overline{b}-b}i\)
式中 \(\overline{a}\) 是 \(a\) 的共轭复数, \(\overline{b}\) 是 \(b\) 的共轭复数。
通过 A1 点、斜率为 K1 的直线若与通过 A2 点、斜率为 K2 的直线相交,可以推出交点坐标为:
按上述公式解题,令 A 点在坐标系原点, B 点在 (1,0),再令 s、t 分别是 AX、AY 的斜率,
u、v、w 分别是 CB、DB、EB 的斜率。可写出下列程序:
程序运行结果:
程序代码:
- Clear["Global`*"];
- \!\(\*OverscriptBox[\(a\), \(_\)]\) = a = 0;
- \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 1; (* 令 s、t 分别是 AX、AY 的斜率。u、v、w 分别是 CB、DB、EB 的斜率。*)
- (* 调用以下自定义函数求 C、D、E、F、G、H 点的坐标:*)
- K[a_, b_] := ( \!\(\*OverscriptBox[\(a\), \(_\)]\) - a + b - \!\(\*OverscriptBox[\(b\), \(_\)]\))/(a + \!\(\*OverscriptBox[\(a\), \(_\)]\) -
- \!\(\*OverscriptBox[\(b\), \(_\)]\) - b) I;(*斜率定义*)
- Jd[K1_, a1_, K2_, a2_] := (I (-\!\(\*OverscriptBox[\(a2\), \(_\)]\) (K1 - I) (K2 - I) + K1 ((a1 - a2) K2 - I (a1 + a2)) + I a1 K2 + a1 + I a2 K2 - a2) + \!\(\*OverscriptBox[\(a1\), \(_\)]\) (1 + I K1) (K2 - I))/( 2 (K1 - K2));
- \!\(\*OverscriptBox[\(Jd\), \(_\)]\)[K1_, a1_, K2_, a2_] := ((K1 + I) (\!\(\*OverscriptBox[\(a2\), \(_\)]\) (1 + I K2) + (a1 - a2) (1 - I K2)) +\!\(\*OverscriptBox[\(a1\), \(_\)]\) (K1 - I) (1 - I K2))/( 2 (K1 - K2));
- (* 斜率等于k1且经过A1点的直线与斜率等于k2且经过A2点的直线的交点*)
- c = Jd[s, a, u, b];
- \!\(\*OverscriptBox[\(c\), \(_\)]\) = \!\(\*OverscriptBox[\(Jd\), \(_\)]\)[s, a, u, b]; d = Jd[s, a, v, b];
- \!\(\*OverscriptBox[\(d\), \(_\)]\) = \!\(\*OverscriptBox[\(Jd\), \(_\)]\)[s, a, v, b]; e = Jd[s, a, w, b];
- \!\(\*OverscriptBox[\(e\), \(_\)]\) = \!\(\*OverscriptBox[\(Jd\), \(_\)]\)[s, a, w, b];
- h = Jd[t, a, u, b]; \!\(\*OverscriptBox[\(h\), \(_\)]\) = \!\(\*OverscriptBox[\(Jd\), \(_\)]\)[t, a, u, b]; g = Jd[t, a, v, b];
- \!\(\*OverscriptBox[\(g\), \(_\)]\) = \!\(\*OverscriptBox[\(Jd\), \(_\)]\)[t, a, v, b]; f = Jd[t, a, w, b];
- \!\(\*OverscriptBox[\(f\), \(_\)]\) = \!\(\*OverscriptBox[\(Jd\), \(_\)]\)[t, a, w, b];
- m = Jd[K[d, h], d, K[e, g], e]; \!\(\*OverscriptBox[\(m\), \(_\)]\) = \!\(\*OverscriptBox[\(Jd\), \(_\)]\)[K[d, h], d, K[e, g], e];
- n = Jd[K[c, h], c, K[e, g], e]; \!\(\*OverscriptBox[\(n\), \(_\)]\) = \!\(\*OverscriptBox[\(Jd\), \(_\)]\)[K[c, h], c, K[e, g], e];
- p = Jd[s, c, K[f, m], f]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = \!\(\*OverscriptBox[\(Jd\), \(_\)]\)[s, c, K[f, m], f]; q = Jd[K[g, p], g, K[f, n], f];
- \!\(\*OverscriptBox[\(q\), \(_\)]\) = \!\(\*OverscriptBox[\(Jd\), \(_\)]\)[K[g, p], g, K[f, n], f];
- Simplify[{C -> c, D -> d, "E" -> e}]
- Simplify[{H -> h, G -> g, F -> f}]
- Simplify[{M -> m, N -> n, Q -> q}]
- Simplify[K[a, b]]
- Simplify[K[b, q]]
- Simplify[K[a, b] == K[b, q]](*如果通过同一个点 B 的线段 AB 和 BQ 的斜率相等,则 A、B、Q 三点共线*)
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|