Package snap.util
Class MathUtils
java.lang.Object
snap.util.MathUtils
Utility methods for common math operations.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic Number
Returns the sum of the two given Numbers.static boolean
between
(double a, double x, double y) Returns whether a real number is between two other numbers.static double
ceil
(double x, double y) Truncate x up to the nearest y.static double
clamp
(double f) Returns the given float clamped to 1/1000th precision.static double
clamp
(double f, double min, double max) Returns the given double clamped between the two values.static int
clamp
(int i, int min, int max) Returns the given in clamped between the two values.static double
clamp_doubleback
(double a, double x, double y) Returns the given double clamped between the two values.static double
clamp_wrap
(double a, double x, double y) Returns the given double clamped between the two values (wraps around if out of range).static int
clamp_wrap
(int a, int x, int y) Returns the given double clamped between the two values (wraps around if out of range).static double
cos
(double anAngle) Returns the cos of the given angle in degrees.static Number
Returns the result of dividing n1 by n2.static boolean
equals
(double a, double b) Returns whether two real numbers are equal within a small tolerance.static boolean
equals
(double a, double b, double aTolerance) Returns whether two real numbers are equal within given tolerance (e.g., 1e-12)static boolean
equalsZero
(double a) Returns whether a real number is practically zero.static boolean
equalsZero
(double a, double aTolerance) Returns whether a real number is practically zero.static double
floor
(double x, double y) Truncate x down to the nearest y.static boolean
gt
(double a, double b) Returns whether a real number is practically greater than another.static boolean
gte
(double a, double b) Returns whether a real number is practically greater than or equal another.static boolean
lt
(double a, double b) Returns whether a real number is practically less than another.static boolean
lte
(double a, double b) Returns whether a real number is practically less than or equal another.static double
mapFractionalToRangeValue
(double aValue, double aMin, double aMax) Returns the given fractional value expressed in range 0 to 1 mapped to given range (min/max).static double
mapRangeValueToFractional
(double aValue, double aMin, double aMax) Returns the given value expressed in given range (min/max) mapped to unit range (0 - 1).static double
mapValueForRanges
(double aValue, double min1, double max1, double min2, double max2) Returns the given double expressed in the first given range (min/max) as its relative value in second range.static double
mod
(double x, double y) Returns the given number modulo the second number (mod for floats).static Number
Returns the product of the two given Numbers.static Number
Returns the negative of the given Number.static double
randomDoubleForMax
(double aMax) Returns a random double value between zero and given max.static double
randomDoubleForRange
(double aMin, double aMax) Returns a random double value for given range.static int
Returns a random int.static double
randomIntForMax
(double aMax) Returns a random int value between zero and given max.static int
randomIntForRange
(double aMin, double aMax) Returns a random int value for given range.static double
round
(double x, double y) Returns the given number rounded to the second number (rounding to arbitrary double values).static float
round
(float x, float y) Returns the given number rounded to the second number (rounding to arbitrary floating values).static int
sign
(double f) Returns the sign of a given number (as -1 or 1).static double
sin
(double anAngle) Returns the sign of the given angle in degrees.static Number
Returns the difference of the two given Numbers.static double
trunc
(double x, double y) Truncate x down to the nearest y.
-
Constructor Details
-
MathUtils
public MathUtils()
-
-
Method Details
-
equals
public static boolean equals(double a, double b) Returns whether two real numbers are equal within a small tolerance. -
equals
public static boolean equals(double a, double b, double aTolerance) Returns whether two real numbers are equal within given tolerance (e.g., 1e-12) -
equalsZero
public static boolean equalsZero(double a) Returns whether a real number is practically zero. -
equalsZero
public static boolean equalsZero(double a, double aTolerance) Returns whether a real number is practically zero. -
gt
public static boolean gt(double a, double b) Returns whether a real number is practically greater than another. -
gte
public static boolean gte(double a, double b) Returns whether a real number is practically greater than or equal another. -
lt
public static boolean lt(double a, double b) Returns whether a real number is practically less than another. -
lte
public static boolean lte(double a, double b) Returns whether a real number is practically less than or equal another. -
between
public static boolean between(double a, double x, double y) Returns whether a real number is between two other numbers. -
sign
public static int sign(double f) Returns the sign of a given number (as -1 or 1). -
mod
public static double mod(double x, double y) Returns the given number modulo the second number (mod for floats). -
round
public static float round(float x, float y) Returns the given number rounded to the second number (rounding to arbitrary floating values). -
round
public static double round(double x, double y) Returns the given number rounded to the second number (rounding to arbitrary double values). -
trunc
public static double trunc(double x, double y) Truncate x down to the nearest y. -
floor
public static double floor(double x, double y) Truncate x down to the nearest y. -
ceil
public static double ceil(double x, double y) Truncate x up to the nearest y. -
clamp
public static double clamp(double f) Returns the given float clamped to 1/1000th precision. -
clamp
public static int clamp(int i, int min, int max) Returns the given in clamped between the two values. -
clamp
public static double clamp(double f, double min, double max) Returns the given double clamped between the two values. -
clamp_wrap
public static int clamp_wrap(int a, int x, int y) Returns the given double clamped between the two values (wraps around if out of range). -
clamp_wrap
public static double clamp_wrap(double a, double x, double y) Returns the given double clamped between the two values (wraps around if out of range). -
clamp_doubleback
public static double clamp_doubleback(double a, double x, double y) Returns the given double clamped between the two values. -
mapFractionalToRangeValue
public static double mapFractionalToRangeValue(double aValue, double aMin, double aMax) Returns the given fractional value expressed in range 0 to 1 mapped to given range (min/max). -
mapRangeValueToFractional
public static double mapRangeValueToFractional(double aValue, double aMin, double aMax) Returns the given value expressed in given range (min/max) mapped to unit range (0 - 1). -
mapValueForRanges
public static double mapValueForRanges(double aValue, double min1, double max1, double min2, double max2) Returns the given double expressed in the first given range (min/max) as its relative value in second range. -
negate
Returns the negative of the given Number. -
add
Returns the sum of the two given Numbers. -
subtract
Returns the difference of the two given Numbers. -
multiply
Returns the product of the two given Numbers. -
divide
Returns the result of dividing n1 by n2. -
sin
public static double sin(double anAngle) Returns the sign of the given angle in degrees. -
cos
public static double cos(double anAngle) Returns the cos of the given angle in degrees. -
randomInt
public static int randomInt()Returns a random int. -
randomIntForMax
public static double randomIntForMax(double aMax) Returns a random int value between zero and given max. -
randomDoubleForMax
public static double randomDoubleForMax(double aMax) Returns a random double value between zero and given max. -
randomIntForRange
public static int randomIntForRange(double aMin, double aMax) Returns a random int value for given range. -
randomDoubleForRange
public static double randomDoubleForRange(double aMin, double aMax) Returns a random double value for given range.
-