Add UnitDirection & Goldenratio

Additional simplification
This commit is contained in:
W2Wizard
2021-04-19 15:37:39 +02:00
parent 0d422ec169
commit 4e01d110a1
3 changed files with 27 additions and 4 deletions

View File

@@ -13,6 +13,7 @@
#define PI_OVER_2 1.57079632679f
#define PI_OVER_4 0.78539816339f
#define PI_HALF PI_OVER_2
#define GOLDEN_RATIO 1.6180339887f
// The value for which all absolute numbers smaller than are considered equal to zero.
#define ZeroTolerance 1e-6f
@@ -648,9 +649,9 @@ namespace Math
{
float delta = a2 - a1;
if (delta > PI)
delta = delta - PI * 2.0f;
delta = delta - TWO_PI;
else if (delta < -PI)
delta = delta + PI * 2.0f;
delta = delta + TWO_PI;
return delta;
}
@@ -658,9 +659,9 @@ namespace Math
static float UnwindRadians(float a)
{
while (a > PI)
a -= (float)PI * 2.0f;
a -= TWO_PI;
while (a < -PI)
a += (float)PI * 2.0f;
a += TWO_PI;
return a;
}

View File

@@ -1245,6 +1245,17 @@ namespace FlaxEngine
return new Vector3(Math.Abs(v.X), Math.Abs(v.Y), Math.Abs(v.Z));
}
/// <summary>
/// Given two points, will return the unit direction.
/// </summary>
/// <param name="a">The start position.</param>
/// <param name="b">The target position.</param>
/// <returns>The unit direction from a to b.</returns>
public static Vector3 UnitDirection(Vector3 a, Vector3 b)
{
return (b - a).Normalized;
}
/// <summary>
/// Projects a vector onto another vector.
/// </summary>

View File

@@ -901,6 +901,17 @@ public:
/// <param name="v2">The third triangle vertex.</param>
/// <returns>The triangle area.</returns>
static float TriangleArea(const Vector3& v0, const Vector3& v1, const Vector3& v2);
/// <summary>
/// Given two points, will return the unit direction.
/// </summary>
/// <param name="a">The start position.</param>
/// <param name="b">The target position.</param>
/// <returns>The unit direction from a to b.</returns>
static Vector3 UnitDirection(const Vector3& a, const Vector3& b)
{
return (b - a).GetNormalized();
}
};
inline Vector3 operator+(float a, const Vector3& b)