Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

29.09.2016, 10:18

Winkelberechnung (sinus, kosinus)

Hey,

seit gestern habe ich versucht, ein einfaches Spiel zu programmieren.
Doch bei der Winkelberechnung komme ich irgendwie nicht weiter.

Ich habe einen Ball, der sich in bestimme Richtungen mit gleichbleibender
Geschwindigkeit bewegen soll. Dafür muss ich ja die X1 und Y1 Koordinaten
verändern.

Dazu habe ich folgendes Tutorial gefunden: http://www.chaos-interactive.de/tuts/winkel.html
Wenn ich das jetzt aber von der mathematischen Formal so umsetze, bewegt der Ball sich in
eine komplett andere Richtung als er soll. Z.B bei 0 Grad bewegt er nur X Koordinaten um +1 * Geschwindigkeit.
Wenn ich aber 360 Grad einstelle, bewegt er sich ebenfalls X Koordinaten um +1 * Geschwindigkeit, also exakt gleich.
Bei 180 Grad bewegt er sich nach unten links ca.

Weiß jemand vielleicht, ob die Berechnung so überhaupt richtig ist?
Ich habe das so umgesetzt:

Quellcode

1
2
$ballX1 += Cos(180) * $ballSpeed
$ballY1 -= Sin(180) * $ballSpeed


Die Variablen $ballX1 und $ballY1 bestimmen in dem Fall X1 und Y1 des Objektes.
Also wenn ich z.B $ballX1 += 1 rechne, bewegt sich das Objekt um einen Pixel nach rechts.
Der Grad ist hier 180 bei beiden Berechnungen.


Liebe Grüße,
xSunLighTx

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

29.09.2016, 10:48

Willkommen im Forum!
Die Rechnung ist so weit OK. Aber in den meisten Programmiersprachen arbeiten die Sin- und Cos-Funktionen nicht mit Grad, sondern im Bogenmaß (Radiant). 180° entspricht genau Pi im Bogenmaß, also musst du das ggf. umrechnen.

3

29.09.2016, 11:08

Willkommen im Forum!
Die Rechnung ist so weit OK. Aber in den meisten Programmiersprachen arbeiten die Sin- und Cos-Funktionen nicht mit Grad, sondern im Bogenmaß (Radiant). 180° entspricht genau Pi im Bogenmaß, also musst du das ggf. umrechnen.


Hey David,

vielen Dank!

Du hast Recht, ich musste das wirklich umrechnen. Jetzt funktioniert alles einwandfrei.
Danke auch hierfür für die Erklärung.

Werbeanzeige