|
楼主 |
TSC999
发表于 2023-7-27 10:27
例 13A:
程序代码:
- Clear["Global`*"]; (*令\[EmptyUpTriangle]ABC的外接圆为单位圆,圆心O为坐标原点,且BC边平行于实轴,AB、AC的复斜率分别为u^2、v^2 *)
- \!\(\*OverscriptBox[\(o\), \(_\)]\) = o = 0; a = I u v; \!\(\*OverscriptBox[\(a\), \(_\)]\) = 1/a; b = I u/v;
- \!\(\*OverscriptBox[\(b\), \(_\)]\) = 1/b; c = I v/u; \!\(\*OverscriptBox[\(c\), \(_\)]\) = 1/c;
- i = I (u + v - 1); \!\(\*OverscriptBox[\(i\), \(_\)]\) = -I (1/u + 1/v - 1);
- 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));
- Subscript[A, B] = Simplify@Jd[k[b, i], b, -k[b, c], o]; \!\(\*OverscriptBox[SubscriptBox[\(A\), \(B\)], \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[b, i], b, -k[b, c], o];
- Subscript[A, c] = Simplify@Jd[k[c, i], c, -k[b, c], o]; \!\(\*OverscriptBox[SubscriptBox[\(A\), \(c\)], \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[c, i], c, -k[b, c], o];
- Subscript[C, A] = Simplify@Jd[k[a, i], a, -k[a, b], o]; \!\(\*OverscriptBox[SubscriptBox[\(C\), \(A\)], \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, i], a, -k[a, b], o];
- Subscript[C, B] = Simplify@Jd[k[b, i], b, -k[a, b], o]; \!\(\*OverscriptBox[SubscriptBox[\(C\), \(B\)], \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[b, i], b, -k[a, b], o];
- Subscript[B, A] = Simplify@Jd[k[a, i], a, -k[a, c], o]; \!\(\*OverscriptBox[SubscriptBox[\(B\), \(A\)], \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, i], a, -k[a, c], o];
- Subscript[B, c] = Simplify@Jd[k[c, i], c, -k[a, c], o]; \!\(\*OverscriptBox[SubscriptBox[\(B\), \(c\)], \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[c, i], c, -k[a, c], o];
- WX[a_, b_, c_] := (a \!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + b \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + c \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a) )/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a));(*三角形 ABC 的外心坐标:*)
- \!\(\*OverscriptBox[\(WX\), \(_\)]\)[a_, b_, c_] := -((a \!\(\*OverscriptBox[\(a\), \(_\)]\) (\!\(\*OverscriptBox[\(c\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) + b \!\(\*OverscriptBox[\(b\), \(_\)]\) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)) + c \!\(\*OverscriptBox[\(c\), \(_\)]\) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\)))/(\!\(\*OverscriptBox[\(a\), \(_\)]\) (c - b) + \!\(\*OverscriptBox[\(b\), \(_\)]\) (a - c) + \!\(\*OverscriptBox[\(c\), \(_\)]\) (b - a)));
- Subscript[O, A] = Simplify@WX[i, Subscript[A, B], Subscript[A, c]]; \!\(\*OverscriptBox[SubscriptBox[\(O\), \(A\)], \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[i, Subscript[A, B], Subscript[A, c]];
- Subscript[O, B] = Simplify@WX[i, Subscript[B, A], Subscript[B, c]]; \!\(\*OverscriptBox[SubscriptBox[\(O\), \(B\)], \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[i, Subscript[B, A], Subscript[B, c]];
- Subscript[O, C] = Simplify@WX[i, Subscript[C, A], Subscript[C, B]];
- \!\(\*OverscriptBox[SubscriptBox[\(O\), \(C\)], \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(WX\), \(_\)]\)[i, Subscript[C, A], Subscript[C, B]];
- g = Simplify[(Subscript[O, A] + Subscript[O, B] + Subscript[O, C])/3]; \!\(\*OverscriptBox[\(g\), \(_\)]\) = Simplify[(\!\(\*OverscriptBox[SubscriptBox[\(O\), \(A\)], \(_\)]\) + \!\(\*OverscriptBox[SubscriptBox[\(O\), \(B\)], \(_\)]\) + \!\(\*OverscriptBox[SubscriptBox[\(O\), \(C\)], \(_\)]\))/3];
- Print["\!\(\*SubscriptBox[\(O\), \(A\)]\) = ", Subscript[O, A]];
- Print["\!\(\*SubscriptBox[\(O\), \(B\)]\) = ", Subscript[O, B]];
- Print["\!\(\*SubscriptBox[\(O\), \(C\)]\) = ", Subscript[O, C]];
- Print["G = ", g];
- Print["OG的复斜率是否等于OI的复斜率:", Simplify[k[o, g] == k[o, i]]];
- Print["因为OG的复斜率等于OI的复斜率,所以 O、G、I 三点共线。"];
复制代码 |
|