hujunhua
发表于 2023-8-22 16:37:42
如果能用那个行列式定性证明恰好两解,那就好办了,定量计算可以免除,因为我们从几何上已知两解。
nyy
发表于 2023-8-23 10:43:49
hujunhua 发表于 2023-8-22 16:37
如果能用那个行列式定性证明恰好两解,那就好办了,定量计算可以免除,因为我们从几何上已知两解。
如果四点共圆,那么四边形的一个外角与对角相等,自然他们的正切也相等。
变量含义见图。
Clear["Global`*"];(*清除所有变量*)
deg=Pi/180;(*角度制下1°所对应的弧度*)
(*子函数,给定两个点,计算通过这两个点的直线的斜率.输入两点:{a,b},{c,d},返回:(d-b)/(c-a)*)
kk:=Module[{dpt},dpt=pt2-pt1;dpt[]/dpt[]]
(*四个点坐标赋值,以两个正方形的公共点为原点建立坐标系*)
pt1={-2,-2};
pt2={-2,0};
pt3={a,b};
pt4=Sqrt*RotationMatrix[-45deg].pt3//Simplify(*顺时针旋转45°,放大根号2倍*)
(*计算斜率*)
k1=kk
k2=kk
k3=kk
(*四边形四点共圆,则外角与对角相等(自然角的正切也相等)*)
aa=1/k1-(k3-k2)/(1+k3*k2)//Simplify//Factor
(*建立方程组,解方程组*)
ans=Solve[{
aa==0,(*两个角的正切相等*)
a^2+b^2==1(*小正方形的边长=1*)
},{a,b}]//Simplify
得到的方程组为
\[\begin{cases}
-\frac{(a-b) \left(a^2+b^2-4\right)}{2 b (a-b-2)}&=0 \\
a^2+b^2&=1
\end{cases}
\]
求解结果是
\[\left\{\left\{a\to -\frac{1}{\sqrt{2}},b\to -\frac{1}{\sqrt{2}}\right\},\left\{a\to \frac{1}{\sqrt{2}},b\to \frac{1}{\sqrt{2}}\right\}\right\}\]
nyy
发表于 2023-8-23 14:20:00
nyy 发表于 2023-8-23 10:43
如果四点共圆,那么四边形的一个外角与对角相等,自然他们的正切也相等。
变量含义见图。
利用四个点到圆心的距离都等于R,列方程组求解,代码非常清晰易懂。
Clear["Global`*"];(*清除所有变量*)
deg=Pi/180;(*角度制下1°所对应的弧度*)
(*四个点坐标赋值,以两个正方形的公共点为原点建立坐标系*)
pt1={-2,-2};
pt2={-2,0};
pt3={a,b};
pt4=Sqrt*RotationMatrix[-45deg].pt3//Simplify(*顺时针旋转45°,放大根号2倍*)
(*圆心到四个点的距离都等于半径R*)
ans=Solve[{
EuclideanDistance==
EuclideanDistance==
EuclideanDistance==
EuclideanDistance==R,(*四个点到圆心的距离都=R*)
a^2+b^2==1(*小正方形的边长=1*)
},{x,y,R,a,b}]//Simplify(*指明求解变量:圆心坐标,半径,pt3坐标*)
Grid(*列表显示*)
求解结果
\[\begin{array}{lllll}
x\to -1-\frac{1}{\sqrt{2}} & y\to -1 & R\to \sqrt{\frac{5}{2}-\sqrt{2}} & a\to -\frac{1}{\sqrt{2}} & b\to -\frac{1}{\sqrt{2}} \\
x\to \frac{1}{\sqrt{2}}-1 & y\to -1 & R\to \sqrt{\sqrt{2}+\frac{5}{2}} & a\to \frac{1}{\sqrt{2}} & b\to \frac{1}{\sqrt{2}} \\
\end{array}\]
这题被我搞烂了,(我)应该不会有新的办法了!
mathe
发表于 2023-8-23 22:19:40
复平面上四点$z_1,z_2,z_3,z_4$共圆,那么必然有它们的交比\(\frac{(z_1-z_3)(z_2-z_4)}{(z_2-z_3)(z_1-z_4)}\)为实数,利用这个性质很容易证明本题的结论
nyy
发表于 2023-8-23 22:41:35
mathe 发表于 2023-8-23 22:19
复平面上四点$z_1,z_2,z_3,z_4$共圆,那么必然有它们的交比\(\frac{(z_1-z_3)(z_2-z_4)}{(z_2-z_3)(z_1-z_4 ...
为什么叫做叫比?我的记忆办法是对角线复数乘积除以一组对边的复数乘积,不知道有没有几何意义!
nyy
发表于 2023-8-24 10:26:53
如果这题改成四点共椭圆,并且椭圆面积要求最小,那么是如何呢?
nyy
发表于 2023-8-24 14:02:35
mathe 发表于 2023-8-23 22:19
复平面上四点$z_1,z_2,z_3,z_4$共圆,那么必然有它们的交比\(\frac{(z_1-z_3)(z_2-z_4)}{(z_2-z_3)(z_1-z_4 ...
又来了一个办法!
(*四边形四点共圆,则同一段圆弧所对的圆周角相等(自然角的正切也相等)*)
就按照这个思路来解决问题,同时,我发现你说的交比的几何意义就是圆周角相等!
利用到角公式,计算两个圆周角的正切。
两个圆周角的正切相减,得到
\[\frac{(a-b) \left(a^2+b^2-4\right)}{\left(a^2+4 a+b^2+2 b+4\right) \left(a^2+a+b^2+3 b+2\right)}=0\]
再考虑小正方形的边长等于1,得到
\
两个方程构成方程组,求解方程组,得到
\[\left\{\left\{a\to -\frac{1}{\sqrt{2}},b\to -\frac{1}{\sqrt{2}}\right\},\left\{a\to \frac{1}{\sqrt{2}},b\to \frac{1}{\sqrt{2}}\right\}\right\}\]
代码:
Clear["Global`*"];(*清除所有变量*)
deg=Pi/180;(*角度制下1°所对应的弧度*)
(*子函数,给定两个点,计算通过这两个点的直线的斜率.输入两点:{a,b},{c,d},返回:(d-b)/(c-a)*)
kk:=Module[{dpt},dpt=pt2-pt1;dpt[]/dpt[]]
(*四个点坐标赋值,以两个正方形的公共点为原点建立坐标系*)
pt1={-2,-2};
pt2={-2,0};
pt3={a,b};
pt4=Sqrt*RotationMatrix[-45deg].pt3//Simplify(*顺时针旋转45°,放大根号2倍*)
(*计算斜率*)
k1=kk
k2=kk
k3=kk
k4=kk
(*四边形四点共圆,则同一段圆弧所对的圆周角相等(自然角的正切也相等)*)
aa=(k2-k1)/(1+k2*k1)-(k4-k3)/(1+k4*k3)//Simplify//Factor
(*建立方程组,解方程组*)
ans=Solve[{
aa==0,(*两个角的正切相等*)
a^2+b^2==1(*小正方形的边长=1*)
},{a,b}]//Simplify
nyy
发表于 2023-8-24 14:25:58
很容易知道△ABC与△AED相似,且∠BAC=∠EAD=45°
因此AB/AE=AC/AD=2,因此如果∠BAE=∠CAD=135°(容易得到BAD共线、CAE共线),
那么△BAE将相似于△CAD,
一旦相似,那么∠E=∠D,而这个相等(前面已经有了BAD共线、CAE共线),
则意味着四点共圆。
上面有凑答案的味道,如何凑,才能更好地通顺呢?
mathe
发表于 2023-8-24 16:16:46
设A=0,B=1,C=1-i, F=(1+i)G, 计算会很简单,直接得出$F+2/F$是实数,所以F是实数或者$|F|=\sqrt{2}$
nyy
发表于 2023-8-25 11:46:24
用余弦定理与反余弦函数列两个方程,这两个方程构成方程组,但是可以预料:软件求解这个方程组很困难!(也许人工操作软件慢慢也能算出来,但是我懒)。
转换思路,画图看看方程组的解在哪,然后牛顿迭代法获得高精度数值解,然后得到精确解,再验算精确解。
(*∠BAE+∠CAD=360-90=270°列方程1*)
得到
\[\cos ^{-1}\left(\frac{1}{4} \left(5-\text{BE}^2\right)\right)+\cos ^{-1}\left(\frac{1}{8} \left(10-\text{CD}^2\right)\right)-\frac{3 \pi }{2}=0\]
(*由∠CBE+∠CDE=180°,得到∠ABE+∠ADC=180-90-45=45°列方程2*)
得到
\[\cos ^{-1}\left(\frac{\text{BE}^2+3}{4 \text{BE}}\right)+\cos ^{-1}\left(\frac{\text{CD}^2-6}{2 \sqrt{2} \text{CD}}\right)-\frac{\pi }{4}=0\]
画等值线图(给版主节省一点空间,就不上传这张图了,可以复制代码在软件中得到图),知道方程组在有意义的范围内只有一组解。
高精度数值解为
{BE -> 2.7979326519318134040630810788639975293470451277324777598618726\
46300747184075960598229656601002893606,
CD -> 3.9568743029684908345957334381028882136706148524629904443534491\
45402687924362251263097354440484226098}
由高精度数值解得到的精确解是
\[\left\{\sqrt{2 \sqrt{2}+5},\sqrt{4 \sqrt{2}+10}\right\}\]
很容易验证精确解是方程组的根
很容易看出后者是前者的根号2倍。由此得到对顶的两个三角形相似!然后得到对顶的两个角都是135°,然后得到CD是直径,那么半径也就容易求解出来了。
全部代码如下:
Clear["Global`*"];(*清除所有变量*)
deg=Pi/180;(*角度制下1°所对应的弧度*)
(*子函数,利用三边计算角的余弦值,角是c边所对的角*)
cs:=((a^2+b^2-c^2)/(2*a*b))
{AC,AD}={Sqrt,Sqrt};(*已知长度的两条线段赋值*)
(*∠BAE+∠CAD=360-90=270°列方程1*)
eq1=ArcCos@cs+ArcCos@cs-270deg
(*由∠CBE+∠CDE=180°,得到∠ABE+∠ADC=180-90-45=45°列方程2*)
eq2=ArcCos@cs+ArcCos@cs-45deg
(*绘图查看解的范围*)
ContourPlot[{eq1==0,eq2==0},{BE,0,6},{CD,0,6}]
(*从上图找到初始值,然后找方程组的高精度数值解*)
aaa=FindRoot[{eq1==0,eq2==0},{{BE,2},{CD,4}},WorkingPrecision->100]
(*由高精度数值解,得到精确解*)
bbb=RootApproximant[{BE,CD}/.aaa]//ToRadicals//Simplify
(*查看高精度数值解是否为方程组的解*)
ccc={eq1==0,eq2==0}/.Thread[{BE,CD}->bbb]//FullSimplify