hrefspace

 找回密码
 立即注册
搜索
热搜: PHP PS 程序设计
查看: 1051|回复: 9

Mathematica为什么算不出最后的结论

[复制链接]

948

主题

1162

帖子

3655

积分

超级版主

Rank: 8Rank: 8

积分
3655

论坛头条论坛元老谋士数据帝优秀版主超级版主见习版主论坛版主

发表于 2023-10-3 09:02:34 | 显示全部楼层 |阅读模式
这是uk702在数学中国发出的问题,Mathematica7.0为什么算不出最后的结论?其它版本行吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
世界上最遥远的距离,不是生与死的距离,而是我站在你面前,你却不知道我爱你
回复

使用道具 举报

0

主题

154

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-3 09:03:12 | 显示全部楼层
不用复数也可以证明:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

212

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-3 09:03:17 | 显示全部楼层
完整的 mathematica 程序代码如下:
  1. Clear["Global`*"]; XA = 0; YA = a; XB = -1; YB = 0; XC = 1; YC = 0;  XF = 1/2;  YF = a/2;  xy = Solve[{y == (x + 1) Tan[\[Pi]/6], (y - a/2)/(x - 1/2) == 1/     a}, {x, y}];x = x /. xy; y = y /. xy;XE = x[[1]]; YE = y[[1]];Print["XE = ", XE];Print["YE = ", YE];AC = Simplify[Sqrt[(XA - XC)^2 + (YA - YC)^2]];AE = Simplify[Sqrt[(XA - XE)^2 + (YA - YE)^2]];EC = Simplify[Sqrt[(XE - XC)^2 + (YE - YC)^2]];Print["AC = ", AC];Print["AE = ", AE];Print["EC = ", EC];If[AC == AE == EC,  Print["由于 AC=AE=EC,所以 \[EmptyUpTriangle]ACE 是正三角形。 "]]
复制代码

运行结果如下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

202

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-3 09:03:58 | 显示全部楼层
楼主的 E 点坐标计算正确。为何下面就进行不下去了呢?
回复

使用道具 举报

0

主题

