# MathHelper¶

class `MathHelper` : System.Object

Contains commonly used precalculated values and mathematical operations.

float `E`

Represents the mathematical constant e(2.71828175).

float `Log10E`

Represents the log base ten of e(0.4342945).

float `Log2E`

Represents the log base two of e(1.442695).

float `Pi`

Represents the value of pi(3.14159274).

float `PiOver2`

Represents the value of pi divided by two(1.57079637).

float `PiOver4`

Represents the value of pi divided by four(0.7853982).

float `TwoPi`

Represents the value of pi times two(6.28318548).

public float `Barycentric`(float value1, float value2, float value3, float amount1, float amount2)

Returns the Cartesian coordinate for one axis of a point that is defined by a given triangle and two normalized barycentric (areal) coordinates.

Parameters: value1 (float) – The coordinate on one axis of vertex 1 of the defining triangle. value2 (float) – The coordinate on the same axis of vertex 2 of the defining triangle. value3 (float) – The coordinate on the same axis of vertex 3 of the defining triangle. amount1 (float) – The normalized barycentric (areal) coordinate b2, equal to the weighting factor for vertex 2, the coordinate of which is specified in value2. amount2 (float) – The normalized barycentric (areal) coordinate b3, equal to the weighting factor for vertex 3, the coordinate of which is specified in value3. Cartesian coordinate of the specified point with respect to the axis being used.
public float `CatmullRom`(float value1, float value2, float value3, float value4, float amount)

Performs a Catmull-Rom interpolation using the specified positions.

Parameters: value1 (float) – The first position in the interpolation. value2 (float) – The second position in the interpolation. value3 (float) – The third position in the interpolation. value4 (float) – The fourth position in the interpolation. amount (float) – Weighting factor. A position that is the result of the Catmull-Rom interpolation.
public float `Clamp`(float value, float min, float max)

Restricts a value to be within a specified range.

Parameters: value (float) – The value to clamp. min (float) – The minimum value. If value is less than min, min will be returned. max (float) – The maximum value. If value is greater than max, max will be returned. The clamped value.
public int `Clamp`(int value, int min, int max)

Restricts a value to be within a specified range.

Parameters: value (int) – The value to clamp. min (int) – The minimum value. If value is less than min, min will be returned. max (int) – The maximum value. If value is greater than max, max will be returned. The clamped value.
public float `Distance`(float value1, float value2)

Calculates the absolute value of the difference of two values.

Parameters: value1 (float) – Source value. value2 (float) – Source value. Distance between the two values.
public float `Hermite`(float value1, float tangent1, float value2, float tangent2, float amount)

Performs a Hermite spline interpolation.

Parameters: value1 (float) – Source position. tangent1 (float) – Source tangent. value2 (float) – Source position. tangent2 (float) – Source tangent. amount (float) – Weighting factor. The result of the Hermite spline interpolation.
public float `Lerp`(float value1, float value2, float amount)

Linearly interpolates between two values.

Parameters: value1 (float) – Source value. value2 (float) – Destination value. amount (float) – Value between 0 and 1 indicating the weight of value2. Interpolated value.
public float `LerpPrecise`(float value1, float value2, float amount)

Linearly interpolates between two values. This method is a less efficient, more precise version of M:Microsoft.Xna.Framework.MathHelper.Lerp(System.Single,System.Single,System.Single). See remarks for more info.

Parameters: value1 (float) – Source value. value2 (float) – Destination value. amount (float) – Value between 0 and 1 indicating the weight of value2. Interpolated value.
public float `Max`(float value1, float value2)

Returns the greater of two values.

Parameters: value1 (float) – Source value. value2 (float) – Source value. The greater value.
public int `Max`(int value1, int value2)

Returns the greater of two values.

Parameters: value1 (int) – Source value. value2 (int) – Source value. The greater value.
public float `Min`(float value1, float value2)

Returns the lesser of two values.

Parameters: value1 (float) – Source value. value2 (float) – Source value. The lesser value.
public int `Min`(int value1, int value2)

Returns the lesser of two values.

Parameters: value1 (int) – Source value. value2 (int) – Source value. The lesser value.
public float `SmoothStep`(float value1, float value2, float amount)

Interpolates between two values using a cubic equation.

Parameters: value1 (float) – Source value. value2 (float) – Source value. amount (float) – Weighting value. Interpolated value.
public float `ToDegrees`(float radians)

Parameters: radians (float) – The angle in radians. The angle in degrees.
public float `ToRadians`(float degrees)

public float `WrapAngle`(float angle)
public bool `IsPowerOfTwo`(int value)