PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Winkel-Berechnung



Manu
26-05-2005, 22:03
Hallo,

ich habe folgendes Problem:

Ich habe ein Rechteck, dass folgendermassen aussieht:
--------------
|.................|
|.........2.......|
|.........o.......|
|.........|.......|
|.........|.......|
|______o____|
...........1

(die Punkte dazwischen habe ich nur als Platzhalter benutzt!)


Das Rechteck kann man an Punkt 2 um Punkt 1 drehen.
Nun will ich den Winkel zwischen der Linie von Punkt1 nach Punkt 2 und der x-Achse berechnen. Aber das Problem ist, dass wenn ich gegen den Uhrzeigersinn drehe, nur von 0° bis 180° gezählt wird, und wenn ich die 180° überschreite, wird wieder von 180° bis 0° gezählt. Ich will aber gegen den Uhrzeigersinn von 0° bis 360° drehen können.
Mein Code sieht so aus:

public double getAngle() {
double distCentWristX = center.getX() - wrist.getX();
double distCentWristY = center.getY() - wrist.getY();
double getangle = Math.acos( distCentWristX /center.distance(wrist));
double x = (getangle * 360 ) / (2*Math.PI);

return x;

}

center ist dabei Punkt 2 und wrist ist Punkt 1.

Bin dankbar für jede Hilfe!

bischi
27-05-2005, 12:39
Tönt nach ner Schulaufgabe, aber egal:

Dein Problem ist Mathematischer Natur:

[0,180]+[180,0] --> [0,360]

Mehr sag ich dazu nicht (abfragen in welchem Teil, 180/360/720 addieren, ev minuszeichen...)

MfG Bischi

PS: Das Ding heisst übrigens bijektive Abbildung