|
本帖最后由 天山草 于 2023-7-22 07:43 编辑
程序代码:
- Clear["Global`*"];(*令三角形DEF的外接圆为单位圆,圆心在坐标原点。各顶点坐标为 d=u^2; e=v^2; f=w^2 *)
- d = u^2; e = v^2; f = w^2; \!\(\*OverscriptBox[\(d\), \(_\)]\) = 1/u^2; \!\(\*OverscriptBox[\(e\), \(_\)]\) = 1/v^2;
- \!\(\*OverscriptBox[\(f\), \(_\)]\) = 1/w^2;
- k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); (*复斜率定义*)
- (*EE'的复斜率为:*)kEE' = k[d, e] E^(2 I \[Pi]/3);(*FF'的复斜率为:*)kFF' = k[d, f] E^(-2 I \[Pi]/3);
- (*DE的中点坐标为:*) mDE = (d + e)/2; \!\(\*OverscriptBox[\(mDE\), \(_\)]\) = (\!\(\*OverscriptBox[\(d\), \(_\)]\) + \!\(\*OverscriptBox[\(e\), \(_\)]\))/2;
- (*DF的中点坐标为:*) mDF = (d + f)/2; \!\(\*OverscriptBox[\(mDF\), \(_\)]\) = (\!\(\*OverscriptBox[\(d\), \(_\)]\) + \!\(\*OverscriptBox[\(f\), \(_\)]\))/2;
- (*这样就可以求E'和F'的坐标:*)
- (*过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));
- e' = Simplify@Jd[-k[d, e], mDE, kEE', e]; \!\(\*OverscriptBox[\(e'\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[-k[d, e], mDE, kEE', e];
- f' = Simplify@Jd[-k[d, f], mDF, kFF', f]; \!\(\*OverscriptBox[\(f'\), \(_\)]\) = Simplify@\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[-k[d, f], mDF, kFF', f];
- (*EF的中点坐标为:*) b = (e + f)/2; \!\(\*OverscriptBox[\(b\), \(_\)]\) = (\!\(\*OverscriptBox[\(e\), \(_\)]\) + \!\(\*OverscriptBox[\(f\), \(_\)]\))/2;
- (*DE'的中点坐标为:*) a = (d + e')/2; \!\(\*OverscriptBox[\(a\), \(_\)]\) = (\!\(\*OverscriptBox[\(d\), \(_\)]\) + \!\(\*OverscriptBox[\(e'\), \(_\)]\))/2;
- (*DF'的中点坐标为:*) c = (d + f')/2; \!\(\*OverscriptBox[\(c\), \(_\)]\) = (\!\(\*OverscriptBox[\(d\), \(_\)]\) + \!\(\*OverscriptBox[\(f'\), \(_\)]\))/2;
- Print["E' = ", e', ", F' = ", f']; Print["A = ", a, ", B = ", b, ", C = ", c];
- SimpleFuc := Factor[#, Extension -> Sqrt[3]] &@(FactorTerms[Numerator[#]] FactorTerms[Denominator[#]]) &;(*简化分式的函数*)
- Print["AB^2 = ", SimpleFuc[(a - b) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\))]];
- Print["AC^2 = ", SimpleFuc[(a - c) (\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\))]];
- Print["BC^2 = ", SimpleFuc[(b - c) (\!\(\*OverscriptBox[\(b\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\))]];
- Print["由于三角形ABC各边长度的平方相等,故三边相等,所以它是一个正三角形。"];
复制代码 |
|