alphaSin = Math.sin(Math.PI/180*Number(alpha));
alphaCos = Math.cos(Math.PI/180*Number(alpha));
alphaTan = Math.tan(Math.PI/180*Number(alpha));
vTan steht hier für das Verhältnis a/b oder Tangens Alpha.
vTan=Number(a)/Number(b);
Mit Arkustangens berechnet man daraus den Winkel. Es ist die Umkehrung der Tangens Funktion.
arkusTanB=Math.atan(vTan);
Da Math.atan() den Winkel im Bogenmaß zurückgibt, muss man diesen noch in einen Grad-Winkel umrechnen. Das geschieht mit der Funktion:
grad = (bogenmass / Pi)*180
alpha=(arkusTanB/Math.PI)*180;
Math.asin(), und Math.acos() funktioniert selbstverständlich in ähnlicher Weise.
Mit dem Satz des Pythagoras lassen sich die Seiten eines rechtwinkligen Dreiecks berechnen. Siehe dazu meinen Tipp Distanz von Instanz.
vTan = Number(a)/Number(b);
arkusTanB=Math.atan(vTan);
alpha=(arkusTanB/Math.PI)*180;
with (puck) {
delta_x = _x-pick._x;
delta_y = _y-pick._y;
}
vTan = delta_x/delta_y;
arkusTanB = Math.atan(vTan);
alpha = (arkusTanB/Math.PI)*180;
pick._rotation=number(_root.alpha)*-1;
puck._rotation=number(_root.alpha)*-1;
2 Punkte im Koordinatensystem kann man sich immer als Punkte in einem rechtwinkligen Dreieck vorstellen, dessen Seiten sich berechnen lassen. Mehr dazu in meinem Tipp: Distanz der Instanz.
Wie ich auf der vorigen Seite beschrieben habe, bilde ich auch hier den Winkel Alpha und setze diesen Wert als Drehwinkel der beiden MC-Instanzen pick und puck ein.