API Docs for: 2.5.3
Show:

File: src/Helpers/math.js

/**
	Extension of 'Math' class
	
	@class Math
**/

/**
	Calculates the Euclidean distance between two points

		var a = [1, 2, 3];
		var b = [3, 0, -2];
	
		var c = Math.distance(a, b);

		// c ==> 5.744562646538029

	@method distance
	@for Math

	@param {Array} a An n-dimensional point represented by an array
	@param {Array} b An n-dimensional point represented by an array
	
	@return {Number} Euclidean distance between a and b
**/
Math.distance = function(a, b) {
	return Math.size(b.map(function(c, idx) {
		return b[idx] - a[idx];
	}));
};

/**
	Calculates the magnitude of a vector

		var a = [1, 2, 3];
			
		var c = Math.size(a);

		// c ==> 3.7416573867739413

	@method size
	@for Math

	@param {Array} a An n-dimensional point represented by an array
	
	@return {Number} The magnitude of a
**/
Math.size = function(a) {
	var sum = 0;

	for (var i = 0, l = a.length; i < l; i++) {
		sum += a[i] * a[i];
	}

	return Math.sqrt(sum);
};

/**
	Calculates the angle from a to b in radians

		var a = [3, 0];
		var b = [1, 2];

		var c = Math.arg(a, b);

		// c ==> 2.356194490192345

	@method arg
	@for Math

	@param {Array} a An 2-dimensional point represented by an array
	@param {Array} b An 2-dimensional point represented by an array
	
	@return {Number} Angle from a to b in radians
**/
Math.arg = function(a, b) {
	return Math.atan2(b[1] - a[1], b[0] - a[0]);
};