#алгоритм
Не знаю как правильно называется эта задача. Так же не представляю к чему её отнести.
К графам или же к упаковке прямоугольников.
Родственные алгоритмы по упаковке прямоугольников пакуют их поворачивая только на
90 градусов.
А здесь точки могут располагаться где угодно, как и угол оптимальной упаковки.
Точки соединены: ближайшая с ближайшей. То есть это не линия. Могут быть ответвления.
Расстояние между точками можно сделать единым. То есть всегда 10 px. Также можно
предположить, что направлений может быть только 8. (верх,право-верх,право,право-низ,низ,лево-низ,лево,лево-верх)(это
для тех случаев если алгоритм основан на матрице, простой карте 32x32,64x64).
Очень желательно иметь возможность задавать интервалы, через которые требуется размешать
прямоугольник.
Если где нибудь есть реализация на си/с++ то это просто замечательно.
Нейронные сети здесь помочь не могут?
Ответы
Ответ 1
Из комментария пользователя @VladD: Можно попробовать так: Строим окрестность реки (10 px?) Для каждой точки окрестности (с некоторым шагом) пробуем разместить текст, начиная с этой точки. Поскольку река может виться по синусоиде, направление «производной» нам не поможет, надо перебирать все возможные углы. Из всевозможных положений выбираем то, которое (1) не пересекает окрестность и (2) имеет от неё наименьшее суммарное удаление Из всех точек выбираем те, где суммарное удаление наименьшее.
Комментариев нет:
Отправить комментарий