ein Auto seinen Weg folgen lassen

Status
Nicht offen für weitere Antworten.

alexey

Mitglied
Hallo! ich habe ein Auto, das als ein Shape3D dargestellt ist und ein Array von Point3d, der der Weg beshreibt. das Auto soll den Weg fahren und gleichzeitig sich rotieren- dadurch soll naturliches Eindruck erzeugt werden. Ohne Rotation sieht es ganz schlecht aus. ich weiß, dass man es durch RotPosPathInterpolator machen kann, aber habe leider keine Ahnung von Ding. Könnte mir jemand einen kurzen Codestuck zeigen?
Wenn ich die Aufgabe zu schlecht beschrieben habe- hier:
http://www2.hs-fulda.de/caelabor/inhalte/java/j3d/j3d_seminar/11/Verwendete Literatur/07java3d_1.pdf
in Folie 36 Beispiel mit Lokomotive. ich kann leider die Datei LokoAnimation.zip nicht finden.

Danke im Voraus
 

alexey

Mitglied
als Erstes->Danke
das Beispiel habe ich gesehen.
ich denke Array "quats" soll irgendwie aus Array "positions" berechnet werden. Die Frage: wie?
das Auto soll ziemlich komplizierten Weg fahren.
 

Marco13

Top Contributor
Ja, vermutet hatte ich sowas schon. Diese Quats vorzugeben wäre ziemlich schwierig, aber für den Interpolator müssen sie glaubich vorgegeben sein. Wenn man davon ausgeht, dass du eine Polylinie hast, wird ein Interpolator auch nicht unbedingt so funktionieren, wie du das willst.

Ein Auto sollte ja nicht...
- ein Stück geradeaus fahren
- sich dann auf der Stelle(!) drehen
- wieder ein Stück geradeaus fahren.

Es sollte auch NICHT
- Ein Stück fahren, und sich während der gesamten Fahrt so drehen, dass das auf dem nächsten Teilstück am Anfang geradeaus fährt (was der RotPosPathInterpolator machen würde)

Das richtig schön zu machen wäre auch richtig schwierig. Aber eine Lösung, die "ganz OK" ist, würde man wahrscheinlich schon hinkriegen, wenn man es etwa so macht:
Die Folge der Punkte ist gegeben
Das Auto besteht aus zwei Punkten: Dem Punkt für die Vorderräder und dem Punkt für die Hinterräder
Die beiden Punkte fahren (in festem Abstand) hintereinander auf der Polyline lang.
Damit würde sich das Auto an den Übergängen zwischen zwei Linienstücken immer "plausibel" in die Richtung des nächsten Linienstücks drehen.

Dazu müßte man aber die Drehung des Autos selbst ausrechnen. Einen RotPosPathInterpolator kann man dann nicht mehr verwenden. Vielleicht noch einen PosPathInterpolator, aber das müßte ich mir auch erst genauer überlegen.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben