Szukam dobrej i dobrze rozwiniętej biblioteki do manipulacji geometrycznych i ocen w Pythonie, takich jak:
- ocenić przecięcie dwóch linii w 2D i 3D (jeśli są obecne)
- ocenić punkt przecięcia płaszczyzny z linią lub linię przecięcia dwóch płaszczyzn
- oszacować minimalną odległość między linią a punktem
- znajdź ortonormalną do płaszczyzny przechodzącej przez punkt
- obróć, przesuń, odbij zestaw punktów
- znajdź kąt dwuścienny określony przez cztery punkty
Mam kompendium wszystkich tych operacji i mógłbym to zaimplementować, ale niestety nie mam czasu, więc cieszyłbym się biblioteką, która to robi. Większość operacji jest przydatna do celów związanych z grami, więc jestem pewien, że niektóre z tych funkcji można znaleźć w bibliotekach gier, ale wolałbym nie włączać funkcji (takich jak grafika), których nie potrzebuję.
Jakieś sugestie ? Dzięki
Odpowiedzi:
Może spójrz na SymPy .
źródło
Shapely to ładne opakowanie Pythona wokół popularnej biblioteki GEOS .
źródło
Uważam, że pyeuclid jest świetnym, prostym pakietem do matematyki euklidesowej ogólnego przeznaczenia. Chociaż biblioteka może nie zawierać dokładnie tych problemów, o których wspomniałeś, jej infrastruktura jest wystarczająco dobra, aby ułatwić pisanie ich samodzielnie.
źródło
CGAL ma również powiązania Pythona .
źródło
geometry-simple ma klasy Point Line Plane Movement w ~ 300 liniach, używając tylko numpy; Spójrz.
źródło
Naprawdę chcę dobrej odpowiedzi na to pytanie, a te powyżej pozostawiły mnie niezadowolone. Jednak właśnie natknąłem się na pythonocc, który wygląda świetnie, poza brakiem dobrej dokumentacji i nadal mam problemy z instalacją (jeszcze nie jest kompatybilny z pypi). Ostatnia aktualizacja miała miejsce 4 dni temu (19 czerwca 2011). Owija OpenCascade który ma mnóstwo geometrii i funkcjonalności modelowania. Ze strony internetowej pythonocc:
[EDYCJA: Pobrałem teraz pythonocc i zacząłem pracować nad niektórymi przykładami]
Uważam, że może wykonać wszystkie wymienione zadania, ale okazało się, że jest nieintuicyjny w użyciu. Jest tworzony prawie w całości z opakowań SWIG, w wyniku czego introspekcja poleceń staje się trudna.
źródło
Możesz być zainteresowany modułem Pythona SpaceFuncs z projektu OpenOpt, http://openopt.org
SpaceFuncs to narzędzie do modelowania geometrycznego 2D, 3D, N-wymiarowego z możliwością parametryzacji obliczeń, optymalizacji numerycznej i rozwiązywania układów równań geometrycznych
źródło
Python Wild Magic to kolejny opakowany w SWIG kod. Jest to jednak biblioteka gier, ale można manipulować plikiem biblioteki SWIG, aby wykluczyć niepożądane elementy graficzne z interfejsu API Pythona.
źródło