Winkelbestimmung, Division durch 0

Hallo an alle!

Es sei ein Vektor in der x-y-Ebene gegeben. Nun möchte ich mir die Richtung des Vektos berechnen, als Winkel. Allerdings liefert arctan(y/x) bei 90° bzw. 270° keine Werte.

Wie könnte ich dieses Problem umgehen, so dass ich eine eindeutige Zuordnung des Winkels im Bereicht von 0 bis 360° treffen kann?

Vielen Dank,
Lugi

Moien

Es sei ein Vektor in der x-y-Ebene gegeben. Nun möchte ich mir
die Richtung des Vektos berechnen, als Winkel. Allerdings
liefert arctan(y/x) bei 90° bzw. 270° keine Werte.

Deshalb benutzt man Arctan2 (x, y) => http://en.wikipedia.org/wiki/Atan2

cu

Nimm doch statt tan (bzw. arctan) den Sinus oder Kosinus. Brauchst nur die Hypotenuse dafür, also den Betrag des Verktors (Im Zweifelsfall über Pythagoras).

Gruß
TeaAge

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Es sei ein Vektor in der x-y-Ebene gegeben. Nun möchte ich mir
die Richtung des Vektos berechnen, als Winkel.

 { arctan(y/x) für x ≠ 0 
 { 
φ = { 90° für x = 0 und y \> 0
 { unbestimmt für x = 0 und y = 0
 { 270° für x = 0 und y 


> Allerdings liefert arctan(y/x) bei 90° bzw. 270° keine Werte.


arctan(y/x) liefert nur bei x = 0 keine Werte. 

Die Funktion, die bei 90° und 270° keine Werte liefert, ist der Tangens. 



> Wie könnte ich dieses Problem umgehen, so dass ich eine  
> eindeutige Zuordnung des Winkels im Bereicht von 0 bis 360°  
> treffen kann?


Indem Du den Fall x = 0 gesondert behandelst, siehe oben. Für x = y = 0 bleibt der Winkel jedoch grundsätzlich unbestimmt.

Gruß
Martin