diff --git a/Source/OpenTK/Math/Vector3.cs b/Source/OpenTK/Math/Vector3.cs index 6c5f25a8..fede0363 100644 --- a/Source/OpenTK/Math/Vector3.cs +++ b/Source/OpenTK/Math/Vector3.cs @@ -896,6 +896,18 @@ namespace OpenTK.Math return (float)System.Math.Acos((Vector3.Dot(first, second)) / (first.Length * second.Length)); } + /// Calculates the angle (in radians) between two vectors. + /// The first vector. + /// The second vector. + /// Angle (in radians) between the vectors. + /// Note that the returned angle is never bigger than the constant Pi. + public static void CalculateAngle( ref Vector3 first, ref Vector3 second, out float result ) + { + float temp; + Vector3.Dot( ref first, ref second, out temp ); + result = (float)System.Math.Acos( temp / ( first.Length * second.Length ) ); + } + #endregion #endregion diff --git a/Source/OpenTK/Math/Vector3d.cs b/Source/OpenTK/Math/Vector3d.cs index 3e9f40dc..691c2383 100644 Binary files a/Source/OpenTK/Math/Vector3d.cs and b/Source/OpenTK/Math/Vector3d.cs differ