Matrixlogarithmen und Transformationsinterpolation: Transformationen als Geschwindigkeitsfelder verstehen

2025-03-22

Dieser Artikel untersucht, wie man eine Transformationsmatrix T glatt interpoliert, um einen Punkt x von seiner Ausgangsposition in seine durch T transformierte Position zu bewegen. Der Schlüssel liegt in der Verwendung von Matrixexponentialen und -logarithmen. Durch Erheben von T zur Potenz von t (T^t = e^(log(T)*t)) können wir die Transformation T(t) zum Zeitpunkt t erhalten. Interessanterweise stellt log(T) das Geschwindigkeitsfeld der Transformation dar; sein Produkt mit Punkt x liefert den Geschwindigkeitsvektor an diesem Punkt. Der Artikel erklärt dieses mathematische Prinzip detailliert und bietet ein interaktives Beispiel sowie Code-Links, die die Transformationsinterpolation und die Visualisierung einer Matrix als Geschwindigkeitsfeld demonstrieren.

Mehr lesen

Effizientes 3D-Mesh-Smoothing: Nachbarsuche überflüssig machen

2025-03-16

Dieser Blogbeitrag präsentiert einen effizienten Algorithmus für das 3D-Mesh-Smoothing, der komplexe Half-Edge-Datenstrukturen vermeidet. Mit einem „Vertex-Throwing“-Ansatz wird direkt über die Dreiecksflächen iteriert, wobei die Positionen der benachbarten Vertexe in einem einzigen Durchlauf akkumuliert werden, um die durchschnittlichen Positionen für das Smoothing zu berechnen. Dies eliminiert die Nachbarsuche und steigert die Effizienz. Der Beitrag untersucht auch verschiedene Parallelisierungsmethoden, einschließlich der Verwendung atomarer Operationen und der Vorkalkulation der Nachbarschaftsliste, und vergleicht deren Performance-Unterschiede. Schließlich wird gezeigt, wie die Vertex-Normalen nach dem Smoothing neu berechnet werden.

Mehr lesen
Entwicklung Mesh-Smoothing