Allgemein/Flash/Javascript: x,y Werte nach Grad umwandeln?
Christine Rollig
- programmiertechnik
Hallo!
Folgendes Problem:
ich habe zwei Geschwindigkeiten x und y pro Zeiteinheit.
Also etwa:
x=1 und y=0 heisst:
pro Zeiteinheit bewegt sich das Objekt mit der Geschwindikeit x+1 und y=0, was bedeutet, dass es hier z.B. einfach nach rechts geht.
bei x=2 und y=0 wäre es die gleiche Richtung, aber doppelte Geschwindigkeit.
Nund wäre z.B. x=30 und y=30 etwa ein Winkel von 135 Grad usw.
Wie bekomme ich aber den genauen 360 Grad Wert heraus und wie kann ich z.B. den Gradwert verändern und bekomme die richtigen xy Werte, ohne z.B. die Geschwindigkeit zu ändern?
Warscheinlich peinlich easy, aber ich stocke da gerade.
Gruss und Kuss,
Tine
Hallo Christine,
[... Winkelberechnungen ...]
meinst du:
var a = Ypos / Xpos;
var winkel=Math.atan(a) * 180 / Math.PI;
HTH
Maxx
Holladiewaldfee,
meinst du:
var a = Ypos / Xpos;
var winkel=Math.atan(a) * 180 / Math.PI;
Und immer schön aufpassen, daß Xpos nicht 0 ist, sonst haut Dir der Browser das Script um die Ohren. Du mußt dann einfach für Ypos>0 90° und für Ypos<0 270° einsetzen.
Außerdem solltest Du beachten, daß der Tangens eine Pi-Periodische Funktion ist, d.h. Du kannst nur anhand von a nicht feststellen, ob Du im ersten oder dritten bzw. im zweiten oder im vierten Quadranten bist. Da mußt Du dann die Werte nochmal extra abfragen und ggf. 180° draufaddieren.
Ciao,
Harry
Beide Antworten grossartig!
Vielen Dank, Problem scheint erstmal gelöst.
Kuss, Tin