188

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-3 09:04:47 | 显示全部楼层
  1. Clear[a](*a=8;a=5;a=4;*)a' = -a; u = 1 + \[Omega]; u' = 1/u; c = 1;\[Omega] = -(1/2) + Sqrt[3]/2 I;e = -a  \[Omega] - \[Omega]^2; e' = -a  /\[Omega] - 1/\[Omega]^2;Simplify[{(1 - u a)/(1 - u), (u + a)/(  u - 1), ((1 - u a)/(1 - u) + 1)/((u + a)/(u - 1) +    1), ((1 - u a)/(1 - u)) ((u + a)/(u - 1)), \[Omega], , e, e', (  c - a)/(c - e), (e + 1)/(e' + 1)}](*假设向量EC/向量EA=v*)Solve[((1 - v a)/(1 - v) + 1)/((v + a)/(v - 1) + 1) ==   1 + \[Omega], v]    (*\[Angle]EBC等于30\[Degree],EC直线的复斜率等于1+\[Omega]*){{v -> (3 I + Sqrt[3] + I a - Sqrt[3] a)/(2 (Sqrt[3] + I a))}}{{v -> (3 I + Sqrt[3] + I a - Sqrt[3] a)/(2 (Sqrt[3] + I a))}}(3 I + Sqrt[3] + I a - Sqrt[3] a)/( 2 (Sqrt[3] + I a)) = (Sqrt[3] i (Sqrt[3] + I a) + Sqrt[3] + I a)/(  2 (Sqrt[3] + I a)) = 1/2 + (Sqrt[3]/2) I(*这项结论正确,手工计算*)
复制代码
图片中第一段使用坐标是对的,主要是这段为什么计算结果里会出现a?主题构图简单,复数没有优势,下面这题就明显了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

948

主题

1162

帖子

3655

积分

超级版主

Rank: 8Rank: 8

积分
3655

论坛头条论坛元老谋士数据帝优秀版主超级版主见习版主论坛版主

 楼主| 发表于 2023-10-3 09:05:40 | 显示全部楼层


mathematica 程序及运行结果如下:
  1. Clear["Global`*"];XA = (R^2 - a^2 - 1)/( 2 a);  YA = Sqrt[-a^4 + 2 a^2 (R^2 + 1) - (R^2 - 1)^2]/(2 a);  XB = (R^2 - a^2 - 1)/( 2 a);  YB = -(Sqrt[-a^4 + 2 a^2 (R^2 + 1) - (R^2 - 1)^2]/(2 a));XD = (a^4 - a^2 (2 R^2 + 3) + R^2 (R^2 - 1))/( 2 a); YD = ( (R^2 - a^2) Sqrt[-a^4 +    2 a^2 (R^2 + 1) - (R^2 - 1)^2])/(2 a);XC = (-a^4 + a^2 (R^2 + 2) + R^2 - 1)/(2 a R^2);  YC =  1/(2 a R^2) ((1 - a^2) Sqrt[-a^4 + 2 a^2 (R^2 + 1) - (R^2 - 1)^2]);XE = ( a^6 - a^4 (2 R^2 + 3) + a^2 (R^4 - R^2 + 3) + R^2 - 1)/( 2 a R^2); YE = (-a^8 + a^6 (3 R^2 + 4) - a^4 (3 R^4 + 4 R^2 + 6) +   a^2 (R^6 - R^2 + 4) - (R^2 - 1)^2)/( 2 a R^2 Sqrt[-a^4 + 2 a^2 (R^2 + 1) - (R^2 - 1)^2]);XF = (-a^6 + a^4 (3 R^2 + 2) - a^2 (3 R^4 + R^2 + 1) +   R^4 (R^2 - 1))/(2 a R^2); YF = ( Sqrt[-a^4 +    2 a^2 (R^2 + 1) - (R^2 - 1)^2] (a^4 - a^2 (2 R^2 + 1) + R^4))/( 2 a R^2)   ;XM = (-a^6 + a^4 (2 R^2 + 1) + a^2 (-R^4 + 3 R^2 + 1) + R^2 - 1)/( 2 a (a^4 - 2 a^2 (R^2 + 1) + R^4 - R^2 + 1)); YM = ( Sqrt[-a^4 +    2 a^2 (R^2 + 1) - (R^2 - 1)^2] (a^4 - a^2 (R^2 + 2) + 1))/( 2 a (a^4 - 2 a^2 (R^2 + 1) + R^4 - R^2 + 1));XN = -((a (a^2 - R^2 - 1) (a^6 - a^4 (3 R^2 + 2) +      a^2 (3 R^4 + R^2 + 1) - R^6 + R^4))/(  2 a^8 - a^6 (5 R^2 + 6) + 3 a^4 (R^4 + 2 R^2 + 2) +    a^2 (R^6 - R^4 - R^2 - 2) + (a^4 - a^2 (2 R^2 + 1) +       R^4) R^2(-a^2 + R^2 - 1) - R^8 +    R^6)); YN = ( (a^4 - a^2 (2 R^2 + 1) + R^4) Sqrt[-a^4 +    2 a^2 (R^2 + 1) - (R^2 - 1)^2])/( 2 a (a^4 - 2 a^2 (R^2 + 1) + R^4 - R^2 + 1));XQ = (R^2 - a^2 - 1)/(2 a); YQ = ( Sqrt[-a^4 +    2 a^2 (R^2 + 1) - (R^2 - 1)^2] (a^4 (R^2 + 1) -     2 a^2 (R^4 + R^2 + 1) + R^6 + 1))/( 2 a (R^2 + 1) (a^4 - 2 a^2 (R^2 + 1) + R^4 - R^2 + 1));DB = Sqrt[(XD - XB)^2 + (YD - YB)^2]; BC = Sqrt[(XC - XB)^2 + (YC -     YB)^2];MQ = Sqrt[(XM - XQ)^2 + (YM - YQ)^2]; NQ = Sqrt[(XN - XQ)^2 + (YN -     YQ)^2];k1 = Simplify[DB/BC, a > 0 && R > 0]; k2 =  Simplify[MQ/NQ, a > 0 && R > 0];Print["DB/BC = ", k1]; Print["MQ/NQ = ", k2];If[k1 == k2,  Print["\!\(\*SuperscriptBox[\(由于二者之比都等于R\), \(2\)]\),所以DB/BC = \MQ/NQ"]]
复制代码

程序运行结果:
  1. DB/BC = R^2MQ/NQ = R^2由于二者之比都等于R^2,所以DB/BC = MQ/NQ
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

198

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2023-10-3 09:05:51 | 显示全部楼层

① 这个比值比的等于两圆半径之平方。 ② 另外有 MN//EF。 ③ 如果 AB 的延长线交 EF 于 P 点,则这个比值也等于 EP: PF,即 BP 是 ∠EBF 的平分线。
等于两圆半径之平方, BP 是 ∠EBF 的平分线两条结论正确,但是另外两条错误。证明 BP 平分 ∠EBF可能容易,其它可能比较难,请谈谈纯几何方法。
  1. \!\(\*OverscriptBox["o1", "_"]\) = o1 = 0; \!\(\*OverscriptBox["o2", "_"]\) = o2; b = \!\(\*OverscriptBox["a", "_"]\) = 1/a; \!\(\*OverscriptBox["b", "_"]\) = a; \!\(\*OverscriptBox["d", "_"]\) = 1/d; \!\(\*OverscriptBox["e", "_"]\) = 1/e;d = (a - o2)/(1 - a o2); c = a - a^2 o2 + o2; \!\(\*OverscriptBox["c", "_"]\) = \!\(\*OverscriptBox["a", "_"]\) - \!\(\*OverscriptBox["a", "_"]\) ^2 o2 + o2;(*根据复斜率手工计算得到*)e = (c - o2)/(b (\!\(\*OverscriptBox["b", "_"]\) - o2)); f = b d (\!\(\*OverscriptBox["b", "_"]\) - o2) + o2; \!\(\*OverscriptBox["f", "_"]\) = \!\(\*OverscriptBox["b", "_"]\) \!\(\*OverscriptBox["d", "_"]\) (b - o2) + o2;k[a_, b_] := (a - b)/(\!\(\*OverscriptBox["a", "_"]\) - \!\(\*OverscriptBox["b", "_"]\)); \!\(\*OverscriptBox["k", "_"]\)[a_, b_] := 1/k[a, b];(*复斜率定义*)k[a_, b_, c_] := k[a, b]/k[c, b];(*e^(2IB)*)\!\(\*OverscriptBox["Jd", "_"]\)[k1_, a1_, k2_, a2_] := -((a1 - k1 \!\(\*OverscriptBox["a1", "_"]\) - (a2 - k2 \!\(\*OverscriptBox["a2", "_"]\)))/(  k1 - k2));(*复斜率等于k1,过点A1与复斜率等于k2,过点A2的直线交点*)Jd[k1_, a1_, k2_, a2_] := -((k2 (a1 - k1 \!\(\*OverscriptBox["a1", "_"]\)) - k1 (a2 - k2 \!\(\*OverscriptBox["a2", "_"]\)))/(k1 - k2));FourPoint[a_, b_, c_, d_] :=   Jd[k[a, b], a, k[c, d], d];(*过两对点A和B、C和D的直线交点*)\!\(\*OverscriptBox["FP", "_"]\)[a_, b_, c_, d_] := \!\(\*OverscriptBox["Jd", "_"]\)[k[a, b], a, k[c, d], d];m = FourPoint[e, o1, a, d]; \!\(\*OverscriptBox["m", "_"]\) = \!\(\*OverscriptBox["FP", "_"]\)[e, o1, a, d]; n =  FourPoint[f, o2, a, c]; \!\(\*OverscriptBox["n", "_"]\) = \!\(\*OverscriptBox["FP", "_"]\)[f, o2, a, c];q = FourPoint[m, n, a, b]; \!\(\*OverscriptBox["q", "_"]\) = \!\(\*OverscriptBox["FP", "_"]\)[m, n, a, b]; p =  FourPoint[e, f, a, b]; \!\(\*OverscriptBox["p", "_"]\) = \!\(\*OverscriptBox["FP", "_"]\)[e, f, a, b];Simplify[{c, d, e, f, m, n}]Simplify[{0, q, \!\(\*OverscriptBox["q", "_"]\), p, \!\(\*OverscriptBox["p", "_"]\)}]Simplify[{1, b - d, b - c, , (b - d)/(b - c), q - m, q - n, , (  q - m)/(q - n)}](*验证比例*)Simplify[{2, m - n, e - f, , (m - n)/(e - f), k[m, n], k[e, f],   k[m, n] - k[e, f]}](*验证平行*)Simplify[{3, p - e, p - f, (p - e)/(p - f), , k[b, e],   k[b, f]}](*验证 PE/PF=MQ/NQ,BP 是 \[Angle]EBF 的平分线*)
复制代码
  1. {a + o2 - a^2 o2, (-a + o2)/(-1 + a o2), (a (a - a^2 o2))/(a - o2),  o2 + (a - o2)^2/(a (1 - a o2)), ( a^3 (-1 + a o2)^2)/(-a o2 - a^3 o2 + o2^2 + a^4 o2^2 -   a^2 (-1 + o2^2)), ( a (2 o2^2 + a^3 o2^3 - a^2 (-1 + o2^2) - a o2 (2 + o2^2)))/(-a o2 -   a^3 o2 + o2^2 + a^4 o2^2 - a^2 (-1 + o2^2))}{0, (a^2 (-2 o2^2 + a^5 o2^3 - 2 a^2 (1 + o2^2) + a o2 (3 + o2^2) -     a^4 o2^2 (3 + o2^2) + a^3 o2 (3 + 2 o2^2)))/((-a o2 - a^3 o2 +     o2^2 + a^4 o2^2 - a^2 (-1 + o2^2)) (o2 + a^2 o2 -     a (2 + o2^2))), (-2 a^5 o2^2 + o2^3 - 2 a^3 (1 + o2^2) +   a^4 o2 (3 + o2^2) - a o2^2 (3 + o2^2) + a^2 o2 (3 + 2 o2^2))/( a (-a o2 - a^3 o2 + o2^2 + a^4 o2^2 - a^2 (-1 + o2^2)) (o2 + a^2 o2 -     a (2 + o2^2))), (-3 a^3 o2 + 4 a^2 o2^2 - 3 a o2^3 + o2^4 +   3 a^5 o2 (-1 + o2^2) + a^6 (o2^2 - o2^4) - a^4 (-2 + o2^4))/( a (o2 + a^2 o2 + a (-2 + o2^2)) (o2 + a^2 o2 -     a (1 + o2^2))), (-3 a^3 o2 + o2^2 + 4 a^4 o2^2 - 3 a^5 o2^3 -   o2^4 + a^6 o2^4 + 3 a o2 (-1 + o2^2) - a^2 (-2 + o2^4))/( a (o2 + a^2 o2 + a (-2 + o2^2)) (o2 + a^2 o2 - a (1 + o2^2)))}{1, (-1 + a^2)/( a (-1 + a o2)), ((-1 + a^2) (-1 + a o2))/a, Null, 1/(-1 + a o2)^2, ( a^2 (-1 + a^2) o2 (2 o2 + a^2 o2 - a (2 + o2^2)))/((-a o2 - a^3 o2 +     o2^2 + a^4 o2^2 - a^2 (-1 + o2^2)) (o2 + a^2 o2 -     a (2 + o2^2))), ( a (-1 + a^2) (a - o2)^2 o2 (2 - 3 a o2 + a^2 o2^2))/((-a o2 -     a^3 o2 + o2^2 + a^4 o2^2 - a^2 (-1 + o2^2)) (o2 + a^2 o2 -     a (2 + o2^2))), Null, a/((a - o2) (-1 + a o2))}{2, (a (-1 + a^2) o2 (2 o2 + a^2 o2 - a (2 + o2^2)))/(-a o2 - a^3 o2 +   o2^2 + a^4 o2^2 - a^2 (-1 + o2^2)), -o2 + (a - o2)^2/(  a (-1 + a o2)) + (a (a - a^2 o2))/(a - o2), Null, -((  a^2 (a - o2)^2 (-2 + a o2) (-1 + a o2))/((-2 a^2 + 2 a o2 + a^3 o2 -      o2^2) (-a o2 - a^3 o2 + o2^2 + a^4 o2^2 -      a^2 (-1 + o2^2)))), -((a^2 (2 o2 + a^2 o2 - a (2 + o2^2)))/(  o2 + 2 a^2 o2 - a (2 + o2^2))), ( a (-2 a^2 + 2 a o2 + a^3 o2 - o2^2))/( 2 a - o2 - 2 a^2 o2 + a^3 o2^2), ( a o2^2 (o2 + 3 a^2 o2 - 3 a^4 o2 - a^6 o2 - a (2 + o2^2) +     a^5 (2 + o2^2)))/((2 a - o2 - 2 a^2 o2 + a^3 o2^2) (o2 +     2 a^2 o2 - a (2 + o2^2)))}{3, ((-1 + a^2) o2 (-3 a^4 o2 + 3 a o2^2 + a^5 o2^2 - o2^3 -     a^2 o2 (4 + o2^2) + a^3 (2 + 3 o2^2)))/( a (o2 + a^2 o2 + a (-2 + o2^2)) (o2 + a^2 o2 -     a (1 + o2^2))), -(((-1 + a^2) o2 (-2 a^2 + 2 a o2 + a^3 o2 -      o2^2) (-1 + o2^2))/(-3 a o2 - 3 a^3 o2 + o2^2 + a^4 o2^2 +    a^2 (2 + 3 o2^2 - o2^4))), (a - o2 - a^2 o2)/( a (-1 + o2^2)), Null, (a (-1 + a o2))/(a - o2), (a - o2)/( a (-1 + a o2))}
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

948

主题

1162

帖子

3655

积分

超级版主

Rank: 8Rank: 8

积分
3655

论坛头条论坛元老谋士数据帝优秀版主超级版主见习版主论坛版主

 楼主| 发表于 2023-10-3 09:05:59 | 显示全部楼层


注: 这个证明是由【初等数学讨论】(http://kuing.orzweb.net/forumdisplay.php?fid=5 ) 的版主  kuing 做出的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

193

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2023-10-3 09:06:10 | 显示全部楼层
看了你的程序,代入具体数字验算,得不到需要的结论。不知哪个地方有毛病。
以你这个程序为基础,假定右边那个圆的半径为 R,两圆圆心之间的距离为 u。
但是在程序运行中有一个困难,就是目前 mathematica 对含有根式的复数公式的处理能力太差,只有靠人工参与协助电脑计算,但是人工干预多了,不但程序变长变复杂了,也不符合机器证明的要求了。


  1. Clear["Global`*"];\!\(\*OverscriptBox[\(o1\), \(_\)]\) = o1 = 0; \!\(\*OverscriptBox[\(o2\), \(_\)]\) = o2 = u;a = (-R^2 + u^2 + 1)/(2 u) +   I (Sqrt[-R^4 + 2 R^2 (u^2 + 1) - (u^2 - 1)^2])/(2 u); \!\(\*OverscriptBox[\(a\), \(_\)]\) = (-R^2 + u^2 + 1)/(2 u) -   I (Sqrt[-R^4 + 2 R^2 (u^2 + 1) - (u^2 - 1)^2])/(2 u);b = \!\(\*OverscriptBox[\(a\), \(_\)]\) ; \!\(\*OverscriptBox[\(b\), \(_\)]\) = a;c = Simplify[a - a^2 u + u]; \!\(\*OverscriptBox[\(c\), \(_\)]\) = Simplify[ \!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\) ^2 u + u];(*根据复斜率手工计算得到*)d = Simplify[(a - u)/(1 - a u)];e = Simplify[(c - u)/(b (\!\(\*OverscriptBox[\(b\), \(_\)]\) - u))]; f = Simplify[b d (\!\(\*OverscriptBox[\(b\), \(_\)]\) - u) + u]; \!\(\*OverscriptBox[\(d\), \(_\)]\) = 1/d; \!\(\*OverscriptBox[\(e\), \(_\)]\) = 1/e;(*因为O1是单位圆之故*)\!\(\*OverscriptBox[\(f\), \(_\)]\) = Simplify[ \!\(\*OverscriptBox[\(b\), \(_\)]\)  \!\(\*OverscriptBox[\(d\), \(_\)]\) (b - u) + u];Print["a = ", a]; Print["b = ", b];Print["c = ", c]; Print["d = ", d]; Print["e = ", e]; Print["f = ", f];Jd[a_, b_, c_,    d_] := ((c - d) (b Conjugate[a] - a Conjugate[b]) - (a -       b) (d Conjugate[c] - c Conjugate[d]))/((c - d) (Conjugate[a] -       Conjugate[b]) - (a - b) (Conjugate[c] - Conjugate[      d])); (* 直线 AB 与 CD 的交点复坐标 *)\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[a_, b_, c_,   d_] := ((c - d) (b Conjugate[a] - a Conjugate[b] ) - (a -      b) (d Conjugate[c] - c Conjugate[d]))/( (Conjugate[c] -      Conjugate[d]) (a - b) - (Conjugate[a] - Conjugate[b] ) (c -      d));(*同时算出交点的共轭比没什么用,因为算出的交点坐标公式中仍会带有星号!不进一步化简就不能用! *)m = Simplify[Jd[a, d, e, o1], Element[{u, R}, Reals]];\!\(\*OverscriptBox[\(m\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[a, d, e, o1],    Element[{u, R}, Reals]];Print["未化简的 m = ", m];(* 直接算出的 m 中含有带星的符号,公式不是最简,必须进一步化简才能用 *)m = m /. Conjugate[Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2]] ->    Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2];m = m /. Conjugate[((-2 u^2 -           I Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2] - 1) R^2 +        u^2 (u^2 + I Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2] -           1))] -> (u^4 - u^2 - 2 R^2 u^2 - R^2 -       I (u^2 - R^2) Sqrt[-R^4 + 2 R^2 (u^2 + 1) - (u^2 - 1)^2]);m = Simplify[m];Print["m = ", m];XM = Factor@    Together@     ComplexExpand@      Re[m /. Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2] -> v] /.    v -> Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2];YM = Factor@    Together@     ComplexExpand@      Im[m /. Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2] -> v] /.    v -> Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2];n = Simplify[Jd[a, c, f, o2], Element[{u, R}, Reals]];n = n /. Conjugate[Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2]] ->     Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2];n = n /. Conjugate[((2 u^2 +           I Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2] + 1) R^2 +        u^2 (-u^2 - I Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2] +           3))] ->    (3 u^2 - u^4 + 2 R^2 u^2 + R^2 -       I (R^2 - u^2) Sqrt[-R^4 + 2 R^2 (u^2 + 1) - (u^2 - 1)^2]);n = Simplify[n];Print["n = ", n];XN = Factor@    Together@     ComplexExpand@      Re[n /. Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2] -> v] /.    v -> Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2];YN = Factor@    Together@     ComplexExpand@      Im[n /. Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2] -> v] /.    v -> Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2];XD = Factor@    Together@     ComplexExpand@      Re[d /. Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2] -> v] /.    v -> Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2];YD = Factor@    Together@     ComplexExpand@      Im[d /. Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2] -> v] /.    v -> Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2];XC = Factor@    Together@     ComplexExpand@      Re[c /. Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2] -> v] /.    v -> Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2];YC = Factor@    Together@     ComplexExpand@      Im[c /. Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2] -> v] /.    v -> Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2]; XB = (-R^2 + u^2 + 1)/( 2 u); YB = -(Sqrt[-R^4 + 2 R^2 (u^2 + 1) - (u^2 - 1)^2]/(2 u));q = (-R^2 + u^2 + 1)/(2 u) +    I ((R^6 - 2 R^4 u^2 + R^2 u^2 (u^2 - 2) + (u^2 - 1)^2) Sqrt[-R^4 +       2 R^2 (u^2 + 1) - (u^2 - 1)^2])/(    2 (R^2 + 1) u (R^4 - R^2 (2 u^2 + 1) + (u^2 - 1)^2));XQ = (-R^2 + u^2 + 1)/( 2 u); YQ = ((R^6 - 2 R^4 u^2 +     R^2 u^2 (u^2 - 2) + (u^2 - 1)^2) Sqrt[-R^4 +    2 R^2 (u^2 + 1) - (u^2 - 1)^2])/( 2 (R^2 + 1) u (R^4 - R^2 (2 u^2 + 1) + (u^2 - 1)^2));Print["q = ", q];DB = Simplify[Sqrt[(XD - XB)^2 + (YD - YB)^2]]; BC =  Simplify[Sqrt[(XC - XB)^2 + (YC - YB)^2]];MQ = Simplify[Sqrt[(XM - XQ)^2 + (YM - YQ)^2]]; NQ =  Simplify[Sqrt[(XN - XQ)^2 + (YN - YQ)^2]];Print["DB = ", DB]; Print["BC = ", BC];Print["MQ = ", MQ]; Print["NQ = ", NQ];k1 = Simplify[DB/BC, a > 0 && R > 0]; k2 =  Simplify[MQ/NQ, a > 0 && R > 0];Print["DB/BC = ", k1]; Print["MQ/NQ = ", k2];If[k1 == k2,  Print["由于二者之比都等于 1/\!\(\*SuperscriptBox[\(R\), \(2\)]\),所以DB/BC = \MQ/NQ"]]
