Der Lane-Riesenfeld-Algorithmus unterteilt das Steuerpolygon eines B-Splines, um ein neues Steuerpolygon mit demselben Grenzwert-Spline zu erstellen. Es besteht aus zwei Schritten: Erstens werden alle Kontrollpunkte dupliziertP.ich in P.'2 i und P.'2 i + 1;; Verschieben Sie dann jeden Punkt zum Mittelpunkt zwischen ihm und dem nächsten PunktP.'ich→12P.'ich+12P.'i + 1. Diese Schritte sind in der Abbildung dargestellt:
Links befindet sich ein anfängliches Steuerpolygon. In der Mitte habe ich die Eckpunkte dupliziert. Rechts haben sich die Scheitelpunkte auf halbem Weg zum nächsten Scheitelpunkt bewegt. Beachten Sie, dass sich im ersten Bewegungsschritt nur die Hälfte der Eckpunkte bewegt: Dies liegt daranP.'2 i=P.'2 i + 1, aber P.'2 i + 1≠P.'2 i + 2. Diese acht Eckpunkte sind ein verfeinertes Steuerpolygon für den linearen B-Spline, der durch die ersten vier Eckpunkte definiert wird.
Jetzt können wir einen zweiten Bewegungsschritt ausführen (ohne eine weitere Verdoppelung):
Links haben wir jeden Scheitelpunkt auf den Mittelpunkt zwischen ihm und seinem Nachbarn verschoben. Beachten Sie, dass sich diesmal alle Scheitelpunkte bewegen (da sich keine an derselben Position befinden). Rechts haben wir das Polygon mit diesen acht Eckpunkten gezeichnet. Dies ist ein verfeinertes Steuerpolygon für den quadratischen B-Spline, der durch die ersten vier Eckpunkte definiert wird. Sie können dies auch als das gleiche Polygon erkennen, das Sie durch Chaikin-Eckenschneiden erhalten, wodurch Sie auch den quadratischen B-Spline erhalten.
Jetzt können wir weitere Schritte zum Duplizieren, Verschieben und Verschieben ausführen, um das Polygon weiter zu verfeinern und damit die quadratische B-Spline-Kurve näher zu approximieren:
Hier ist eine Animation dieses Prozesses:
Wenn wir stattdessen einen dritten Bewegungsschritt ohne einen Duplikationsschritt ausführen (dh eine Duplizierung gefolgt von drei aufeinanderfolgenden Bewegungen), erhalten wir ein verfeinertes Steuerpolygon für den kubischen B-Spline, der durch die ersten vier Eckpunkte definiert wird:
Eine Animation dieses Prozesses:
Im Allgemeinen tun k Bewegungsschritte nach jedem Duplikat geben uns das verfeinerte Polygon für das C.k B-Spline.
BEARBEITEN : Animationen hinzugefügt.