Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как вписать четырехугольник в прямоугольник (http://www.flasher.ru/forum/showthread.php?t=190624)

djyamato 26.12.2012 16:42

Как вписать четырехугольник в прямоугольник
 
Вложений: 2
Подскажите пожалуйста решение геометрической задачки
Как мне получить координаты четырехугольника, который должен быть вписан в прямоугольник
известны координаты красного четырехугольника и координаты большого черного прямоугольника (черный большой прямоугольник обозначен как A1,B1,C1,D1 на первом скрине)

На 2м скрине результат, красный четырехугольник увеличился так что он стал вписанным в черный прямоугольник

Tails 26.12.2012 16:46

А что известно?

Hauts 26.12.2012 16:46

Прямоугольник, который должен иметь наибольшую площадь внутри фигуры, как я понимаю?

Хотя судя по картинке вам нужно четыре точки внутри прямоугольника положить и все что ли?

djyamato 26.12.2012 16:49

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

Hauts 26.12.2012 16:52

И? Дальше-то что сделать нужно?

djyamato 26.12.2012 16:58

Цитата:

Сообщение от Hauts (Сообщение 1111967)
И? Дальше-то что сделать нужно?

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

Hauts 26.12.2012 17:13

Вот, теперь понятнее стало.

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

Добавлено через 2 минуты
Думаю такое можно сделать с помощью сравнения диагоналей: у красного берем меньшую, у помещаемого берем большую. Хотя не факт, что я прав.

djyamato 26.12.2012 17:22

Цитата:

Сообщение от Hauts (Сообщение 1111976)
Вращения там не учитываются? То есть вам нужно просто смасштабировать произвольный прямоугольник без какого-либо наклона так, чтобы он ровно вместился в четырехугольник, верно?

Добавлено через 2 минуты
Думаю такое можно сделать с помощью сравнения диагоналей: у красного берем меньшую, у помещаемого берем большую. Хотя не факт, что я прав.

Вращение не учитывается
Мне нужно смасштабировать наоборот, красный четырехугольник, так чтобы он вписался в черный (не первом скрине черный большой прямоугольник обозначен как A1,B1,C1,D1)

AlexLucas 26.12.2012 18:03

На втором скрине вы масштабируете чёрный прямоугольник A1B1C1D1 так чтобы он вписывался в красный четырёхугольник.
А вам надо смасштабировать красный четырёхугольник так, чтобы в него вписывался A1B1C1D1 ? Т.е. размеры прямоугольника остаются неизменны?
По сути вы хотите сделать то что вы написали в заглавии темы только наоборот?

Проясните ситуацию, потому что вписать четырёхугольник в прямоугольник намного проще чем прямоугольник в 4-хугольник.

wvxvw 26.12.2012 22:20

Я надеюсь, у красного четырехугольника стороны не могут пересекаться? А как размещать, если красный - тоже прямоугольник?

У меня есть общая идея, но ее еще нужно просчитать:
1. Дополнить красный четырехугольник до прямоугольной трапеции.
2. Прямоугольник тривиально вписывается в прямоугольную трапецию.
3. А вот дальше, четкого плана пока нет, но на схеме есть какая-то закономерность между уменьшением соответствующей стороны прямоугольника и тем, на сколько была дополнена трапеция.

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


Часовой пояс GMT +4, время: 15:34.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.