Dart Documentationbox2dMathBox

MathBox class

class MathBox {
 static const double TWO_PI = Math.PI * 2.0;

 MathBox();

 /**
  * Return the distance between the two given vectors, but squared.
  */
 static num distanceSquared(Vector v1, Vector v2) {
   num dx = (v1.x - v2.x);
   num dy = (v1.y - v2.y);
   return dx * dx + dy * dy;
 }

 /**
  * Return the distance between the two given vectors.
  */
 static num distance(Vector v1, Vector v2) {
   return Math.sqrt(distanceSquared(v1, v2));
 }

 /** Returns the closest value to [a] that is in between [low] and [high] */
 static num clamp(num a, num low, num high) {
   return Math.max(low, Math.min(a, high));
 }

 /**
  * Given a value within the range specified by [fromMin] and [fromMax],
  * returns a value with the same relative position in the range specified
  * from [toMin] and [toMax]. For example, given a [val] of 2 in the
  * "from range" of 0-4, and a "to range" of 10-20, would return 15.
  */
 static num translateAndScale(num val, num fromMin, num fromMax, num toMin,
     num toMax) {
   final num mult = (val - fromMin) / (fromMax - fromMin);
   final num res = toMin + mult * (toMax - toMin);
   return res;
 }

 /** Convert from [deg] degrees to radians. */
 static num degToRad(num deg) => (Math.PI / 180.0) * deg;
 /** Convert from [rad] radians to degrees. */
 static num radToDeg(num rad) => (180.0 / Math.PI) * rad;
}

Static Properties

const double TWO_PI #

static const double TWO_PI = Math.PI * 2.0

Static Methods

num distanceSquared(Vector v1, Vector v2) #

Return the distance between the two given vectors, but squared.

static num distanceSquared(Vector v1, Vector v2) {
 num dx = (v1.x - v2.x);
 num dy = (v1.y - v2.y);
 return dx * dx + dy * dy;
}

num distance(Vector v1, Vector v2) #

Return the distance between the two given vectors.

static num distance(Vector v1, Vector v2) {
 return Math.sqrt(distanceSquared(v1, v2));
}

num clamp(num a, num low, num high) #

Returns the closest value to a that is in between low and high

static num clamp(num a, num low, num high) {
 return Math.max(low, Math.min(a, high));
}

num translateAndScale(num val, num fromMin, num fromMax, num toMin, num toMax) #

Given a value within the range specified by fromMin and fromMax, returns a value with the same relative position in the range specified from toMin and toMax. For example, given a val of 2 in the "from range" of 0-4, and a "to range" of 10-20, would return 15.

static num translateAndScale(num val, num fromMin, num fromMax, num toMin,
   num toMax) {
 final num mult = (val - fromMin) / (fromMax - fromMin);
 final num res = toMin + mult * (toMax - toMin);
 return res;
}

num degToRad(num deg) #

Convert from deg degrees to radians.

static num degToRad(num deg) => (Math.PI / 180.0) * deg;

num radToDeg(num rad) #

Convert from rad radians to degrees.

static num radToDeg(num rad) => (180.0 / Math.PI) * rad;

Constructors

new MathBox() #

MathBox();