Jestem twórcą gry open-source, Bitfighter. Zgodnie z poniższym SO post, użyliśmy doskonałą bibliotekę „trójkąt” do generowania siatki strefy do użytku z naszej w grze AI (roboty):Solidna, szybka, złożona wielobok (z dziurami) triangulacja c/C++ biblioteka z permisywną licencją
Polygon Triangulation with Holes
jednak wpadliśmy do małego Suszka kiedy chcemy spakować naszą grę dla Debiana - użycie biblioteki "Trójkąt" sprawi, że nasza gra będzie uważana za "niewolną".
Jesteśmy niezmiernie zadowoleni z działania biblioteki "Trójkąt" i naprawdę nie chcemy tego rezygnować; jednak nie lubimy też zajmować się kwestiami licencji. Dlatego podjęliśmy próbę znalezienia odpowiedniego, dopuszczalnie licencjonowanego zamiennika, który pasowałby do "Trójkąta" w jego solidności i szybkości.
Poszukujemy biblioteki C lub C++ do dzielenia dużych, złożonych obszarów na trójkąty, które mogą obsługiwać dowolny rodzaj nieregularnych wielokątów złożonych razem w dowolny sposób, a także dziury. Solidność jest naszą podstawową potrzebą, z prędkością niemal równie ważną.
Znalazłem poly2tri, ale cierpi na błąd, w którym nie może obsłużyć wielokątów o zbieżnych krawędziach.
Znaleźliśmy kilka bibliotek, ale wszystkie zdają się cierpieć z jednego lub drugiego powodu: albo zbyt wolno, albo nie radzą sobie z dziurami lub cierpią z powodu jakiegoś błędu. Obecnie testujemy obecnie polypartition i mamy duże nadzieje.
Jakie są najlepsze alternatywy dla wspaniałej biblioteki "Trójkąt", ale mają zezwolenie?
Czy możesz opracować dokładnie to, czego dokładnie potrzebujesz z biblioteki takiej jak Trójkąt? Być może sam możesz napisać kilka algorytmów i opublikować swój kod, tak jak tego potrzebujesz. –
Czym dokładnie jest licencja Triangle? Czy próbowałeś wysłać e-mail do Jonathana Shewchuka, aby zapytać, czy może ci go za to udzielić? –
@MareInfinitus Mamy poziomy ze ścianami w nich. Cały obszar gry na poziomie musi zostać poddany triangulacji w celu nawigacji w strefie siatki, aby nasze roboty mogły się poruszać. – raptor