检查三个圆圈是否适合三角形

时间:2010-12-02 08:41:25

标签: math geometry

我已经考虑过写一个程序的时间,告诉我三个具有给定直径的圆是否可以适合具有给定边长的三角形,而不会相互重叠(触摸是可以的)。

如何考虑这样做?

4 个答案:

答案 0 :(得分:4)

我会尝试找到一些方法来枚举三个圆圈的可能配置,然后测试每个配置,直到找到三个圆圈适合的位置,或者直到所有配置都经过测试和拒绝。

(在下文中我假设每个圆圈都已知道它本身适合三角形。显然,如果任何圆圈不能自适应,那么它就不适合三个圆圈的任何配置。)

配置(1)涉及在三角形的每个角上放置一个圆圈。 (这是每个人都发现的配置。)

a triangle with a big green circle in the top corner, a medium red circle in the bottom right corner, and a small blue circle in the bottom left corner

有六种方法可以排列圆圈,每种方式都足以检查圆圈是否成对:

circle with centre O₁ and radius r₁ in the bottom left corner of a triangle (marked A with angle α) and circle with centre O₂ and radius r₂ in the bottom right (marked B with angle β)

距离AS 1为r 1 / tan(½α),距离S 2 B为r 2 / tan(½β),距离S 1 S 2为√((r 1 + r 2)² - (r 1 - r 2)²)=2√r1r2

如果AS 1 + S 1 S 2 + S 2B≤AB,则圆圈适合。


在配置(2)中,我们将两个圆放入三角形的两个角,第二个圆放在这两个角之间,两个边之一不接触两个圆:

a thin triangle with a big green circle in the top left corner, a medium red circle in the right corner, and a blue circle between them and the top edge

确定这些是否合适有点复杂:

the thin triangle marked up: T is where the altitude from centre of the big circle meets the left edge, and S₁ to S₃ are where altitudes from the centres of the three circles meet the bottom edge

为了找到AS 1的长度,我们必须从C角经C点绕三角形走。我将把这个细节留作练习。

有十八种方法可以将圆圈排列到此配置中。


是否有配置(3)?我看了,但找不到一个不能变成我给的两个中的一个。例如,如果所有三个圆圈都触及同一侧,那么总是有空间将中间圆圈交换到另一侧,从而获得配置(2)。然而,几何配置的枚举总是很棘手,我很容易错过一个。

答案 1 :(得分:1)

猜猜:你的问题可能与Appolonius的圈子有关。

我试图在第4个圆圈中递归拟合3个圆圈而没有任何交叉点进行分形动画时遇到了它,所以它可能值得一试。

你会在Wolfram中找到它的详细解释(这个问题仅在1968年解决): http://mathworld.wolfram.com/ApolloniusProblem.html

答案 2 :(得分:0)

这似乎是一个棘手而有趣的问题。通过1994年Los和Zalgaller对大理石问题(与Malfatti's Circles相关)的解决方案,您可能有可能繁琐地提取必要的条件以存在三个非配置 - 在具有规定边长的三角形内具有给定半径的重叠圆。如果您可以将它们放置在三角形内,则它们的面积之和最多为圆内三个三角形的最大可能区域。大理石问题是确定给定三角形内三个非重叠圆的最大面积的问题。现在,我看不出这也是足够的

作为一个开始,也许值得引入一个ε问题,然后寻找一个算法,在一个有限的步骤中,可以确定一个配置是否最多“ε”坏(定义以某种合理的方式存在。

一些世界顶级数学家定期参加stackoverflow的兄弟姐妹, mathoverflow.org,所以你可以尝试在那里发布这个问题。

感谢您发布此内容。

答案 3 :(得分:0)

我认为尝试所有6种可能的排列(A1 B2 C3,A2 B1 C3,A1 B3 C2,A3 B1 C2,A2 B3 C1,A3 B2 C1)就足够了。如果一个圆与三角形的两条边不相切,那么它的位置在某种意义上是次优的,你可以通过将它滑入一个角来为其他两个创造更多的空间。如果可以将三个圆圈粘在三角形中而不重叠它们,则可能将它们滑入角落(对于它们全部卡在边缘的情况,将它们全部抬起并旋转60度)。当然,这不是一个严格的证据,但我很确定它有效。 此外,我想解决方案总是将最大的圆放在最宽的角度,因为那些可能占据最中心的三角形空间。