Я подумал немного о написании программы, которая говорит мне, что три круга с заданными диаметрами могут вписываться внутри треугольника с заданными сторонами длины без перекрытия (прикосновение - это нормально) друг к другу.
Как подумать об этом?
Я подумал немного о написании программы, которая говорит мне, что три круга с заданными диаметрами могут вписываться внутри треугольника с заданными сторонами длины без перекрытия (прикосновение - это нормально) друг к другу.
Как подумать об этом?
Я попытался бы найти способ перечислить возможные конфигурации для трех окружностей, а затем проверить каждую конфигурацию до тех пор, пока не будет найдено, где находятся три круга, или пока все конфигурации не будут проверены и не отклонены.
(В дальнейшем я предполагаю, что каждый круг, как известно, поместится в треугольник сам по себе. Очевидно, что если какой-либо круг не подходит сам по себе, он не может вписаться в любую конфигурацию из трех окружностей.)
Конфигурация (1) включает помещение круга в каждый угол треугольника. (Это конфигурация, которую все заметили.)
Существует шесть способов упорядочивания кругов, и для каждой компоновки достаточно проверить, будут ли круги попадать попарно:
Расстояние AS₁ равно r₁/tan (½α), расстояние S₂B равно r₂/tan (½β), а расстояние S₁S₂ равно √ ((r₁ + r₂) ² - (r₁ - r₂) ²) = 2√r₁r₂
Окружности соответствуют, если AS₁ + S₁S₂ + S₂B ≤ AB.
В конфигурации (2) мы помещаем две окружности в два из углов треугольника, а третий круг между этими двумя и одним из двух ребер, которые не касаются обоих кругов:
Выяснение, будет ли это соответствовать, немного сложнее:
Чтобы найти длину AS₁, мы должны обойти треугольник из угла C через точку T. Я оставлю детали этого в виде упражнения.
Есть восемнадцать способов упорядочить круги в этой конфигурации.
Есть ли конфигурация (3)? Я посмотрел, но не мог найти тот, который нельзя было превратить в одного из двух, которые я дал. Например, если все три круга касаются одной и той же стороны, всегда есть место, чтобы поменять средний круг на противоположную сторону, получив конфигурацию (2). Однако перечисление геометрических конфигураций всегда сложно, и я мог легко пропустить его.
Просто догадайтесь: ваша проблема может быть связана с проблемой окружений Appolonius.
Я наткнулся на него, пытаясь поместить рекурсивно 3 круга в 4-м, без каких-либо пересечений для фрактальной анимации, поэтому стоит попробовать.
Вы найдете это подробно объясненным во Вулграме (эта проблема была решена только в 1968 году): http://mathworld.wolfram.com/ApolloniusProblem.html
это кажется сложной и интересной проблемой. Благодаря решению проблемы мрамора (связанной с Malfatti Circles) в Лос-Анджелесе и Залгаллере в 1994 году, вы могли бы утомительно извлечь необходимое условие существования конфигурации трех неперекрывающихся окружностей с заданными радиусами внутри треугольника с заданными боковыми длинами. Если вы можете поместить их в треугольник, сумма их площадей будет максимально возможной для трех треугольников внутри круга. Проблема "Мрамор" - это проблема определения максимальной площади трех неперекрывающихся окружностей внутри заданного треугольника. Прямо сейчас, я не вижу, что этого также достаточно.
Возможно, в начале было бы полезно ввести ε в проблему, а затем искать algortihm, который на конечном числе шагов мог бы определить, является ли конфигурация, которая не более "плоха по ε" (определенная каким-то разумным образом) существует.
Некоторые из лучших математиков мира регулярно участвуют в родном браке stackoverflow, mathoverflow.org, поэтому вы можете попробовать опубликовать эту проблему там.
Спасибо за публикацию этого.
Я думаю, что достаточно попробовать все 6 возможных перестановок (A1 B2 C3, A2 B1 C3, A1 B3 C2, A3 B1 C2, A2 B3 C1, A3 B2 C1). Если круг не касается двух ребер треугольника, то его размещение в некотором смысле субоптимально, и вы можете сделать больше места для двух других, скользя в угол. Если можно наклеить три круга в треугольнике, не перекрывая их, возможно, возможно сместить их в углы (для случая, когда все они зажаты по краям, поднимите их вместе и поверните на 60 градусов). Конечно, это не строгое доказательство, но я уверен, что это работает. Более того, я полагаю, что решение всегда будет состоять в том, чтобы разместить самые большие круги под самыми широкими углами, потому что те, которые могут потенциально занимать самое центральное пространство треугольника.