답변:
2D 벡터를 다른 2D 벡터에 수직으로 가져 오려면 단순히 X
및 Y
구성 요소를 바꾸고 새 Y
구성 요소를 무시하십시오 . 이렇게 { x, y }
됩니다 { y, -x }
.
필자는 필요할 때이 작업을 수행하는 방법을 항상 잊어서 몇 가지 확장 방법을 작성했습니다.
public static Vector2 PerpendicularClockwise(this Vector2 vector2)
{
return new Vector2(vector2.Y, -vector2.X);
}
public static Vector2 PerpendicularCounterClockwise(this Vector2 vector2)
{
return new Vector2(-vector2.Y, vector2.X);
}
그리고 단위 테스트
[Test]
public void Vector2_Perpendicular_Test()
{
var a = new Vector2(5, -10);
var b = a.PerpendicularClockwise();
var c = a.PerpendicularCounterClockwise();
Assert.AreEqual(new Vector2(-10, -5), b);
Assert.AreEqual(new Vector2(10, 5), c);
}