Tôi là một nhà phát triển của trò chơi mã nguồn mở, Bitfighter. Theo SO bài sau, chúng tôi đã sử dụng 'Tam giác' thư viện tuyệt vời cho thế hệ lưới khu vực để sử dụng với chúng tôi trong game AI (robot):Đa giác, phức tạp nhanh chóng (với lỗ) triangulation c/C++ thư viện với giấy phép cho phép
Polygon Triangulation with Holes
Tuy nhiên, chúng tôi chạy vào một snag nhỏ khi muốn đóng gói trò chơi của chúng tôi cho Debian - việc sử dụng thư viện 'Triangle' sẽ khiến trò chơi của chúng tôi được coi là 'không miễn phí'.
Chúng tôi rất hài lòng với hiệu suất của thư viện 'Tam giác' và không thực sự muốn từ bỏ nó; tuy nhiên, chúng tôi cũng không thích xử lý các vấn đề về giấy phép. Vì vậy, chúng tôi đã bắt tay vào một nhiệm vụ để tìm ra một sự thay thế phù hợp, được cấp phép có thể phù hợp với 'Tam giác' trong sự vững mạnh và tốc độ của nó.
Chúng tôi đang tìm thư viện C hoặc C++ để chia các khu vực lớn, phức tạp thành hình tam giác, có thể xử lý bất kỳ loại đa giác bất thường nào được đặt cùng nhau theo bất kỳ cách nào cũng như lỗ. Mạnh mẽ là nhu cầu chính của chúng tôi, với tốc độ gần như là quan trọng.
Tôi đã tìm thấy poly2tri, nhưng nó bị một lỗi trong đó nó không thể xử lý đa giác với các cạnh trùng hợp.
Chúng tôi đã tìm thấy một số thư viện, nhưng tất cả dường như bị một điều này hay cách khác: quá chậm hoặc không xử lý lỗ hoặc bị lỗi. Hiện tại chúng tôi đang thử nghiệm polypartition và chúng tôi có hy vọng cao.
Các phương án thay thế tốt nhất cho thư viện 'Tam giác' tuyệt vời, nhưng có giấy phép cho phép là gì?
Bạn có thể giải thích những gì bạn cần chính xác từ thư viện như Tam giác không? Có lẽ bạn có thể viết một số thuật toán và xuất bản mã của mình như bạn cần. –
Giấy phép Tam giác chính xác là gì? Bạn đã thử gửi email cho Jonathan Shewchuk để hỏi liệu anh ta có liên hệ lại với bạn không? –
@MareInfinitus Chúng tôi có các cấp với tường trong đó. Toàn bộ khu vực có thể chơi của một cấp độ cần phải được triangulated để điều hướng vùng lưới để robot của chúng tôi có thể di chuyển. – raptor