复制代码

程序运行结果:
  1. a = (-R^2+u^2+1)/(2 u)+(I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2])/(2 u)b = (-R^2+u^2+1)/(2 u)-(I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2])/(2 u)c = (-R^4+(2 u^2+I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]+1) R^2+u^2 (-u^2-I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]+3))/(2 u)d = (R^2+u^2-I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]-1)/(u (-R^2+u^2+I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]-1))e = -((R^4+(-2 u^2-I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]-1) R^2+u^2 (u^2+I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]-1))/(u (R^2-u^2+I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]+1)))f = (R^2+u^2+2 I u^2 Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]-I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]-1)/(u (-R^2+u^2+I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]-1))未化简的 m = -((R^4+(-2 u^2-I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]-1) R^2+u^2 (u^2+I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]-1)) (((R^2+u^2-I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]-1) (-R^2+u^2-I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]^\[Conjugate]+1))/(2 u^2 (-R^2+u^2+I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]-1))+((R^2-u^2-I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]-1) (R^2+u^2+I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]^\[Conjugate]-1))/(2 u^2 (-R^2+u^2-I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]^\[Conjugate]-1))))/(u (R^2-u^2+I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]+1) (((R^4+(-2 u^2-I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]-1) R^2+u^2 (u^2+I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]-1)) (R^4-2 (u^2+1) R^2+(u^2-1)^2-(Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]^\[Conjugate])^2+2 I (R^2-u^2-1) Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]^\[Conjugate]))/(2 u^2 (-R^2+u^2-I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]-1) (-R^2+u^2-I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]^\[Conjugate]-1))+(((-R^2+u^2+1)/(2 u)+(I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2])/(2 u)-(R^2+u^2-I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]-1)/(u (-R^2+u^2+I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]-1))) (R^4+((-2 u^2-I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]-1) R^2+u^2 (u^2+I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]-1))^\[Conjugate]))/(u (R^2-u^2-I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]^\[Conjugate]+1))))m = ((-R^2+u^2+I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]-1) (R^4+(-2 u^2-I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]-1) R^2+u^2 (u^2+I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]-1)))/(4 u (R^4-(2 u^2+1) R^2+(u^2-1)^2))n = (u^2 R^4-(2 u^4+(I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]+3) u^2+1) R^2+(u^2-1)^2 (u^2+I Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2]+1))/(2 u (R^4-(2 u^2+1) R^2+(u^2-1)^2))q = (-R^2+u^2+1)/(2 u)+(I (R^6-2 u^2 R^4+u^2 (u^2-2) R^2+(u^2-1)^2) Sqrt[-R^4+2 (u^2+1) R^2-(u^2-1)^2])/(2 (R^2+1) u (R^4-(2 u^2+1) R^2+(u^2-1)^2))DB = Sqrt[-((R^4-2 (u^2+1) R^2+(u^2-1)^2)/(R^2 u^2))]BC = Sqrt[-((R^2 (R^4-2 (u^2+1) R^2+(u^2-1)^2))/u^2)]MQ = Sqrt[-((R^2 (2 R^6-(5 u^2+2) R^4+(4 u^4-6 u^2-2) R^2-(u^2-2) (u^2-1)^2))/((R^2+1)^2 (R^4-(2 u^2+1) R^2+(u^2-1)^2)^2))]NQ = Sqrt[-((R^6 (2 R^6-(5 u^2+2) R^4+(4 u^4-6 u^2-2) R^2-(u^2-2) (u^2-1)^2))/((R^2+1)^2 (R^4-(2 u^2+1) R^2+(u^2-1)^2)^2))]DB/BC = 1/R^2MQ/NQ = 1/R^2由于二者之比都等于 1/R^2,所以DB/BC = MQ/NQ
