2012-02-19 16 views
35

CGAL wydaje się robić prawie wszystko, czego potrzebuję, i trochę więcej dla mojego nadchodzącego projektu. Może tworzyć wielokąty poza segmentami linii łuku i uruchamiać na nich operacje boolowskie. Ma już pakiety sortowania przestrzennego, co zaoszczędziłoby mi sporo czasu na kilka rzeczy, a cała biblioteka wydaje się dość wystandaryzowana i dobrze zaplanowana.2D Biblioteka geometrii: alternatywa LGPL do CGAL?

Jest tylko problem z licencją QPL (GPL dla nadchodzącej wersji 4.0) dla większości pakietów (z wyjątkiem tych bardzo podstawowych). Mam skromny budżet i prawdopodobnie nie będę zbierać funduszy na kupno licencji komercyjnych dla tych konkretnych pakietów w CGAL, które tego wymagają.

Moi szczególnych potrzeb takiej biblioteki byłoby:

  • precyzją 2D przestrzeni euklidesowej
  • Złożone wielokąty
  • wielokąty mogą mieć segmenty zakrzywione
  • Operacje logiczne na tych linii (ARC) wielokątów
  • Przesunięcie wieloboczne
  • Podział wielokątów lub efektywna triangulacja
  • imienne algorytmy dopasowania miejsca i wielokąt
  • ewentualnie niektóre sortowania struktury przestrzenne z okrągłym zakresie przeszukuje

w sumie szukam dobrze zaokrąglone geometrii 2D C++ biblioteka z dokładną precyzją. Najlepiej z MIT, LGPL na odcinku lub nisko kosztową jednorazową licencją royalty-free poniżej 500 USD.

Zwiększono nieco podstawowych struktur, ale z tego co wiem, brakuje im wielu funkcji wyższego poziomu. Jakieś biblioteki, które rozszerzyły się na tym? Sam bym to rozważył, ale brakuje mi fachowej wiedzy, żeby zrobić to dobrze, a to by trochę przedłużyło mój projekt.

Po prostu dla jasności, nie szukam biblioteki 2D , tylko struktury czystej geometrii.

+2

To nie rozwiąże problemu, ale zauważ, że wersja 4.0 CGAL jest na licencji GPL i LGPL. – sloriot

+0

@sloriot Nie bardzo: Części, które były LGPL2 są teraz LGPLv3 + i części, które były QPL są teraz GPLv3 +: http://www.cgal.org/releases.html#release4.0 W sumie, ta zmiana licencji nie pomaga OP. – zvrba

Odpowiedz

15

Spójrz na Wykobi. Jest to biblioteka szablonowa, której wymiary można wymiarować jako 2D.

Koszt biblioteki nie jest jasny z witryny. Check

3

Czy obejrzałeś bibliotekę Boost.Geometry? To nie jest tak blisko CGAL pod względem funkcjonalności, ale może ci pomóc.

14

Spójrz na Geometric Tools for Computer Graphics.

  • rafinowany ponad dekadę
  • Niesamowicie dobra dokumentacja, zarówno w trudno związany i obszernie w formie pliku PDF
  • licencja doładowania

Spełnia wszystkie wymogi:

  • Dokładna precyzja euklidesowa 2D: Tak
  • Złożone wielokąty: Tak
  • Wieloboki mogące mieć segmenty zakrzywionych linii (łuk): Nieczułe. Według definicji , wielokąty składają się z segmentów linii. Jeśli szukasz szukając splajnów i NURBS, biblioteka je posiada.
  • Operacje logiczne na tych wielokątach: Tak
  • Korekcja wielokątów: niejasne, co masz na myśli. Biblioteka z pewnością wspiera tłumaczenie.
  • wielokąta rozdzielania i skuteczne triangulacji: tak, triangulacja delone i regiony Woronoja
  • imienne obszaru i wielokąt algorytm dopasowania: Tak
  • ewentualnie niektóre przestrzenne sortowania struktury z okrągłymi wyszukiwania zakres Tak, sortowania przestrzennych i całość korcem funkcje przecięcia.

Wszystko to pochodzi z książki Geomtric Tools for Computer Graphics autorstwa Schneidera i Eberly'ego. Książka jest znakomita, z jasną prezentacją tego, jak działają algorytmy i jakie są ich ograniczenia. Autorzy udostępnili kod online w ramach licencji Boost i zawierają większość (wszystkich?) Książki online jako plik PDF dołączany do każdego modułu kodu. Prowadzą bardzo przydatną stronę internetową, która jest indeksowana na różne sposoby.

Nie mam żadnego związku z autorami ani żadnego interesu pieniężnego. Użyłem ich książki w mojej pracy magisterskiej i było to dla mnie niezwykle przyjemne, ponieważ było to łatwe w użyciu odniesienie i potężna biblioteka.

0

Możesz wypróbować GeoLib www.geolib.co.uk. Nie tyle funkcjonalności, ile operacji boolowskich i jest bardzo łatwy w użyciu.