PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Interpolation zwischen Kontrollpunkten


Markus89
2011-04-05, 09:08:37
Hallo,

ich habe ein Problem bei folgendem Vorhaben: Ich möchte im 3D-Space Objekte entlang eines Pfades in konstantem Abstand positionieren und in Richtung der Tangente an der Stelle des Pfades orientieren. Teilweise vergleichbar sollte das sein mit einer Kamerabewegung entlang des Pfades, wobei die Kamera immer nach vorne zeigt. Der unterschied besteht darin, dass ich nur einzelne (bestimmte) Punkte auf dem Pfad benötige.

Ich habe nun ein paar Kontrollpunkte, wobei die Anzahl so im Bereich 10-50 liegen sollte, der Abstand zwischen den Kontrollpunkten kann unterschiedlich sein. Der interpolierte Pfad soll nun durch alle Kontrollpunkte gehen. Das alleine ist nicht das Problem, ich habe die Kurve mit einer Form von kubisch hermiteschen Splines angenähert.

Das Problem liegt darin, dass ich alle Objekte in einem konstanten Abstand d voneinander positionieren möchte. Das heißt ich brauche vom Start bis zum Ende des Pfades jeweils immer nach d Längeneinheiten die Position auf dem Pfad und die Tangente um das Objekt korrekt zu positionieren.

Den Tangentenvektor sollte man doch eigentlich herausbekommen, indem man die Funktion für die Position ableitet, oder? Die einzige Möglichkeit, die ich sehe um die Punkte mit konstantem Abstand zu bekommen ist, dass man sich viele Punkte mit winzigem Abstand auf der Kurve ausrechnet und dann jeweils deren Abstand aufsummiert, solange bis d erreicht ist. Dann fängt man wieder von vorne an.

Gibt es da zufälligerweise eine einfachere/elegantere Lösung?

RLZ
2011-04-05, 10:43:21
Die eleganteste Lösung ist sicherlich eine "arc length parameterized" Splinedarstellung zu benutzen.

Markus89
2011-04-06, 20:14:05
Danke, das Stichwort hat mir gefehlt :wink: