百科问答小站 logo
百科问答小站 font logo



不规则四边形内如何获得面积最大的椭圆? 第1页

  

user avatar   dchen505 网友的相关建议: 
      

这个问题挂出来已有两个多月了,至今没有收到解答,看来难度的确不小。这是一个有趣而富有挑战性的问题,本人终于找到了解决方法,在此奉献出来,算是自问自答。

对该问题曾尝试过许多方法,都无果而终,比如仿射几何或齐坐标变换等。因为是不规则四边形,无论作纵坐标,横坐标单独或综合进行仿射变化,都不可能将之变为对称四边形(如矩形或菱形),而对称四边形的最大内切椭圆问题则可以解决(参看文章:趣味数学(5): 极值问题的可视化求解 - dchen505的视频 - 知乎 zhihu.com/zvideo/148560)。 由于事先不知道最大内切椭圆与四条边相切的具体位置,也无法用齐坐标变换方法求解,只好用代数法进行硬解,这是本人经历的最复杂的方程求解问题,也是本人尝试过的各种极值问题中的得意之作,在解决过程中学到不少新的知识,特此分享给大家,请耐心往下看。

I) 凸四边形最大内切椭圆问题解法:

将椭圆标准方程: (其中 ) 沿X轴旋转 (弧度),方程化为:

, 简化为:

(1)式: ,其中

(2)式:

(3)式:

(4)式:

可见 为非负实数。

将椭圆中心由坐标原点移到 , (1)式化为:

(5)式: ,

这是平面中任意一个椭圆的方程表达式,其中含有 五个未知数,与四边形的四条边相切,得到四个方程,可以消除其中四个未知数,保留一个未知参数,这便为获得最大内切椭圆提供了理论保证。

(5)式两边对 求导:

,得:

(6)式:

为简化起见,将四边形 的 点置于坐标原点, 置于X轴,如下图:

#1. 椭圆相切 (X轴) 于 点 ,即 , 由(6)式得:

,即 ,

点 在椭圆上,代入(5)式,有:

,得

(7)式: 或

注:因 ,故 (需确保 ),

得到椭圆中心纵坐标 与 A, B, C的关系式。代入(5)式,便可消除一个未知数 。

#2. 椭圆相切直线 于 点 , 的斜率 (已知数), 即

, 根据 直线方程

, 代入: ,解得:

点 在椭圆上,满足(5)式:

将 的表达式代入(一个复杂的方程),整理得到:

(8)式:

这样便得到椭圆中心坐标 与 A,B,C的关系式,代入(5)式,便可消除两个未知数。

同理,根据椭圆相切直线 和 于 点,两直线的斜率分别为:

和 ,可以分别导出:

(看上去简单,推导过程却很复杂,这里从略)

再将 的表达式代入,便得到两个很关键的方程:

(9)式:

(10)式:

对于每个 B 的数值,便可确定 A,C 的数值(视A,C为变量,B为常量),方程展开除去根号,会变成关于A和C的二元8次方程组,不可能获得实数范围的代数解(一元5次以上方程便没有根式表达式了),那该怎么办?可用牛顿求根公式的向量拓展形式(视多变量为一个向量)求得数值解。为了便于习惯上看,将变量 分别记为: 。 定义函数:

方程组: 和 的根等同于(9), (10)式的根。记偏导数:

根据 的数值,选取恰当的初始值 (即 的初始值 ),有快速迭代公式:

等式右边分子分母的各项函数在 处取值 ,这是一个收敛速度很快的高效算法。

的取值范围和初始值 的选取有一定的讲究,不能随便乱取,否则很可能收敛不到正确的根。该如何选取呢?以具体的例子来说明这一点:

设四边形的四个顶点坐标为: , 相应四条边的斜率为:

从(2), (3), (4)式知道:A, B, C取决于椭圆的大小(半长轴a, 半短轴b) 和方向 (长轴与X轴的夹角 )。如下图,在四边形内取一个初始椭圆,不要求和四条边相切,但a和b不能超出四边形两条对角线的一半,大致估计一下,可取初值 ,注意 是辐角 的周期函数, 按(3)式,周期为180°,因此 可以在0到180°内任意取值(化为弧度), 例如取15°, , 则初始椭圆如图中绿色虚点所示:

于是获得一个B的数值和A,C的初值:

代入上面求根公式的迭代序列,很快收敛到一个正确的根(只需迭代4步便可获得6位正确小数):

