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

fax*_*man 10 math geometry

我想了一些关于编写程序的时间,该程序告诉我三个具有给定直径的圆是否可以适合具有给定边长的三角形而没有重叠(触摸是可以的)彼此.

怎么会想到这样做?

Gar*_*ees 4

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

\n\n

(在下文中,我假设已知每个圆都可以自行适合三角形。显然,如果任何圆无法自行适合,那么它就无法适合三个圆的任何配置。)

\n\n

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

\n\n

一个三角形,右上角有一个大绿色圆圈,右下角有一个中等红色圆圈,左下角有一个蓝色小圆圈

\n\n

有六种排列圆圈的方法,对于每种排列,检查圆圈是否成对就足够了:

\n\n

三角形左下角以 O\xe2\x82\x81 为圆心、以 r\xe2\x82\x81 为半径的圆(标记为 A,角度为 \xce\xb1),以及以 O\xe2\x82\x82 为圆心、以半径为半径的圆r\xe2\x82\x82 位于右下角(用角 \xce\xb2 标记为 B)

\n\n

距离 AS\xe2\x82\x81 为 r\xe2\x82\x81/tan(\xc2\xbd\xce\xb1),距离 S\xe2\x82\x82B 为 r\xe2\x82\x82/tan( \xc2\xbd\xce\xb2),距离 S\xe2\x82\x81S\xe2\x82\x82 为 \xe2\x88\x9a((r\xe2\x82\x81\xc2\xa0+\xc2\xa0r \xe2\x82\x82)\xc2\xb2\xe2\x88\x92 (r\xe2\x82\x81\xc2\xa0\xe2\x88\x92\xc2\xa0r\xe2\x82\x82)\xc2\xb2 ) = 2\xe2\x88\x9ar\xe2\x82\x81r\xe2\x82\x82

\n\n

如果 AS\xe2\x82\x81\xc2\xa0+\xc2\xa0S\xe2\x82\x81S\xe2\x82\x82\xc2\xa0+\xc2\xa0S\xe2\x82\x82B \xe2\x89\ 则圆适合xa4AB。

\n\n
\n\n

在配置(2)中,我们将两个圆放置在三角形的两个角上,并将第三个圆放置在这两个圆之间以及不与两个圆接触的两条边之一之间:

\n\n

一个细三角形,左上角有一个大绿色圆圈,右上角有一个中等红色圆圈,它们和顶部边缘之间有一个蓝色圆圈

\n\n

弄清楚这些是否适合有点复杂:

\n\n

标记的细三角形:T 是距大圆中心与左边缘相交的高度,S\xe2\x82\x81 到 S\xe2\x82\x83 是距三个圆中心与左边缘相交的高度底边

\n\n

为了找到长度 AS\xe2\x82\x81,我们必须从角 C 经点 T 绕三角形走一圈。我将把这个细节作为练习。

\n\n

有十八种方法可以将圆排列成这种配置。

\n\n
\n\n

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

\n