Berechnung von Kurven

Ich programmiere gerade an einem Spiel, bei dem ein Fahrzeug eine 90-Grad-Kurve fahren soll.

Dabei habe ich aufgrund der Formel x² + y² = r² die Position des Fahrzeugs berechnet. Der Radius beträgt 50. Ich habe nun die x-variable innerhalb der Fahrt von 0 auf 50 hochgesetzt und dann anhand der Formel y berechnet. Dadurch kann ich die Kurve auch richtig berechnen.

Nun habe ich aber nicht bedacht, dass die Geschwindigkeit am Ende der Fahrt stark zunimmt. Ich brauche also eine Formel, bei der ich den Winkel von 0 bis 90 Grad vorgebe und daraufhin die Koordinaten berechne.

Kann mir jemand sagen, wie ich das hinbekomme? Ich habe irgendwas mit Vektoren im Hinterkopf, aber leider ist die Schulzeit bei mir schon lange vorbei.

Im voraus schon mal vielen Dank!

x=r*cos(phi)
y=r*sin(phi)

Das ist allerdings nicht sehr realistisch, da Du an Ein- und Ausgang der Kurve eine plötzliche Beschleunigungsänderung hast. Würdest Du mit dem Fahrrad oder Auto dieser Kurve folgen wollen, müsstest Du das Lenkrad von einem Moment zum anderen in die Kurvenstellung herumreißen.

Gruß, Lutz

Danke für die schnelle Antwort.

Leider komme ich noch nicht ganz damit klar.

Wenn ich x brechnen will und der winkel von 0 bis 90 steigt, dann erhalte ich folgende Werte:

50
27,01511529
-20,80734183
-49,49962483
-32,68218104
14,18310927
48,00851433
37,69511272
-7,27500169
-45,55651309
-41,95357645
0,221284899
42,19269794
45,37233907
6,83686091
-37,98439564
etc.

Ich würde aber folgendes erwarten:
x = cos(0) * 50 = 0 (Start der Kurve von links nach rechts unten)
x = cos(90) * 50 = 50

und alle anderen Werte sollten zwischen 0 und 50 (dem Radius) liegen.

Wo ist denn hier mein Denkfehler?

Hallo,

Wenn ich x brechnen will und der winkel von 0 bis 90 steigt,
dann erhalte ich folgende Werte:

50
27,01511529

etc.

wie bist du an diese Werte gekommen?

Ich würde aber folgendes erwarten:
x = cos(0) * 50 = 0 (Start der Kurve von links nach rechts
unten)
x = cos(90) * 50 = 50

cos 0° = 1, cos 90°= 0

Gruß
Pontius

Wenn ich x brechnen will und der winkel von 0 bis 90 steigt,
dann erhalte ich folgende Werte:

50
27,01511529
-20,80734183

Ich schätze du hast hier die Werte von 0-90 im Bogenmaß eingegeben, da du aber von 0°-90° gehen willst, musst du die Werte im Gradmaß angeben. Wenn das nicht geht, rechnest du das so um:

Wert im Bogenmaß = Gradzahl/180 * Pi

Für Gradzahl setzt du dann einfach 0° - 90° ein und kannst das Ergebnis davon dann ganz normal benutzen, wie du vorher die Zahl (mit falschen Ergebnis) benutzt hattest.

Genau das habe ich gesucht!

Funktioniert jetzt perfekt!

Danke und ein schönes WE!