# Winkel zwischen zwei Vektoren



## VipViper2000 (7. Mai 2008)

Hi Leute,

nein - wie man einen Winkel zwischen 2 Vektoren ausrechnet weiss ich. Steht ja auch hier im Sticky beschrieben. Aber: ich bekomme ja immer einen Winkel < PI zurück. Was ich jedoch brauche ist eben ein Winkel 0 < w < 360.

Derzeit berechne ich den Winkel nach folgender Formel:


```
double angle = Math.acos((origin.getX()*p.getX() + origin.getY()*p.getY())/((
				Math.sqrt(origin.getX()*origin.getX()+origin.getY()*origin.getY()))*
				Math.sqrt(p.getX()*p.getX()+p.getY()*p.getY())));
```

Der Punkt 'origin' ist dabei immer fest, der Punkt 'p' wandert. wenn der Winkel zwischen 'origin' und 'p' Pi überschreitet, nähert sich angle wieder rückwärts gegen 0 an. Ich bekomme also z.B. für 170 einen angle von 2.59 und für 200 dann einen auch 2.59. Hat einer nen Tip was ich tun muss um Winkel > 180° zu bekommen? Hoffe, ich hab mich einigermaßen verständlich ausgedrückt.

Gruß,
VipViper2000


----------



## Marco13 (7. Mai 2008)

http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Math.html#atan2(double,%20double)  :!:  :?:


----------

