Meine Anwendung ist die Darstellung von Formen auf der Erde (mit einer Kugel ist ausreichend) Oberfläche. Dies können Punkte, Linien und Polygone sein. Koordinaten sollten mithilfe von Grad oder Bogenmaß (genau wie geografische Koordinaten) definiert werden.Punkte, Linien und Polygone auf Kugeln mit C/C++
Ein Liniensegment zwischen zwei Punkten auf der Oberfläche der Kugel sollte auf seinem great circle liegen. Polygone sollten aus einer Sammlung solcher Linien bestehen. Außerdem würde ich gerne Set - Basic Operations wie Schnittpunkt, Vereinigung, Differenz, Komplement auf den genannten Formen ausführen. Diese Operationen müssen nur Sammlungen von Punkten ausgeben.
Ich versuchte, das herauszufinden, mit CGAL 3D Spherical Geometry Kernel und 2D Boolean Operations on Nef Polygons Embedded on the Sphere. Eigentlich hatte ich schon Probleme, eine Linie auf die Kugel zu legen. Zusätzlich arbeitet CGAL im Euklidischen Raum, der mich immer noch mit den notwendigen geometrischen Operationen belässt, um mit großen Kreisen auf der Kugel zu arbeiten.
Meine Frage ist, wenn Sie mir helfen können, die in CGAL genannte Funktionalität zu realisieren, oder wenn Sie eine andere Bibliothek für C/C++ empfehlen können, die das tut. Vielen Dank!
Die „2D Boolesche Operationen auf Nef Polygonen auf der Kugel Embedded“ wie es aussieht, tut was du brauchst. Gibt es etwas Spezifisches, mit dem du Hilfe brauchst? – user168715
@ user168715 Ich bin nicht klar mit Ihrer Frage. In der ersten Para müssen Sie Formen auf _surface_ der Kugel zeichnen, aber in 2. para möchten Sie Linien/Polygone auf Großkreis gezeichnet werden (was tatsächlich Linie/Polygon _inside_ der Kugel zeichnen wird). – Pranav
@Pranav: Jede "Linie" des Polygons auf der Oberfläche der Kugel ist ein Stück eines anderen Großkreises. – aschepler