Class MathUtils


  • public class MathUtils
    extends PlatformMathUtils
    A few math methods that don't fit very well anywhere else.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static float DEG2RAD
      Degrees to radians conversion factor
      static float HALF_PI  
      static float INV_PI  
      static float PI  
      static float QUARTER_PI  
      static float RAD2DEG
      Radians to degrees conversion factor
      static float[] sinLUT  
      static float THREE_HALVES_PI  
      static float TWOPI  
    • Constructor Summary

      Constructors 
      Constructor Description
      MathUtils()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static float abs​(float x)  
      static int abs​(int x)  
      static float atan2​(float y, float x)  
      static int ceil​(float x)  
      static int ceilPowerOf2​(int x)
      Rounds up the value to the nearest higher power^2 value.
      static float clamp​(float a, float low, float high)
      Returns the closest value to 'a' that is in between 'low' and 'high'
      static Vec2 clamp​(Vec2 a, Vec2 low, Vec2 high)  
      static void clampToOut​(Vec2 a, Vec2 low, Vec2 high, Vec2 dest)  
      static float cos​(float x)  
      static float distance​(Vec2 v1, Vec2 v2)  
      static float distanceSquared​(Vec2 v1, Vec2 v2)  
      static float fastAtan2​(float y, float x)  
      static int floor​(float x)  
      static boolean isPowerOfTwo​(int x)  
      static float map​(float val, float fromMin, float fromMax, float toMin, float toMax)  
      static float max​(float a, float b)  
      static int max​(int a, int b)  
      static float min​(float a, float b)  
      static int min​(int a, int b)  
      static int nextPowerOfTwo​(int x)
      Next Largest Power of 2: Given a binary integer value x, the next largest power of 2 can be computed by a SWAR algorithm that recursively "folds" the upper bits into the lower bits.
      static float randomFloat​(float argLow, float argHigh)  
      static float randomFloat​(java.util.Random r, float argLow, float argHigh)  
      static float reduceAngle​(float theta)  
      static int round​(float x)  
      static float sin​(float x)  
      static float sinLUT​(float x)  
      static float sqrt​(float x)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MathUtils

        public MathUtils()
    • Method Detail

      • sin

        public static final float sin​(float x)
      • sinLUT

        public static final float sinLUT​(float x)
      • cos

        public static final float cos​(float x)
      • abs

        public static final float abs​(float x)
      • abs

        public static final int abs​(int x)
      • floor

        public static final int floor​(float x)
      • ceil

        public static final int ceil​(float x)
      • round

        public static final int round​(float x)
      • ceilPowerOf2

        public static final int ceilPowerOf2​(int x)
        Rounds up the value to the nearest higher power^2 value.
        Parameters:
        x -
        Returns:
        power^2 value
      • max

        public static final float max​(float a,
                                      float b)
      • max

        public static final int max​(int a,
                                    int b)
      • min

        public static final float min​(float a,
                                      float b)
      • min

        public static final int min​(int a,
                                    int b)
      • map

        public static final float map​(float val,
                                      float fromMin,
                                      float fromMax,
                                      float toMin,
                                      float toMax)
      • clamp

        public static final float clamp​(float a,
                                        float low,
                                        float high)
        Returns the closest value to 'a' that is in between 'low' and 'high'
      • clampToOut

        public static final void clampToOut​(Vec2 a,
                                            Vec2 low,
                                            Vec2 high,
                                            Vec2 dest)
      • nextPowerOfTwo

        public static final int nextPowerOfTwo​(int x)
        Next Largest Power of 2: Given a binary integer value x, the next largest power of 2 can be computed by a SWAR algorithm that recursively "folds" the upper bits into the lower bits. This process yields a bit vector with the same most significant 1 as x, but all 1's below it. Adding 1 to that value yields the next largest power of 2.
      • isPowerOfTwo

        public static final boolean isPowerOfTwo​(int x)
      • atan2

        public static final float atan2​(float y,
                                        float x)
      • fastAtan2

        public static final float fastAtan2​(float y,
                                            float x)
      • reduceAngle

        public static final float reduceAngle​(float theta)
      • randomFloat

        public static final float randomFloat​(float argLow,
                                              float argHigh)
      • randomFloat

        public static final float randomFloat​(java.util.Random r,
                                              float argLow,
                                              float argHigh)
      • sqrt

        public static final float sqrt​(float x)
      • distanceSquared

        public static final float distanceSquared​(Vec2 v1,
                                                  Vec2 v2)
      • distance

        public static final float distance​(Vec2 v1,
                                           Vec2 v2)