XScript Manual · Chapter 31

title: "MATH — math utilities" chapter: 31

MATH — math utilities

MATH gathers common math helpers — trig, distance, angle, comparison. Angle-based APIs use degrees by default.

Basic example

double x1 = 0.0;
double y1 = 0.0;
double x2 = 100.0;
double y2 = 100.0;
 
double dist = MATH.CalcDistance(x1, y1, x2, y2);
Log("DIST = {0}", dist);
 
double angle = MATH.CalcAngle(x1, y1, x2, y2);
Log("ANGLE = {0}", angle);
 
double a = 10.2;
double b = 9.3;
double min = MATH.Min(a, b);

Key methods

Trig (degrees)

SignatureDescription
double Sin(double deg)Sine
double Cos(double deg)Cosine
double Tan(double deg)Tangent
double Asin(double value) / Acos(double value) / Atan(double value)Inverse
double Atan2(double y, double x)Quadrant-aware atan

Basic math

SignatureDescription
double Abs(double value)Absolute value
double Sqrt(double value)Square root
double Pow(double base, double exp)Power
double Log10(double value) / Log(double value)Logarithm
double Exp(double value)Exponential
double Round(double value, int digits = 0)Round
double Ceiling(double value) / Floor(double value)Ceil / floor

Comparison / set

SignatureDescription
double Min(double a, double b) / Max(double a, double b)Min / max
double Clamp(double value, double min, double max)Clamp

Geometry

SignatureDescription
double CalcDistance(double x1, double y1, double x2, double y2)Euclidean distance
double CalcAngle(double x1, double y1, double x2, double y2)Angle (°)
double DegToRad(double deg) / RadToDeg(double rad)Convert units

Tips

  • Trig defaults to degrees — convert with DegToRad when needed.
  • Use Clamp for soft limits and speed caps to keep conditions tidy.
  • For float comparisons, prefer MATH.Abs(a - b) < eps over direct equality.