Подтвердить что ты не робот

Библиотека 2D-геометрии: LGPL альтернатива CGAL?

CGAL, похоже, делает все, что мне нужно, и немного больше для моего предстоящего проекта. Он может создавать многоугольники из сегментов линии дуги и выполнять на них логические операции. У него уже есть пакеты пространственной сортировки, которые бы сэкономили бы много времени на нескольких вещах, и вся библиотека кажется вполне стандартизированной и хорошо спланированной.

Просто проблема с лицензией QPL (GPL для предстоящей версии 4.0) для большинства пакетов (кроме самых простых). У меня скудный бюджет и, вероятно, не собирайте средства для покупки коммерческих лицензий для тех конкретных пакетов в CGAL, которые этого требуют.

Мои специфические потребности такой библиотеки:

  • Точная точность 2D-евклидова пространства
  • Сложные полигоны
  • Многоугольники, имеющие кривые сегменты линии (дуги)
  • Булевы операции над этими многоугольниками
  • Перемещение многоугольников
  • Разделение многоугольника или эффективная триангуляция
  • Алгоритмы вписанных областей и полигонов
  • Возможно, некоторые пространственные структуры сортировки с поиском круглого диапазона

В целом, Я ищу хорошо свернутую 2D-геометрию библиотеки С++ с точной точностью. Предпочтительнее использовать MIT, LGPL на растяжке или недорогую одноразовую лицензионную лицензию ниже 500 долларов США.

Boost получил некоторые базовые структуры, но из того, что я могу сказать, им не хватает функциональности более высокого уровня. Любые библиотеки, которые расширились? Я бы подумал о том, чтобы сделать это сам, но мне не хватает опыта, чтобы сделать это хорошо, и это продлит мой проект совсем немного.

Просто, чтобы быть ясным, я не ищу 2D-графическую библиотеку, просто чистые геометрические структуры.

4b9b3361

Ответ 1

Посмотрите Wykobi. Это шаблонная библиотека, и вы можете изменять размер как 2D.

Стоимость библиотеки не понятна с сайта. Проверить

Ответ 2

Посмотрите Геометрические инструменты для компьютерной графики.

  • Улучшено за десятилетие
  • Невероятно хорошая документация, как с жесткой привязкой, так и в формате PDF.
  • Лицензия Boost

Он отвечает всем вашим требованиям:

  • Точная точность 2D-евклидова пространства: Да
  • Сложные полигоны: Да
  • Многоугольники, имеющие кривые линии (дуги): бессмысленно. От определение, полигоны состоят из сегментов линии. Если ты ищет сплайны и NURBS, у них есть библиотека.
  • Булевы операции над этими многоугольниками: Да
  • Смещение полигонов: неясно, что вы имеете в виду. Библиотека, безусловно, поддерживает перевод.
  • Разделение многоугольника или эффективная триангуляция: Да, триангуляция Делоне и области Вороного.
  • Алгоритмы вписанной области и полигона: Да
  • Возможно, некоторые пространственные структуры сортировки с поиском круглых интервалов: да, пространственная сортировка и целый бушель функций пересечения.

Все это происходит из книги Geomtric Tools для компьютерной графики от Schneider и Eberly. Книга выдающаяся, с четким представлением о том, как работают алгоритмы и каковы их ограничения. Авторы сделали код доступным онлайн в соответствии с лицензией Boost и включили большинство (все?) Книги онлайн в формате PDF для сопровождения каждого модуля кода. Они поддерживают очень полезный веб-сайт, который индексируется по-разному.

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

Ответ 3

Вы просмотрели библиотеку Boost.Geometry? Это нигде рядом с CGAL с точки зрения функциональности, но это может вам помочь.

Ответ 4

Вы можете попробовать GeoLib www.geolib.co.uk. Не так много функций, но предлагает логические операции и очень прост в использовании.