수색…


두 점 사이의 각도 구하기

바닐라 수학 사용 :

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);

처음 두 개 사이의 차이를 나타내는 새 벡터 사용 :

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

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

참고 : atan2() 는 각도가 아닌 라디안을 반환합니다.

두 점 사이의 거리 구하기

바닐라 수학 사용 :

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);

Point inbuilt 기능 사용 :

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

라디안을도 단위로 변환

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

도를 라디안으로 변환

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

도 및 라디안 단위의 원 값

  • 전체 원은 360 도 또는 Math.PI * 2 라디안입니다.
  • 이 값의 절반은 180 도 또는 Math.PI 라디안입니다.
  • 다음 분기는 90 도 또는 Math.PI / 2 라디안입니다.

세그먼트를 라디안 단위로 전체 원의 비율로 표시하려면 다음을 수행하십시오.

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

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

점을 따라 점 이동하기

이동하려는 각도와 이동하려는 xy 값을 가진 객체가 있다고 가정합니다.

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

Math.cos 를 사용하여 x 축을 따라 이동할 수 있습니다.

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

그리고 Math.sin 가진 y 축 :

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

물론 Math.cosMath.sin 의 결과에 여행하려는 거리를 곱할 수 있습니다.

var distance:int = 20;

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

참고 : 입력 각도는 라디안이어야합니다.

점이 사각형 영역 안에 있는지 확인합니다.

Rectangle.containsPoint() 사용하여 점이 사각형 안에 있는지 테스트 할 수 있습니다.

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
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow