Задача достаточно проста. Есть две фигуры (многоугольники) заданные координатами. Координаты — float.
Надо найти третью фигуру, образованную пересечением этих двух. Вроде бы всё просто, но что-то не удаётся найти удобное решение.
Из ограничений — всё будет работать на микроконтроллере. Поэтому нет ни памяти, ни производительности.
Здравствуйте, _sv_, Вы писали:
__>Добрый день всем.
__>Задача достаточно проста. Есть две фигуры (многоугольники) заданные координатами. Координаты — float. __>Надо найти третью фигуру, образованную пересечением этих двух. Вроде бы всё просто, но что-то не удаётся найти удобное решение.
При пересечении невыпуклых многоугольников результатом может быть множество фигур. В общем случае задача решается через триангуляцию Делоне с ограничениями. Ограничениями будут выступать стороны предварительно пересеченных (всех со всеми) линий многоугольников. Сборка результата производится по треугольникам с соответствующим winding rule. Решение позволит не только пересекать, но и объединять, даже вычитать.
__>Из ограничений — всё будет работать на микроконтроллере. Поэтому нет ни памяти, ни производительности.
А это не важно, т.к. сэкономить выйдет лишь при существенном сужении условия. Например, для выпуклых фигур.
__>Спасибо.
Здравствуйте, _sv_, Вы писали:
__>Задача достаточно проста. Есть две фигуры (многоугольники) заданные координатами. Координаты — float. __>Надо найти третью фигуру, образованную пересечением этих двух. Вроде бы всё просто, но что-то не удаётся найти удобное решение. __>Из ограничений — всё будет работать на микроконтроллере. Поэтому нет ни памяти, ни производительности.
А тем, кто откликнулся — вдвойне.
Спасибо. Я понял, что те решения, которые находил и надо будет использовать.
Просто мне казалось, что это из пушки по воробьям.
boost влезает в микроконтроллер. Но он не самый шустрый.