From 40e73f6b8e4e2f3c7fd9cde2dcdad0ac4d426c28 Mon Sep 17 00:00:00 2001 From: Syntriax Date: Mon, 22 Jan 2024 12:41:48 +0300 Subject: [PATCH] feat: FromTo Method for Vector2D --- Game/Physics2D/Primitives/Vector2D.cs | 2 ++ Game/Physics2D/Primitives/Vector2DExtensions.cs | 1 + 2 files changed, 3 insertions(+) diff --git a/Game/Physics2D/Primitives/Vector2D.cs b/Game/Physics2D/Primitives/Vector2D.cs index ece82f3..b10fad9 100644 --- a/Game/Physics2D/Primitives/Vector2D.cs +++ b/Game/Physics2D/Primitives/Vector2D.cs @@ -13,6 +13,8 @@ public record Vector2D(float X, float Y) public static float LengthSqr(Vector2D point) => point.X * point.X + point.Y * point.Y; public static Vector2D Normalize(Vector2D point) => point / Length(point); + public static Vector2D FromTo(Vector2D from, Vector2D to) => to - from; + public static float Cross(Vector2D left, Vector2D right) => left.X * right.Y - left.Y * right.X; public static float Angle(Vector2D left, Vector2D right) => MathF.Acos(Dot(left, right) / (Length(left) * Length(right))); public static float Dot(Vector2D left, Vector2D right) => left.X * right.X + left.Y * right.Y; diff --git a/Game/Physics2D/Primitives/Vector2DExtensions.cs b/Game/Physics2D/Primitives/Vector2DExtensions.cs index c9dae37..9620c64 100644 --- a/Game/Physics2D/Primitives/Vector2DExtensions.cs +++ b/Game/Physics2D/Primitives/Vector2DExtensions.cs @@ -6,6 +6,7 @@ public static class Vector2DExtensions public static float LengthSqr(this Vector2D point) => Vector2D.LengthSqr(point); public static Vector2D Normalize(this Vector2D point) => Vector2D.Normalize(point); + public static Vector2D FromTo(this Vector2D from, Vector2D to) => Vector2D.FromTo(from, to); public static float Cross(this Vector2D left, Vector2D right) => Vector2D.Cross(left, right); public static float AngleBetween(this Vector2D left, Vector2D right) => Vector2D.Angle(left, right);