Lineare Algebra treibt interaktiven Diagramm-Editor an

2024-12-17

Ivan Shubin nutzte bei der Entwicklung seines interaktiven Diagramm-Editors Schemio geschickt Matrixoperationen aus der linearen Algebra, um eine Reihe komplexer Probleme zu lösen. Anfangs unterstützte Schemio nur die einfache Erstellung und Bearbeitung von Formen. Doch mit der Einführung einer hierarchischen Struktur wurden Koordinatentransformationen komplex. Der Autor verwendete zunächst einen rekursiven Ansatz, stieß aber auf Probleme mit Skalierung und Pivotpunkten. Schließlich setzte Shubin Matrizen ein, um Transformationen (Translation, Rotation, Skalierung) darzustellen, wobei er Matrixmultiplikation zur Koordinatenumrechnung und geschickt Matrixinversion zur Lösung des Problems der Umrechnung von Welt- in lokale Koordinaten verwendete. Matrixoperationen ermöglichten zudem die präzise Anpassung von Position und Rotation eines Objekts beim Verschieben innerhalb der Hierarchie, wodurch unerwartete Sprünge vermieden wurden. Der Quellcode von Schemio ist Open Source und auf GitHub verfügbar.