Я разработчик игры с открытым исходным кодом Bitfighter. Согласно следующему сообщению SO, мы использовали отличную библиотеку Triangle для генерации ячеистых зон для использования с нашим внутриигровым ИИ (роботами):
Триангуляция многоугольника с отверстиями
Однако мы столкнулись с небольшой загвоздкой, когда захотели упаковать нашу игру для Debian - использование библиотеки «Треугольник» сделает нашу игру «несвободной».
Мы очень довольны производительностью библиотеки Triangle и не очень хотим отказываться от нее; однако мы тоже не любим заниматься вопросами лицензий. Поэтому мы приступили к поиску подходящей, разрешенно лицензированной замены, которая могла бы сравниться с «Треугольником» по надежности и скорости.
Нам нужна библиотека C или C ++ для разделения больших сложных областей на треугольники, которая может обрабатывать любые типы неправильных многоугольников, помещенных вместе любым способом, а также отверстия. Наша основная потребность - надежность, и скорость не менее важна.
Я нашел poly2tri, но у него есть ошибка, из-за которой он не может обрабатывать многоугольники с совпадающими краями. .
Мы нашли несколько библиотек, но все, похоже, страдают от одного или другого: либо слишком медленные, либо не обрабатывают дыры, либо страдают какой-то ошибкой. В настоящее время мы тестируем polypartition и возлагаем большие надежды.
Каковы лучшие альтернативы великой библиотеке «Треугольник», но у них есть разрешающая лицензия?