powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Путь между прямоугольниками
8 сообщений из 8, страница 1 из 1
Путь между прямоугольниками
    #37628076
NewFinder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача возможно где-то уже встречалась, но я не нашёл внятного алгоритма, пока.

Есть пара прямоугольников любых размеров. Они могуть распологаться на плоскости в любых позициях.
Нужно написать функции, параметрами которых они и являются + по стороне каждого из четырёх прямоугольника, которая бы выдала путь, состоящий из ортогональных отрезков от первой стороны ко второй. Возможны препятствия в виде комбинаций прямоугольных областей.

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

Буду благодарен за любые уместные подсказки.
...
Рейтинг: 0 / 0
Путь между прямоугольниками
    #37629203
grey_narn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NewFinderЕсть пара прямоугольников любых размеров. Они могуть распологаться на плоскости в любых позициях.
Нужно написать функции, параметрами которых они и являются + по стороне каждого из четырёх прямоугольника, которая бы выдала путь, состоящий из ортогональных отрезков от первой стороны ко второй. Возможны препятствия в виде комбинаций прямоугольных областей.

Так, вопросы для уточнения: все-таки 2 или 4 прямоугольника нам даны? И вот эти препятствия - это какие-то другие прямоугольники, не два данных нам, так? Путь может пролегать вдоль их границ, но не через их внутреннюю область, верно? Прямоугольники расположены как попало или стороны их параллельны выделенным двум направлениям? И наконец, искомый путь - он должен начинаться и оканчиваться в любой точке заданных сторон? К нему предъявляются какие-то требования типа кратчайшей длины?
...
Рейтинг: 0 / 0
Путь между прямоугольниками
    #37629220
grey_narn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NewFinder,

ну и тупой вариант, который сразу в голову приходит --- от каждой точки каждой стороны начинаем закрашивать по пикселу во все стороны (от одной - одним цветом, от другой - другим), пока не натыкаемся на препятствие. Когда два пиксела разных цветов соседствуют друг с другом --- ну, вот мы и нашли путь (по окрашенной области мы как раз и можем передвигаться к стороне по параллельным осям координат отрезкам). Если же все, что можно, закрашено, а соседей разного цвета нет --- построить такой путь нельзя. Что-то такое.
...
Рейтинг: 0 / 0
Путь между прямоугольниками
    #37629229
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NewFinder, ты наверное пытаешся рисовать диаграммы со стрелками?
...
Рейтинг: 0 / 0
Путь между прямоугольниками
    #37629795
NewFinder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
grey_narnNewFinderЕсть пара прямоугольников любых размеров. Они могуть распологаться на плоскости в любых позициях.
Нужно написать функции, параметрами которых они и являются + по стороне каждого из четырёх прямоугольника, которая бы выдала путь, состоящий из ортогональных отрезков от первой стороны ко второй. Возможны препятствия в виде комбинаций прямоугольных областей.

Так, вопросы для уточнения: все-таки 2 или 4 прямоугольника нам даны? И вот эти препятствия - это какие-то другие прямоугольники, не два данных нам, так? Путь может пролегать вдоль их границ, но не через их внутреннюю область, верно? Прямоугольники расположены как попало или стороны их параллельны выделенным двум направлениям? И наконец, искомый путь - он должен начинаться и оканчиваться в любой точке заданных сторон? К нему предъявляются какие-то требования типа кратчайшей длины?
1. 2 прямоугольника в условии, прошу прощения. Это я некорректно указал, что линиями могут соединяться все 4 стороны каждого прямоугольника. Эти 2 прямоугольника могут пересекаться (да, в некоторых случаях такие пересечения исключают результат). Отрезки строятся только в внешней области прямоугольников, не пересекают их.
2. Препятствия - да, другие прямоугольники, их комбинации с возможными пересечениями.
3. Стороны прямоугольников паралельны ортогональным к примеру осям Х и Y как и путь между ними, состоящий из отрезков паралельных сторонам прямоугольников.
4. Искомый путь начинется и заканчивается ровно посредине стороны. Извиняюсь, также упустил. Тоесть, будут указаны стороны прямоугольников, как параметры процедуры построения пути.
5. Чёткого требования по кратчайшему пути нет. Но, думаю, добавлния этого условия результат работы алгоитма не исказит.

Относительно пикселей, то кажется мне трудоёмким и временнозатратным он будет. Всё же, можно работать с линиями и их пересечениями, на которых лежать отрезки.

maytonNewFinder, ты наверное пытаешся рисовать диаграммы со стрелками?
Ну оно похоже на то, видимо да.
...
Рейтинг: 0 / 0
Путь между прямоугольниками
    #37634304
NewFinder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может кто посоветует книгу хорошую по вычислительной геометрии или алгоритм?
И не обязательно с прямоугольниками.
...
Рейтинг: 0 / 0
Путь между прямоугольниками
    #37634306
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совсем понял. Есть 2 прямоугольника. Нужно от одной (указанной) стороны одного прямоугольника провести перпендикуляр до другой (указанной) стороны другого прямоугольника? Или что за путь? Нарисовал бы набросок пары вариантов.
...
Рейтинг: 0 / 0
Путь между прямоугольниками
    #37634308
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стрелки , соединяющие блоки блок схемы что ли?
Рисунок в студию! ))
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Путь между прямоугольниками
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]