Class MathUtils

java.lang.Object
org.jbox2d.common.MathUtils

public class MathUtils extends Object
A few math methods that don't fit very well anywhere else.
Author:
Daniel Murphy
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final float
    Degrees to radians conversion factor
    static final float
     
    static final float
     
    static final float
     
    static final float
     
    static final float
    Radians to degrees conversion factor
    static final float[]
     
    static final float
     
    static final float
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    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
     
    static float
    fastAbs(float x)
     
    static float
    fastAtan2(float y, float x)
     
    static int
    fastCeil(float x)
     
    static int
    fastFloor(float x)
     
    static float
    fastPow(float a, float b)
     
    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
    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
    pow(float a, float b)
     
    static float
    randomFloat(float argLow, float argHigh)
     
    static float
    randomFloat(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
  • Field Details

  • Constructor Details

    • MathUtils

      public MathUtils()
  • Method Details

    • sin

      public static float sin(float x)
    • sinLUT

      public static float sinLUT(float x)
    • cos

      public static float cos(float x)
    • abs

      public static float abs(float x)
    • fastAbs

      public static float fastAbs(float x)
    • abs

      public static int abs(int x)
    • floor

      public static int floor(float x)
    • fastFloor

      public static int fastFloor(float x)
    • ceil

      public static int ceil(float x)
    • fastCeil

      public static int fastCeil(float x)
    • round

      public static int round(float x)
    • ceilPowerOf2

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

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

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

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

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

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

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

      public static Vec2 clamp(Vec2 a, Vec2 low, Vec2 high)
    • clampToOut

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

      public 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. 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 boolean isPowerOfTwo(int x)
    • pow

      public static float pow(float a, float b)
    • atan2

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

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

      public static float reduceAngle(float theta)
    • randomFloat

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

      public static float randomFloat(Random r, float argLow, float argHigh)
    • sqrt

      public static float sqrt(float x)
    • distanceSquared

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

      public static float distance(Vec2 v1, Vec2 v2)
    • fastPow

      public static float fastPow(float a, float b)