From 4b4abaab012c00982098d6207c0957ddf4dbc601 Mon Sep 17 00:00:00 2001 From: cosmonaut Date: Tue, 5 Apr 2022 16:06:34 -0700 Subject: [PATCH] fix AABB2D transform method --- src/Collision/AABB2D.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Collision/AABB2D.cs b/src/Collision/AABB2D.cs index 1822187..5f3f932 100644 --- a/src/Collision/AABB2D.cs +++ b/src/Collision/AABB2D.cs @@ -68,10 +68,13 @@ namespace MoonWorks.Collision /// public static AABB2D Transformed(AABB2D aabb, Transform2D transform) { - return new AABB2D( - Vector2.Transform(aabb.Min, transform.TransformMatrix), - Vector2.Transform(aabb.Max, transform.TransformMatrix) - ); + var center = (aabb.Min + aabb.Max) / 2f; + var extent = (aabb.Max - aabb.Min) / 2f; + + var newCenter = Vector2.Transform(center, transform.TransformMatrix); + var newExtent = Vector2.TransformNormal(extent, AbsoluteMatrix(transform.TransformMatrix)); + + return new AABB2D(newCenter - newExtent, newCenter + newExtent); } ///