39 lines
2.7 KiB
Plaintext
39 lines
2.7 KiB
Plaintext
var math = this
|
|
|
|
math.dot[cell.DOC] = "Compute the dot product between two numeric arrays, returning a scalar. Extra elements are ignored."
|
|
math.project[cell.DOC] = "Project one vector onto another, returning a new array of the same dimension."
|
|
math.rotate[cell.DOC] = "Rotate a 2D point (or array of length 2) by the given angle (in turns) around an optional pivot."
|
|
math.midpoint[cell.DOC] = "Compute the midpoint of two arrays of numbers. Only the first two entries are used if 2D is intended."
|
|
math.reflect[cell.DOC] = "Reflect a vector across a plane normal. Both arguments must be numeric arrays."
|
|
math.distance[cell.DOC] = "Compute the Euclidean distance between two numeric arrays of matching length."
|
|
math.direction[cell.DOC] = "Compute the normalized direction vector from the first array to the second."
|
|
math.angle[cell.DOC] = "Given a 2D vector, return its angle from the X-axis in radians or some chosen units."
|
|
math.norm[cell.DOC] = "Return a normalized copy of the given numeric array. For 2D/3D/4D or arbitrary length."
|
|
math.angle_between[cell.DOC] = "Compute the angle between two vectors (2D/3D/4D)."
|
|
math.lerp[cell.DOC] = "Linear interpolation between two numbers: lerp(a, b, t)."
|
|
math.gcd[cell.DOC] = "Compute the greatest common divisor of two integers."
|
|
math.lcm[cell.DOC] = "Compute the least common multiple of two integers."
|
|
math.clamp[cell.DOC] = "Clamp a number between low and high. clamp(value, low, high)."
|
|
math.angledist[cell.DOC] = "Compute the signed distance between two angles in 'turn' units, e.g. 0..1 range."
|
|
math.jitter[cell.DOC] = "Apply a random +/- percentage noise to a number. Example: jitter(100, 0.05) -> ~95..105."
|
|
math.mean[cell.DOC] = "Compute the arithmetic mean of an array of numbers."
|
|
math.sum[cell.DOC] = "Sum all elements of an array of numbers."
|
|
math.sigma[cell.DOC] = "Compute standard deviation of an array of numbers."
|
|
math.median[cell.DOC] = "Compute the median of an array of numbers."
|
|
math.length[cell.DOC] = "Return the length of a vector (i.e. sqrt of sum of squares)."
|
|
math.from_to[cell.DOC] = "Return an array of points from a start to an end, spaced out by a certain distance."
|
|
math.rand[cell.DOC] = "Return a random float in [0,1)."
|
|
math.randi[cell.DOC] = "Return a random 32-bit integer."
|
|
math.srand[cell.DOC] = "Seed the random number generator with the given integer, or with current time if none."
|
|
|
|
|
|
math.TAU = Math.PI * 2;
|
|
math.deg2rad = function (deg) { return deg * 0.0174533; };
|
|
math.rad2deg = function (rad) { return rad / 0.0174533; };
|
|
math.turn2rad = function (x) { return x * Math.TAU; };
|
|
math.rad2turn = function (x) { return x / Math.TAU; };
|
|
math.turn2deg = function (x) { return x * 360; };
|
|
math.deg2turn = function (x) { return x / 360; };
|
|
|
|
return math
|