NURBS Knotenvielfalt

7

Bei der Aufteilung der NURBS-Kurven stützte sich die Antwort auf "maximale Knotenmultiplizität". Um verschiedene Themen nicht zu verwechseln, möchte ich Sie bitten, sie in einer anderen Frage zu beantworten: Worum geht es bei dieser "Knotenvielfalt"?

Ecir Hana
quelle

Antworten:

5

Wenn Sie eine Kurve haben, können Sie die Knoten so einstellen, dass sie übereinander liegen. Dies ist im Wesentlichen ein bisschen so, als ob mehrere Kontrollpunkte übereinander liegen, außer dass es nur einen Punkt gibt. Dies wird manchmal als Multiplizität oder Duplizität bezeichnet.

Wenn Sie so viele Knoten übereinander haben, wie Sie Grad in der Kurvenglätte haben, erhalten Sie eine Spitze, die auch als scharfe Ecke bezeichnet wird. Sobald Sie eine scharfe Ecke haben, können Sie einfach die Punkte auf der gegenüberliegenden Seite löschen, da sie die Punkte auf der anderen Seite der Ecke nicht mehr beeinflussen.

Kurve mit Höcker

Bild 1 : Kurven- und Steuerkäfig (oben) und Basisfunktionen (unten). In diesem Fall fungiert die Kurve als 2 benachbarte Bezierkurven. Das Bild verwendet den Knotenvektor [0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2].

Wenn wir einen Knotenvektor betrachten, sieht die Multiplizität wie eine Folge von n Knoten aus, die dieselbe Zahl haben. Beachten Sie, dass Sie eine teilweise scharfe Ecke erhalten, wenn Sie nicht genau so viele Knoten hinzufügen, wie glatt sind.

Animation

Bild 2 : Animation mit Interpolation der Knotenform [0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2] bis [0, 0, 0, 0, 0,34, 1, 1,66, 2, 2, 2, 2] und zurück. Wenn Sie die Punkte korrekt einfügen, ändert sich die Kurve nicht. Ich spreche nur darüber, was Vielfalt ist.

Alternativ zum Ändern der Parametrisierung können Sie einfach Punkte übereinander hinzufügen. Dies ist zwar ein geringfügiger Missbrauch von Ressourcen, aber nützlich bei der Oberflächenmodellierung. Viele Kontrollpunkte oben zu haben, könnte auch für die gleichmäßige Art der Knotenverteilung nützlich sein.

joojaa
quelle
Wenn Sie sagen "Knoten liegen übereinander", meinen Sie damit, dass sich ihre Werte im Knotenvektor nicht ändern? In Ihrem Beispiel [0, 0, 0, 0], [1, 1, 1], [2, 2, 2] liegen also alle "übereinander"?
Ecir Hana
@EcirHana ja das ist was ich meine eine normalere Parametrisierung wäre [0, 0, 0, 0, 0,5, 1, 1,5, 2, 2, 2, 2]
Ich
Nur um zu überprüfen: Um eine NURBS-Kurve zu teilen, besteht die Hauptaufgabe darin, Knoten einzufügen, damit die Gesamtform unverändert bleibt, richtig?
Ecir Hana
Ja, sobald Sie genug Knoten haben, können Sie löschen, was auf der anderen Seite ist.
Jojaja
Es gibt eine andere Strategie. Sie können auch einen Knoten einfügen und die Punkte löschen, die sich nicht mehr auf den Knoten auswirken. Sie erhalten jedoch eine etwas andere Parametrisierung. Ich bevorzuge diese Methode für die meisten meiner eigenen Modellierungen. Aber sonst scheint niemand davon gehört zu haben.
Jojaja