Probleme mit ATan2...
Übersicht

![]() |
juse4proBetreff: Probleme mit ATan2... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo erstmal...
Habe grade zutun mit Meinem Player, welcher sich zur Maus drehen soll, funktioniert auch alles nur nicht ganz so wie ich das will. Ich benutze den Befehl Atan2... Aber anscheinend kann ich diesen nicht mit Sin und Cos zusammen verwenden. ich möchte, dass mir die winkel so zurückgegeben werden, wie dies auf der grafik zusehen ist... meine aktuelle berechnung sieht so aus: Code: [AUSKLAPPEN] p\direction# = ((ATan2(p\x - scroll_x - mouse_x, p\y - scroll_y - mouse_y) + 360) Mod 360) ...bla... p\x = p\x + sin(p\direction) p\y = p\y + cos(p\direction) ich habe von ATan2 keine ahnung, irgendwie spiegelt dieser befehl den einheitskreis, oder sowas... kann mir einer helfen? |
||
Portfolio |LinkedIn |XING |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei Atan2![]() |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
juse4pro |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es heißt doch erst X Kathete und dann Y Kathete, oder?
Davon mal abgesehen, wenn ich das vertausche kommt immer noch was falsches raus, why? EDIT: Um genau zu sein, ist der Einheits kreis auf der Y achse gespiegelt |
||
Portfolio |LinkedIn |XING |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann würde ich mal die Hilfe durchlesen, da heisst es relativ klar 'Atan2( Y#, X# )' ![]() Vielleicht hilft dir dieses kleine Beispiel auf die Sprünge: Code: [AUSKLAPPEN] Graphics 800, 600, 0, 2
SetBuffer BackBuffer() Timer = CreateTimer( 60 ) While Not KeyHit( 1 ) Cls Angle# = ATan2( MouseY() - 300, MouseX() - 400 ) Line 400, 300, 400 + Cos( Angle# )*100, 300 + Sin( Angle# )*100 Flip 0 WaitTimer Timer Wend End |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
juse4pro |
![]() Antworten mit Zitat ![]() |
---|---|---|
bei deinem beispiel kann der winkel aber ins minus gehen, das ich erst y, dann x brauche ist ok, das habe ich nun drin, funzt immer noch nicht
EDIT: es muss ein winkel zwischen 0° u 360° sein da ich mit diesem winkel ein bild male. |
||
Portfolio |LinkedIn |XING |
![]() |
tedy |
![]() Antworten mit Zitat ![]() |
---|---|---|
mach mod 360 dahinter | ||
01010100 01100101 01000100 01111001 00100000 00111010 01000100 |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] If Angle# < 0 Then Angle# = Angle# + 360
Das ist aber wirklich elementar. Warum es bei dir nicht funktioniert, kann ich nur vermuten - ein 'funzt immer noch nicht' ist halt nicht so aussagekräftig. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
juse4pro |
![]() Antworten mit Zitat ![]() |
---|---|---|
Och, stimmt ja, ich stand wohl auf'm schlauch, danke | ||
Portfolio |LinkedIn |XING |
![]() |
D2006AdministratorBetreff: Re: Probleme mit ATan2... |
![]() Antworten mit Zitat ![]() |
---|---|---|
mortus hat Folgendes geschrieben: p\x = p\x + sin(p\direction)
p\y = p\y + cos(p\direction) Cos ![]() ![]() ![]() |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
juse4pro |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja, ok, danke
und man muss -Sin schreiben wenn auf dem einheits kreis basiert, weil die y achse ja anders herum geht... aber, danke an alle |
||
Portfolio |LinkedIn |XING |
![]() |
tedy |
![]() Antworten mit Zitat ![]() |
---|---|---|
naja es geht ja um die länge der Kathete und nicht um die position | ||
01010100 01100101 01000100 01111001 00100000 00111010 01000100 |
![]() |
juse4pro |
![]() Antworten mit Zitat ![]() |
---|---|---|
jo, aber ich brauche ja den winkel um später punkte zu berechnen... ![]() Jedenfalls funkitoniert es jetzt, danke ![]() |
||
Portfolio |LinkedIn |XING |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group