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

08.07.2009, 09:51

Rotation nach Ziel ausrichten

Hi,
ich muss meiner Rakete sagen, dass sie sich zum Ziel dreht.
Gehen wuerde das zB mit ((Vektorx)(VektorY))*(|(VektorX)||(VektorY)|)

Aber geht das nicht irgendwie auch einfacher :?:

mfg
Dieser Post wurde aus artgerecht gehaltenen, 100% chlorfrei gebleichten, handelsüblichen Elektronen aus Freihaltung erzeugt.

Black-Panther

Alter Hase

Beiträge: 1 443

Wohnort: Innsbruck

  • Private Nachricht senden

2

08.07.2009, 11:47

Das gibt dir ja nur den cosinus vom Winkel zwischen den zwei Vektoren... Brauchst dus in 2D oder in 3D?
stillalive studios
Drone Swarm (32.000 Dronen gleichzeitig steuern!)
facebook, twitter

3

08.07.2009, 12:51

2D
Dieser Post wurde aus artgerecht gehaltenen, 100% chlorfrei gebleichten, handelsüblichen Elektronen aus Freihaltung erzeugt.

Nexxtron

Alter Hase

Beiträge: 424

Wohnort: Heilbronn

Beruf: Student - Software Engineering

  • Private Nachricht senden

4

08.07.2009, 14:07

so

https://www.spieleprogrammierer.de/phpBB2/viewtopic.php?t=11376&highlight=rakete

oder so

https://www.spieleprogrammierer.de/phpBB2/viewtopic.php?t=11990&highlight=rakete

:D
New Project: Operation CityRacer

5

09.07.2009, 10:56

Thx, hab jetzt 2 Stunden beide Codes ausprobiert, leider erhalte ich nicht die richtige Rotation / drehe mich im Kreis.

Ich bräuchte eigentlich nur die Rotation zum Ziel, die ich zB. beim Konstruktor schon einstelle, das "teilweise" drehen zum Ziel kann ich danach selbst machen :D

Edit: Hm, irgendwie so sollte es doch gehen:

C-/C++-Quelltext

1
m_Rotation += atan((m_AimY - m_vPosition.y) / (m_AimX - m_vPosition.x));


m_Aim = Ziel, Position = Position der Rakete

Edit2: Nexxtron, kannst du bitte mal deinen fertigen Code posten? ;)
Dieser Post wurde aus artgerecht gehaltenen, 100% chlorfrei gebleichten, handelsüblichen Elektronen aus Freihaltung erzeugt.

Nexxtron

Alter Hase

Beiträge: 424

Wohnort: Heilbronn

Beruf: Student - Software Engineering

  • Private Nachricht senden

6

09.07.2009, 13:07

ups ausversehn gepostet :roll:
New Project: Operation CityRacer

Nexxtron

Alter Hase

Beiträge: 424

Wohnort: Heilbronn

Beruf: Student - Software Engineering

  • Private Nachricht senden

7

09.07.2009, 13:10

hab für dich mein code umgestellt

so müsste es gehen:


m_Rotation = atan2 (m_AimX - m_vPosition.x, m_AimY - m_vPosition.y) * 180 / 3.14
New Project: Operation CityRacer

physX

Treue Seele

Beiträge: 119

Wohnort: Dresden

  • Private Nachricht senden

8

09.07.2009, 14:21

Zitat von »"Nexxtron"«

hab für dich mein code umgestellt

so müsste es gehen:
m_Rotation = atan2 (m_AimX - m_vPosition.x, m_AimY - m_vPosition.y) * 180 / 3.14


du bekommst dann zwar den richtigen winkel, aber der ist immer positiv. d.h. du weisst dann noch nicht ob das ziel jetzt z.b. rechts oder links von deinem standpunkt liegt. wenn du vektoren wie in dem oben vorgeschlagenen post verwendest, kannst du dieses Problem direkt umgehen.
gruss

9

09.07.2009, 14:24

Nexxtron: Jetzt fliegt die Rakete gerade nach oben - immer
Dieser Post wurde aus artgerecht gehaltenen, 100% chlorfrei gebleichten, handelsüblichen Elektronen aus Freihaltung erzeugt.

Nexxtron

Alter Hase

Beiträge: 424

Wohnort: Heilbronn

Beruf: Student - Software Engineering

  • Private Nachricht senden

10

09.07.2009, 14:28

bei mir mit sfml gehts wenn ich SetRotation mache
New Project: Operation CityRacer

Werbeanzeige