有了A,B,C的数值,便可确定椭圆的大小( 的值),方向 和中心位置 ,该椭圆便是正确的椭圆,如图中红色椭圆所示,与四条边均相切。

如何计算它们的数值呢? 可由公式(7), (8)直接算出, 的值可由方程组(2), (3), (4)推算,但解方程比较麻烦,可以简捷推算如下,需将(5)式化为标准方程。

首先:将椭圆平移,令 , (5)式化为:

(11)式:

将椭圆反向旋转 (弧度), 或坐标轴正向旋转 (逆时针方向为正) 以消除交叉项 .

,即 ,

令 , 代入(11)得

(12)式: ,其中

将(12)改写为标准方程: , 其中

现在可以进行计算:

根据求根结果, , 而 是带入参数, ,得:

椭圆方向

(椭圆旋转 可调整到水平方向), 根据(7),(8)式算出椭圆中心位置:

。有了 的数值,便可确定这个内切椭圆的面积: (当然这个椭圆不是最大的)。

因为初值 是随便取的,当 连续变动时(决定了 值连续变动),便得到一个有趣的动图, 椭圆总是与四条边相切,参看视频:

内切椭圆动图和面积曲线 https://www.zhihu.com/video/1489361461827252224

当自变量 取遍区间 的数值时,得到 A,B,C变化曲线及相应的椭圆面积曲线,非常有趣的是,内切椭圆在 和 时均取到相同最大值 ,而且在该区间内居然有唯一的最小值,极值点 时取到最小面积 .

至此,已成功解决了凸四边形最大内切椭圆问题。前后花费不少时间,但觉得很值,点赞一下吧,谢谢!

补充说明:

===================================================

本文方法是针对最大面积椭圆需要和四条边均相切的情形。

对某些情形,比如三角形形切去一个小角而形成的四边形,与其中三条边相切则能获得面积更大的椭圆。如何判别用三条边相切还是用四条边相切构造最大椭圆,可以如下操作:

挑选最短的一条边 (如图,设最短边为GH), 将相邻两条边EH和FG作延长线交于K点。形成三角形EFK,在三角形内取最大内切椭圆,若椭圆不超过边界GH,那么该椭圆也是四边形EFGH的最大椭圆。若超过边界,则按上文方法处理。至于三角形内如何取最大内切椭圆,可以查看文章:

数学随笔8:三角形内接椭圆问题集锦 - dchen505的文章 - 知乎 zhuanlan.zhihu.com/p/46

感谢大家的点赞与评论,感谢 @mathe 提供的射影几何方法,得出相同的数值结果。


II) 凹四边形最大内切椭圆问题解法:

凹四边形可以看作三角形内取一个点作为凹点,与两个顶点作连线形成的四边形。根据凹点的不同位置,可分几种类型:

浅凹型:凹点靠近某条边;深凹型:凹点远离某条边;中凹型:凹点在三角形中心附近。

无论何种类型,凹四边形最大内切椭圆问题与凸四边形不同,可以用几何方法解决该问题,处理起来相对简单,先叙述两条与该问题有关的引理。

引理1:任意两个面积相同的三角形,其最大内切椭圆面积相同;

引理2:任意三角形,其最大内切椭圆面积与三角形面积之比 (恒定值)

显然,若引理2成立,则引理1也成立。这里给出引理2的证明。

先引用仿射几何的一个基本定理:仿射变换保持平面图形的面积比不变。这个定理的证明在仿射几何可以找到,百度搜索一下即可,这里不打算给出证明,但可以简单验证一下。以三角形为例。

如图,三角形面积 , 设仿射变换:

仿射后三角形面积

面积之比 这是个定值,只与横坐标,纵坐标的缩放比 有关,与三角形本身面积大小无关。

我们知道,在正三角形(等边三角形)的所有内切椭圆中,以内接圆面积为最大,证明可以参见上面提到的 [数学随笔8]文章,这里只是引用一下这个结论。

设等边三角形的边长 , 则 高 。正三角形面积 , 其内接圆的圆心位于正三角形的重心,内接圆的半径 , 内接圆面积

内接圆面积与正三角形面积之比

根据仿射变换保持面积比不变的特性,当正三角形映射成任意三角形时,其内接圆映射成面积最大的椭圆。因此对于任意三角形,其最大内切椭圆面积与三角形面积之比 ,引理2 证毕。

根据引理2,三角形面积越大,其最大内切椭圆的面积也越大。因此,要寻求凹四边形的最大内切椭圆的问题就变得简单了,只需在凹四边形内找出最大三角形就行。

