3#include <Infinity/api.h>
4#include <Infinity/Types/Math/Vector.hpp>
11 constexpr float PI = 3.14159265358979323846f;
12 constexpr float TWO_PI = 6.28318530717958647692f;
13 constexpr float HALF_PI = 1.57079632679489661923f;
14 constexpr float INV_PI = 0.31830988618379067154f;
16 constexpr double PI_D = 3.14159265358979323846;
17 constexpr double TWO_PI_D = 6.28318530717958647692;
18 constexpr double HALF_PI_D = 1.57079632679489661923;
19 constexpr double INV_PI_D = 0.31830988618379067154;
73 angle = std::fmod(angle +
PI,
TWO_PI);
101 angle = std::fmod(angle + 180.0f, 360.0f);
104 return angle - 180.0f;
115 angle = std::fmod(angle + 180.0, 360.0);
118 return angle - 180.0;
232 float INFINITY_API_PUBLIC
smoothstep(
float s1,
float s2,
float val);
Quaternion INFINITY_API_PUBLIC eulerToQuat(Vector3 euler)
Converts Euler angles to a quaternion.
constexpr float TWO_PI
Definition Math.hpp:12
constexpr float INV_PI
Definition Math.hpp:14
constexpr double INV_PI_D
Definition Math.hpp:19
float INFINITY_API_PUBLIC smoothstep(float s1, float s2, float val)
Smooth Hermite interpolation between two values.
constexpr float degrees(float radians)
Converts radians to degrees (float).
Definition Math.hpp:49
Vector3 INFINITY_API_PUBLIC mix(const Vector3 &a, const Vector3 &b, float t)
Linear interpolation between two 3D vectors (alias for lerp).
constexpr double HALF_PI_D
Definition Math.hpp:18
float normalizeAngle(float angle)
Normalizes an angle in radians to the range [-PI, PI].
Definition Math.hpp:71
constexpr float radians(float degrees)
Converts degrees to radians (float).
Definition Math.hpp:27
Vector3 INFINITY_API_PUBLIC lerp(const Vector3 &a, const Vector3 &b, float t)
Linear interpolation between two 3D vectors.
float normalizeAngleDegrees(float angle)
Normalizes an angle in degrees to the range [-180, 180].
Definition Math.hpp:99
constexpr double PI_D
Definition Math.hpp:16
constexpr double TWO_PI_D
Definition Math.hpp:17
constexpr float HALF_PI
Definition Math.hpp:13
constexpr float PI
Mathematical constants.
Definition Math.hpp:11
Vector3 INFINITY_API_PUBLIC quatToEuler(Quaternion quat)
Converts a quaternion to Euler angles.
Template structure representing a 3-component vector.
Definition Vector3.hpp:82
Template structure representing a 4-component vector.
Definition Vector4.hpp:85