Komp-Geom
Was passiert, wenn zwei berechnete Punkte nur beinahe übereinstimmen? In der Computergeometrie kann so ein kleiner Unterschied das Ergebnis eines Algorithmus verändern. Mit Komp-Geom beschäftige ich mich mit solchen Fragen und entwickle dafür Werkzeuge in Kotlin.
Das Projekt hat drei Teile:
- Komp-Geom ist die Kotlin-Multiplatform-Bibliothek mit geometrischen Grundformen, Operationen und Algorithmen.
- Komp-Geom Visualizer zeigt, was die Algorithmen tun. So lassen sich auch schwierige Randfälle untersuchen.
- Komp-Geom Examples zeigt anhand kleiner Java-Programme, wie sich die Bibliothek verwenden lässt.

Warum ich daran arbeite #
Mich interessiert an Computergeometrie, wie eng Algorithmen und ihre praktische Umsetzung zusammenhängen. Eine Formel allein reicht nicht, wenn Rundungsfehler einen Vergleich verändern oder eine API die Verwendung unnötig schwer macht. Ich möchte verstehen, wo diese Probleme auftreten, und eine Bibliothek bauen, die sich in Kotlin gut verwenden lässt.
Die drei Teile helfen mir dabei auf unterschiedliche Weise: In der Bibliothek setze ich die Algorithmen um, im Visualisierer kann ich ihr Verhalten nachvollziehen und mit den Beispielen prüfe ich, wie gut sich die Bibliothek in anderen Programmen verwenden lässt.
Woran ich arbeite #
- Geometrische Grundformen in einer, zwei und drei Dimensionen
- Vergleiche von Gleitkommazahlen, bei denen kleine Rundungsfehler berücksichtigt werden
- Algorithmen wie die Suche nach dem nächsten Punktepaar (Closest Pair) und die Berechnung der konvexen Hülle (Convex Hull)
- Kotlin-Multiplatform-APIs mit unveränderlichen Datenstrukturen und veränderlichen Varianten für rechenintensive Fälle
- Tests, Dokumentation und Benchmarks für die unterstützten Plattformen
Komp-Geom ist noch in Entwicklung. Ich ergänze Algorithmen, arbeite an verständlicheren Visualisierungen und überarbeite die API, wenn die Beispiele zeigen, dass etwas umständlich ist.
Code und Demo #
Bibliothek
Komp-Geom
Quellcode, Dokumentation und Tests der Kotlin-Multiplatform-Bibliothek.
Visualisierer
Komp-Geom Visualizer
Den Quellcode ansehen oder die Algorithmen direkt im Browser ausprobieren.
Live-Demo öffnenBeispiele
Komp-Geom Examples
Beispiele für die Verwendung der Bibliothek in Java-Programmen.