From 0b2fcff4eab4ae559311b675e370798788efa185 Mon Sep 17 00:00:00 2001 From: rkrahn Date: Thu, 15 Feb 2024 14:34:50 -0800 Subject: [PATCH] Fix NextUnitVector2 Fixed NextUnitVector2 method not producing a vector within a unit circle. --- Source/Engine/Utilities/Extensions.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Source/Engine/Utilities/Extensions.cs b/Source/Engine/Utilities/Extensions.cs index a1834624e..57eafc4a3 100644 --- a/Source/Engine/Utilities/Extensions.cs +++ b/Source/Engine/Utilities/Extensions.cs @@ -297,8 +297,9 @@ namespace FlaxEngine.Utilities /// A random . public static Vector2 NextUnitVector2(this Random random, float radius = 1.0f) { - var randomRadius = (float)random.NextDouble() * radius; - return new Vector2((float)Math.Cos(random.NextDouble()) * randomRadius, (float)Math.Sin(random.NextDouble()) * randomRadius); + float magnitude = (float)random.NextDouble() * radius; + double randomDegree = random.NextDouble() * 360; + return new Vector2((float)Math.Cos(randomDegree) * magnitude, (float)Math.Sin(randomDegree) * magnitude); } ///