когда можно вписать прямоугольник в прямоугольник

Подтверждение

нужно сделать вот так:

Простите за не совсем математическое изложение, очень давно не приходилось пользоваться терминологией.

horvatiya, Боюсь, что Вы упускаете один момент.
возьмём нашу конструкцию (наш отрезок С с «привязанными» к нему под углом 90 град. прямыми ) и чуть-чуть изменим её наклон, так, чтобы точки С1 и С2 заскользили по сторонам БоПр, но не вышли за его границы и даже не коснулись вершин БоПр.
Поехали.
Мы скользим вершинами отрезка (С1С2) по сторонам большого прямоугольника. При этом отрезок поворачивается относительно большого прямоугольника. А заодно поворачиваются перпендикулярные отрезку прямые и. могут выйти в т. ч. и на одну сторону большого прямоугольника.
И вписанный прямоугольник перестает быть прямоугольным.

Дополнительные данные для размышлений:

Исходя из канонического определения прямоугольника можно догадаться, что противоположные стороны его равны по длине и параллельны. Как следствие, треугольники, ограниченные отрезком «С» и «контактными» сторонами большого прямоугольника тождественны. Так же, очевидно (на мой взгляд), что оставшиеся 2 треугольника должны быть подобны маленьким.

Еще, на всякий случай: центры окружностей, описанных вокруг каждого из прямоугольников будут совпадать.

Вопрос получается в нахождении угла наклона, нужно как-то выразить через меньшую сторону вписываемого прямоугольника и ширину и высоту большего прямоугольника

Через окружность можно построить вот так:

но тут не получается найти такой радиус, при котором меньшая сторона синего прямоугольника равна заданной C

Источник

Обнаружить, если один прямоугольник можно поместить в другой прямоугольник

Эта проблема отличается от проверки, если один прямоугольник находится в другом прямоугольнике.

Как рассчитать, может ли один прямоугольник быть помещен в другой прямоугольник?

Это отличный вопрос! Тогда и только тогда, когда выполняется одно из этих условий, меньший прямоугольник со сторонами p и q ( p >= q ) полностью помещается в большой прямоугольник со сторонами a и b ( a >= b ):

EDIT: Благодаря @amulware для публикации этой альтернативной версии в его комментарии:

Читайте также:  Томаты тянутся вверх что делать

Первая проверка, конечно, будет заключаться в том, подходит ли прямоугольник внутри другого в любой из ориентированных по оси ориентаций.

Теперь обратите внимание, что если внутренний прямоугольник действительно подходит по диагонали, вы можете повернуть его до двух, если его противоположные углы касаются либо верхнего, либо нижнего края внешнего прямоугольника, или слева и справа. (На вашей диаграмме более или менее первая.)

Для этого может быть более разумный алгоритм, но я на 100% уверен, что то, что я описываю, работает. Дайте мне знать, можете ли вы сами вычислить математику для себя (если вы считаете, что это хорошее решение), если нет, я, возможно, займусь этим позже. Интересно, может ли мой алгоритм полностью реализоваться без функций-триггеров.

EDIT:
Хорошо, теперь я не мог сопротивляться.

Вот математика, которую я сделал для решения проблемы, как описано выше:
(Извините, только в форме изображения, надеюсь, мой почерк будет читабельным.)

Я был бы рад, если бы кто-то мог проверить мою математику. Я не вижу ничего плохого в любом из шагов прямо сейчас, но всегда лучше, если кто-то еще проверит.
(И, конечно же: используйте это на свой страх и риск.)

Если кто-то найдет что-то не так с этим алгоритмом, сообщите мне, и я исправлю это как можно скорее.

Также мне было бы очень интересно узнать, есть ли у кого-то лучшее решение, включающее менее сложную математику. Может быть, векторный подход?

Источник

Как вписать прямоугольник в прямоугольник

Это что еще за зверь такой?

Задача не так проста как может показаться на первый взгляд.

Вложения


DWG 2004
прямоугольник_форум.dwg (35.2 Кб, 3710 просмотров)

Сторона искомого (вписанного) прямоуголника «гуляет» от диагонали заданного (описываемого) прямоугольника и вниз.
Вот здесь начинается «музыка».

Мне задача очень понравилась.

Нет там никакого зверя. Ильнур просто допустил описку. Разумеется, не круг, а круги с разными диаметрами.

