2016-05-24 23 views
0

Ich versuche ein Fahrrad zu realisieren, das sich auf einem kreisförmigen Pfad bewegt, mit der WebGL-Programmiersprache. Mein Problem bezieht sich auf die Drehung des Fahrrades selbst, das sich während seiner kreisförmigen Bewegung nicht um sich selbst dreht, sondern in seinem Anfangswinkel bleibt, obwohl das Objekt korrekt kreisförmig entlang der Bahn übersetzt wird.Wie man ein Objekt entlang einer kreisförmigen Bahn dreht?

Um dem Fahrrad kreisförmige Bewegungen zu ermöglichen, verwende ich die Kosinus- und Sinusfunktionen und variiere jedes Mal den Winkel. Die Achsen, die ich berücksichtigen muss, sind die X-Achse und die Z-Achse, während die Y-Achse fest ist.

Irgendwelche Vorschläge?

Antwort

1

Wenn ich Sie richtig verstanden habe, was wollen Sie im Wesentlichen, um das Fahrrad so auszurichten, dass es in seine Bewegungsrichtung zeigt?

Dies wird in der Regel durch Berechnung der ModelToWorld-Matrix des Modells (Fahrrad) durchgeführt. Ihre Matrix-Bibliothek hat wahrscheinlich eine .lookAt-Funktion, und Sie sollten diese verwenden, um die ModelToWorld-Matrix zu berechnen.

Sie sollten in der Lage sein, die Vorwärtsrichtung des Fahrrads zu berechnen. Wenn es sich in einem Kreis bewegt, ist es normalize(cross(normalize(bikePos-circleCenter), UP_VECTOR)).