任意四边型最大的内切椭圆必须至少和三条边相切,对于凹四边形,最多只能与三条边相切,因此凹四边形的最大椭圆就只能与三条边相切。为求取最大内切椭圆,以一个具体实例来讲述:

如图,设四边形EFGH的E点位于坐标原点,EF置于X轴,G为凹点,各点坐标如图。

过凹点G作FG的延长线交EH于K点,作HG的延长线交EF(X轴)于L点,可以求得K点坐标为(3, 4.5), L点坐标为(6, 0)。可以算出,

三角形 EFK 的面积

三角形 EHL 的面积

三角形EFK的最大内切椭圆如图中红色椭圆所示,按引理2,其面积

该椭圆的中心位于N点 (称为椭圆N),以下将阐述,椭圆N就是凹四边形内面积最大的内切椭圆。

该椭圆不经过凹点G。那么是否存在经过G点的更大面积椭圆呢?这是不可能的。按引理2,只需证明在凹四边形内不存比EFK更大面积的三角形就行了。

因为是凹四边形,其最大三角形必须经过凹点G,否则在四边形内任取一点M,以四边形的两条边和过M点的直线形成的三角形,其面积要么小于EFK的面积,要么小于EHK的面积。这是因为,三角形面积 = 。底边的最大值为 EF=9, 高的最大值=6,如果底边取最大值 (以F为一个顶点),经过M点的三角形,其高度不会超过K点的高度,否则就超出四边形的边界了,因此面积不会超过 。同理,若高度取最大值(以H为一个顶点),其底边的长度不能超过EL,否则就超出边界,因此面积不会超过 . 所以,凹四边形内,不经过凹点的三角形,其面积不可能超过 .

那么,经凹点G,能否作出比EFK更大面积的三角形呢?比如以牺牲底边的一些长度换取更大的高度从而获得更大面积呢?这也是不可能的。

如图,在线段LF之间任取一点P,坐标为 ,其中 ,直线PG交EH于Q点,可以求得,Q点坐标为: ,三角形EPQ的面积

该函数曲线在区间 内是单调递增的,在 取最大值,也就是 P点移动到F点时,三角形面积最大,因此,过凹点G的三角形,以EFK为面积最大的三角形。

可以看出,过凹点G的直线PQ,必须处于两直线FK和HL之间,准确地说,PQ的斜率 必须介于直线FK的斜率 (-0.75) 和 HL的斜率 (-3.0) 之间,即 ,否则直线将跑出四边形的边界。

回到之前的提问,经过凹点G的椭圆,是否存在比椭圆N更大的椭圆呢?

设椭圆M(图中绿色椭圆)是经过G点,与EH和EF两条边相切的任意一个椭圆。以G点作椭圆的切线PQ,上面已经说明,该切线必须处于两直线FK和HL之间,否则切线PQ或椭圆M将超出四边形的边界。椭圆M其实是属于三角形EPQ的一个内切椭圆,面积小于EPQ的最大内切椭圆,又因为三角形EPQ的面积小于最大三角形EFK的面积,因此椭圆M的面积必定小于椭圆N的面积。因此,椭圆N也是凹四边形的最大内切椭圆。

概括而言,凹四边形内如何获取最大内切椭圆,只需找出其最大三角形,可由凹点作延长线获得两个三角形,其中一个就是面积最大的三角形,在最大三角形内取最大内切椭圆,就是凹四边形的最大内切椭圆。

至此,关于任意四边形的最大内切椭圆问题以完整解决,有何疑问,欢迎提出和评论。




  

相关话题

  为了使R^n成为向量空间,R^n中的加法运算和数乘运算是唯一的吗? 
  如何理解 95% 置信区间? 
  怎么样才能学德好数学? 
  如何评价张景中《不用极限的微积分》? 
  《数学分析》212 页定理可不可以这样用:因为可积且有界,所以有有限个间断点? 
  如何证明“若整函数 f(z) 的值均位于右半平面,则f(z)恒为常数”? 
  如何求解洛朗级数? 
  为什么欧几里得在《几何原本》中的第四公设要设定所有的直角都相等? 
  这样是不是就可以把人类的所有图像内容穷举出来了? 
  数学在战争中能起到什么样的作用? 

前一个讨论
既然 BGP 的前提是网络层是通的,那还需要 BGP 做什么用呢?
下一个讨论
导师是如何毁掉学生的科研热情的?





© 2024-05-20 - tinynew.org. All Rights Reserved.
© 2024-05-20 - tinynew.org. 保留所有权利