Читайте также:  чем покрыть бревно внутри бани после шлифовки чтобы не темнело

Не.Подгонка это понятно.
Другой вопрос как это аналитически или графически получить с одной попытки.

Здесь вопрос,для меня на данный момент,какой длины должна быть сторона вписанного прямоугольника,чтобы можно было составить именно прямоугольник,а не ромб к примеру.

Так выкладывайте..

Я не знаю какую программу имел ввиду Leonid555,но с помощью лиспа решить точно можно.Но вот какой «инструментарий» в лиспе использовать-это вопрос.Если разбиение одной из сторон на бесконечно малые участки из концов которых проводить радиусяы до пересечения диагоналей и дальше строить окружности с целью определения соответствующих точек пересечения со второй стороной-то это на мой взгляд не решение задачи,точнее иной способ похожий на подгонку.
А если писать код с целью упрощения решения и экономии время-то понадобиться мат.модель,а она и будет прямым решением данной задачи.

Если писать на лиспе код,что будет для пользователя этой программой являться данными,которые нужно будет задать лиспу?

Источник

Как вписать прямоугольник в прямоугольник

Это что еще за зверь такой?

Задача не так проста как может показаться на первый взгляд.

Вложения


DWG 2004
прямоугольник_форум.dwg (35.2 Кб, 3710 просмотров)

Сторона искомого (вписанного) прямоуголника «гуляет» от диагонали заданного (описываемого) прямоугольника и вниз.
Вот здесь начинается «музыка».

Мне задача очень понравилась.

Нет там никакого зверя. Ильнур просто допустил описку. Разумеется, не круг, а круги с разными диаметрами.

Не.Подгонка это понятно.
Другой вопрос как это аналитически или графически получить с одной попытки.

Здесь вопрос,для меня на данный момент,какой длины должна быть сторона вписанного прямоугольника,чтобы можно было составить именно прямоугольник,а не ромб к примеру.

Так выкладывайте..

Я не знаю какую программу имел ввиду Leonid555,но с помощью лиспа решить точно можно.Но вот какой «инструментарий» в лиспе использовать-это вопрос.Если разбиение одной из сторон на бесконечно малые участки из концов которых проводить радиусяы до пересечения диагоналей и дальше строить окружности с целью определения соответствующих точек пересечения со второй стороной-то это на мой взгляд не решение задачи,точнее иной способ похожий на подгонку.
А если писать код с целью упрощения решения и экономии время-то понадобиться мат.модель,а она и будет прямым решением данной задачи.

Читайте также:  к чему разбить тарелку примета дома

Если писать на лиспе код,что будет для пользователя этой программой являться данными,которые нужно будет задать лиспу?

Источник

Как вписать прямоугольник в прямоугольник

Это что еще за зверь такой?

Задача не так проста как может показаться на первый взгляд.

Вложения


DWG 2004
прямоугольник_форум.dwg (35.2 Кб, 3710 просмотров)

Сторона искомого (вписанного) прямоуголника «гуляет» от диагонали заданного (описываемого) прямоугольника и вниз.
Вот здесь начинается «музыка».

Мне задача очень понравилась.

Нет там никакого зверя. Ильнур просто допустил описку. Разумеется, не круг, а круги с разными диаметрами.

Не.Подгонка это понятно.
Другой вопрос как это аналитически или графически получить с одной попытки.

Здесь вопрос,для меня на данный момент,какой длины должна быть сторона вписанного прямоугольника,чтобы можно было составить именно прямоугольник,а не ромб к примеру.

Так выкладывайте..

Я не знаю какую программу имел ввиду Leonid555,но с помощью лиспа решить точно можно.Но вот какой «инструментарий» в лиспе использовать-это вопрос.Если разбиение одной из сторон на бесконечно малые участки из концов которых проводить радиусяы до пересечения диагоналей и дальше строить окружности с целью определения соответствующих точек пересечения со второй стороной-то это на мой взгляд не решение задачи,точнее иной способ похожий на подгонку.
А если писать код с целью упрощения решения и экономии время-то понадобиться мат.модель,а она и будет прямым решением данной задачи.

Если писать на лиспе код,что будет для пользователя этой программой являться данными,которые нужно будет задать лиспу?

Источник

Портал про кино и шоу-биз