复制代码

上面这个程序中,除了 Q 点的复数坐标人工化简失败,另用其它方法算出补上以外,其它点的坐标都是按楼主的程序算出的。

M  点和 N 点的复坐标,程序给出的结果十分复杂,通过人工疏导可以化简。如果不化简,后面的计算就进行不下去。

最后是关于线段长度的计算,用复坐标计算长度算不出来,也可能是算得非常慢,把复坐标换成直角坐标计算,瞬间就算出来了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

192

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-3 09:06:44 | 显示全部楼层
用楼主那个程序,给 O2 圆半径赋值 R=1.138,两圆圆心距离 u=1.621,程序运行结果正确,即两个比例相等成立。但是不代入具体数字,最终需要的结果算不出来,各点坐标的表达式也比楼上程序复杂。这说明 mathematica 处理复数的能力比较差,这就不好办了。
  1. Clear["Global`*"];u = 1.621; R = 1.138;\!\(\*OverscriptBox[\(o1\), \(_\)]\) = o1 = 0; o2 = u; \!\(\*OverscriptBox[\(o2\), \(_\)]\) = u;a = (-R^2 + u^2 + 1)/(2 u) + (   I Sqrt[-R^4 + 2 (u^2 + 1) R^2 - (u^2 - 1)^2])/(2 u);b = (-R^2 + u^2 + 1)/(2 u) -    I (Sqrt[-R^4 + 2 R^2 (u^2 + 1) - (u^2 - 1)^2])/(2 u); \!\(\*OverscriptBox[\(a\), \(_\)]\) = b; \!\(\*OverscriptBox[\(b\), \(_\)]\) = a; c = Simplify[a - a^2 u + u]; \!\(\*OverscriptBox[\(c\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(a\), \(_\)]\) ^2 u + u]; (* 根据复斜率手工计算得到*) d = Simplify[(a - u)/(1 - a u)];   \!\(\*OverscriptBox[\(d\), \(_\)]\) = Simplify[(1 - a u)/(a - u)]; e =  Simplify[(c - u)/(b (a - u))];  \!\(\*OverscriptBox[\(e\), \(_\)]\) = Simplify[(b (a - u))/(c - u)]; f = Simplify[b d (a - u) + u];  \!\(\*OverscriptBox[\(f\), \(_\)]\) =  Simplify[(a (b - u) (1 - a u))/(a - u) + u];Print["a = ", a, ",  b = ", b, " ,  c = ", c, " ,  d = ", d];k[a_, b_] := (a - b)/(\!\(\*OverscriptBox[\(a\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)); \!\(\*OverscriptBox[\(k\), \(_\)]\)[a_, b_] := 1/k[a, b];(*复斜率定义*)k[a_, b_, c_] := k[a, b]/k[c, b];(*e^(2IB)*)\!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k1_, a1_, k2_, a2_] := -((a1 - k1 \!\(\*OverscriptBox[\(a1\), \(_\)]\) - (a2 - k2 \!\(\*OverscriptBox[\(a2\), \(_\)]\)))/(  k1 - k2));(*复斜率等于k1,过点A1与复斜率等于k2,过点A2的直线交点*)Jd[k1_, a1_, k2_, a2_] := -((k2 (a1 - k1 \!\(\*OverscriptBox[\(a1\), \(_\)]\)) - k1 (a2 - k2 \!\(\*OverscriptBox[\(a2\), \(_\)]\)))/(k1 - k2));FourPoint[a_, b_, c_, d_] :=    Jd[k[a, b], a, k[c, d], d];(*过两对点A和B、C和D的直线交点*)\!\(\*OverscriptBox[\(FP\), \(_\)]\)[a_, b_, c_, d_] := \!\(\*OverscriptBox[\(Jd\), \(_\)]\)[k[a, b], a, k[c, d], d];m = Simplify[FourPoint[e, o1, a, d]];  \!\(\*OverscriptBox[\(m\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(FP\), \(_\)]\)[e, o1, a, d]]; n = Simplify[FourPoint[f, o2, a, c]];  \!\(\*OverscriptBox[\(n\), \(_\)]\) = Simplify[\!\(\*OverscriptBox[\(FP\), \(_\)]\)[f, o2, a, c]];q = Simplify[FourPoint[m, n, a, b]];  \!\(\*OverscriptBox[\(q\), \(_\)]\) = Simplify[ \!\(\*OverscriptBox[\(FP\), \(_\)]\)[m, n, a, b]]; p = Simplify[FourPoint[e, f, a, b]]; \!\(\*OverscriptBox[\(p\), \(_\)]\) = Simplify[ \!\(\*OverscriptBox[\(FP\), \(_\)]\)[e, f, a, b]]; Print["e = ", e, "  ,  f = ", f, "  ,  m = ", m, "  , n = ", n,   " , q = ", q];w1 = Simplify[Abs[ (q - m)/(q - n)]]w2 = Simplify[Abs[ (b - d)/(b - c)]]Simplify[w1 == w2]
复制代码

运行结果:

a = 0.719493 +0.694499 I,  b = 0.719493 -0.694499 I ,  c = 2.28321 -0.925488 I ,  d = -0.487966-0.872863 I
e = -0.889563-0.456813 I  ,  f = 2.6848 -0.404188 I  ,  m = 0.305211 +0.156734 I  , n = 1.25601 +0.138678 I , q = 0.719493 +0.148866 I
0.772175
0.772175
True
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|hrefspace

GMT+8, 2024-11-22 04:35 , Processed in 0.073587 second(s), 24 queries .

Powered by hrefspace X3.4 Licensed

Copyright © 2022, hrefspace.

快速回复 返回顶部 返回列表