Suche…


Den Winkel zwischen zwei Punkten ermitteln

Verwendung der Vanillemathematik:

var from:Point = new Point(100, 50);
var to:Point = new Point(80, 95);

var angle:Number = Math.atan2(to.y - from.y, to.x - from.x);

Verwenden eines neuen Vektors, der die Differenz zwischen den ersten beiden darstellt:

var difference:Point = to.subtract(from);

var angle:Number = Math.atan2(difference.y, difference.x);

Hinweis: atan2() gibt den Bogenmaß und nicht den Grad zurück.

Den Abstand zwischen zwei Punkten ermitteln

Verwendung der Vanillemathematik:

var from:Point = new Point(300, 10);
var to:Point = new Point(75, 40);

var a:Number = to.x - from.x;
var b:Number = to.y - from.y;

var distance:Number = Math.sqrt(a * a + b * b);

Eingebaute Funktionalität von Point :

var distance:Number = to.subtract(from).length; // or
var distance:Number = Point.distance(to, from);

Radiant in Grad umrechnen

var degrees:Number = radians * 180 / Math.PI;

Grad in Radiant umrechnen

var radians:Number = degrees / 180 * Math.PI;

Der Wert eines Kreises in Grad und Bogenmaß

  • Ein ganzer Kreis ist 360 Grad oder Math.PI * 2 Bogenmaß.
  • Die Hälfte dieser Werte Math.PI 180 Grad oder Math.PI Bogenmaß.
  • Ein Viertel ist dann 90 Grad oder Math.PI / 2 Radiant.

Um ein Segment als Prozentsatz eines ganzen Kreises in Bogenmaß zu erhalten:

function getSegment(percent:Number):Number {
    return Math.PI * 2 * percent;
}

var tenth:Number = getSegment(0.1); // One tenth of a circle in radians.

Einen Punkt entlang eines Winkels verschieben

Angenommen, Sie haben den Winkel, den Sie verschieben möchten, und ein Objekt mit x und y Werten, die Sie verschieben möchten:

var position:Point = new Point(10, 10);
var angle:Number = 1.25;

Sie können sich mit Math.cos entlang der x Achse Math.cos :

position.x += Math.cos(angle);

Und die y Achse mit Math.sin :

position.y += Math.sin(angle);

Sie können das Ergebnis von Math.cos und Math.sin mit der Entfernung multiplizieren, die Sie zurücklegen möchten:

var distance:int = 20;

position.x += Math.cos(angle) * distance;
position.y += Math.sin(angle) * distance;

Hinweis: Der Eingabewinkel muss im Bogenmaß liegen.

Stellen Sie fest, ob sich ein Punkt innerhalb eines Rechteckbereichs befindet

Sie können mit Rectangle.containsPoint() testen, ob sich ein Punkt innerhalb eines Rechtecks ​​befindet:

var point:Point = new Point(5, 5);
var rectangle:Rectangle = new Rectangle(0, 0, 10, 10);

var contains:Boolean = rectangle.containsPoint(point); // true


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow