Class MathUtils
Provides math-related utility functions.
public static class MathUtils
- Inheritance
-
objectMathUtils
Methods
Clamp(double, double, double)
Makes a value stay within a certain range.
[Pure]
public static double Clamp(this double value, double min = 0, double max = 1)
Parameters
value
doubleThe number to clamp.
min
doubleThe minimum number to return.
max
doubleThe maximum number to return.
Returns
- double
The
value
if it was in range, otherwisemin
ormax
.
Clamp(int, int, int)
Makes a value stay within a certain range.
[Pure]
public static int Clamp(this int value, int min = 0, int max = 1)
Parameters
value
intThe number to clamp.
min
intThe minimum number to return.
max
intThe maximum number to return.
Returns
- int
The
value
if it was in range, otherwisemin
ormax
.
Clamp(long, long, long)
Makes a value stay within a certain range.
[Pure]
public static long Clamp(this long value, long min = 0, long max = 1)
Parameters
value
longThe number to clamp.
min
longThe minimum number to return.
max
longThe maximum number to return.
Returns
- long
The
value
if it was in range, otherwisemin
ormax
.
Clamp(float, float, float)
Makes a value stay within a certain range.
[Pure]
public static float Clamp(this float value, float min = 0, float max = 1)
Parameters
value
floatThe number to clamp.
min
floatThe minimum number to return.
max
floatThe maximum number to return.
Returns
- float
The
value
if it was in range, otherwisemin
ormax
.
DegreeToRadian(double)
Converts an angle in degrees to radians.
[Pure]
public static double DegreeToRadian(this double value)
Parameters
value
doubleThe angle in degrees.
Returns
- double
The angle in radians.
DegreeToRadian(float)
Converts an angle in degrees to radians.
[Pure]
public static float DegreeToRadian(this float value)
Parameters
value
floatThe angle in degrees.
Returns
- float
The angle in radians.
EqualsTolerance(double, double, double)
Compares two floating-point values for equality, allowing for a certain tolerance
.
[Pure]
public static bool EqualsTolerance(this double a, double b, double tolerance = 1E-05)
Parameters
a
doubleb
doubletolerance
double
Returns
- bool
EqualsTolerance(float, float, float)
Compares two floating-point values for equality, allowing for a certain tolerance
.
[Pure]
public static bool EqualsTolerance(this float a, float b, float tolerance = 1E-05)
Parameters
a
floatb
floattolerance
float
Returns
- bool
GaussKernel(double, int)
Generates a Gaussian kernel.
[Pure]
public static double[] GaussKernel(double sigma, int kernelSize)
Parameters
sigma
doubleThe standard deviation of the Gaussian distribution.
kernelSize
intThe size of the kernel. Should be an uneven number.
Returns
- double[]
InterpolateTrigonometric(double, params double[])
Performs smooth (trigonometric) interpolation between two or more values.
[Pure]
public static double InterpolateTrigonometric(double factor, params double[] values)
Parameters
factor
doubleA factor between 0 and
values
.Length.values
double[]The value checkpoints.
Returns
- double
InterpolateTrigonometric(float, params float[])
Performs smooth (trigonometric) interpolation between two or more values.
[Pure]
public static float InterpolateTrigonometric(this float factor, params float[] values)
Parameters
factor
floatA factor between 0 and
values
.Length.values
float[]The value checkpoints.
Returns
- float
Modulo(double, double)
Calculates the mathematical modulo of a value.
[Pure]
public static double Modulo(this double value, double modulo)
Parameters
value
doublemodulo
double
Returns
- double
Modulo(int, int)
Calculates the mathematical modulo of a value.
[Pure]
public static int Modulo(this int value, int modulo)
Parameters
value
intmodulo
int
Returns
- int
Modulo(long, long)
Calculates the mathematical modulo of a value.
[Pure]
public static long Modulo(this long value, long modulo)
Parameters
value
longmodulo
long
Returns
- long
Modulo(float, float)
Calculates the mathematical modulo of a value.
[Pure]
public static float Modulo(this float value, float modulo)
Parameters
value
floatmodulo
float
Returns
- float
MultiplyAndRound(Size, SizeF)
Multiplies a System.Drawing.Size with a System.Drawing.SizeF and then rounds the components to integer values.
[Pure]
public static Size MultiplyAndRound(this Size size, SizeF factor)
Parameters
size
Sizefactor
SizeF
Returns
- Size
RadianToDegree(double)
Converts an angle in radians to degrees.
[Pure]
public static double RadianToDegree(this double value)
Parameters
value
doubleThe angle in radians.
Returns
- double
The angle in degrees.
RadianToDegree(float)
Converts an angle in radians to degrees.
[Pure]
public static float RadianToDegree(this float value)
Parameters
value
floatThe angle in radians.
Returns
- float
The angle in degrees.