此招必學!尤其是做2D遊戲的開發人員。
判斷一個二維向量是在另一個二維向量的左邊還是右邊。
Cross的效率會比atan2好。
C#範例
public static class Utility
{
public static float Cross(this Vector2 lhs, Vector2 rhs)
{
return lhs.x * rhs.y - lhs.y * rhs.x;
}
}
使用擴充方法來擴充Vector2,方便使用。
使用範例
if (Input.mousePosition.Cross(lastPosition) > 0F)
{
// do something...
}
來源
http://allenchou.net/2013/07/cross-product-of-2d-vectors/