genvidMath

Interfaces

Functions

add2D(v1, v2)

Adds @v1 to @v2.

Arguments:
Returns:

IVec2

add3D(v1, v2)

Adds @v1 to @v2.

Arguments:
Returns:

IVec3

clamp(v, min, max)

Clamps value @x to fall between @min and @max.

Arguments:
  • v (number) –
  • min (number) –
  • max (number) –
Returns:

number

dot2D(v1, v2)

Returns the inner product (i.e. dot product) of two 2D vectors.

Arguments:
Returns:

number

dot3D(v1, v2)

Returns the inner product (i.e. dot product) of two 3D vectors.

Arguments:
Returns:

number

dot4D(v1, v2)

Returns the inner product (i.e. dot product) of two 4D vectors.

Arguments:
Returns:

number

equal(v0, v1, threshold)

Return true if v0 and v1 are within threshold of one another.

Arguments:
  • v0 (number) –
  • v1 (number) –
  • threshold (number) –
Returns:

boolean

equal2D(v0, v1, threshold)

Returns true if all components of v0 are within threshold of v1.

Arguments:
  • v0 (IVec2) –
  • v1 (IVec2) –
  • threshold (number) –
Returns:

boolean

equal3D(v0, v1, threshold)

Returns true if all components of v0 are within threshold of v1.

Arguments:
  • v0 (IVec3) –
  • v1 (IVec3) –
  • threshold (number) –
Returns:

boolean

equal4D(v0, v1, threshold)

Returns true if all components of v0 are within threshold of v1.

Arguments:
  • v0 (IVec4) –
  • v1 (IVec4) –
  • threshold (number) –
Returns:

boolean

evalLine2D(origin, direction, t)

Evaluates a parametric line: origin + direction*t.

Arguments:
  • origin (IVec2) –
  • direction (IVec2) –
  • t (number) –
Returns:

IVec2

getDistanceToSegment2D(pt, segA, segB)

Returns the squared distance of point @pt to segment @segA-@segB.

Arguments:
Returns:

number

getParameter_ClosestPointToSegment2D(point, segOrigin, segDirection)

Returns the parametric factor (between 0 and 1) corresponding to the point on the segment that is closest to @point. To retrieve the actual point on the segment, call: evalLine2D(segOrigin, segDirection, t);

Arguments:
Returns:

number

getProjectionFactor2D(vector, axis)

Returns the parametric coordinate t of the projection point of vector unto axis.

Arguments:
Returns:

number

getSquaredDistanceToSegment2D(point, segA, segB)

Returns the squared distance of point @pt to segment @segA-@segB.

Arguments:
  • point (any) –
  • segA (IVec2) –
  • segB (IVec2) –
Returns:

number

homogenize4D(v)

Makes a vec4 homogenous, i.e. that the last component is 1.

Arguments:
Returns:

IVec4

length2D(v)

Returns the norm of a 2D vector.

Arguments:
Returns:

number

length3D(v)

Returns the norm of a 2D vector.

Arguments:
Returns:

number

lengthSq2D(v)

Returns the squared norm of a 2D vector.

Arguments:
Returns:

number

lengthSq3D(v)

Returns the squared norm of a 3D vector.

Arguments:
Returns:

number

mad2D(v1, v2, v3)

Multiplies @v1 and @v2, then adds @v3 to the result.

Arguments:
Returns:

IVec2

mad3D(v1, v2, v3)

Multiplies @v1 and @v2, then adds @v3 to the result.

Arguments:
Returns:

IVec3

mat4(row0, row1, row2, row3)

Returns a 4x4 matrix composed of 4 rows.

Arguments:
Returns:

IMat4

mix(v1, v2, t)

Linear interpolation between @v1 and @v2 using @t as a parameter.

Arguments:
  • v1 (any) –
  • v2 (any) –
  • t (any) –
Returns:

any

mul2D(v1, v2)

Multiplies 2D vectors @v1 and @v2 together.

Arguments:
Returns:

IVec2

mul3D(v1, v2)

Multiplies 2D vectors @v1 and @v2 together.

Arguments:
Returns:

IVec3

mulmat4(m, v)

Transforms a vec4 by a mat4.

Arguments:
Returns:

IVec4

muls2D(v1, s)

Multiplies a 2D vector @v1 by scalar @s.

Arguments:
  • v1 (IVec2) –
  • s (number) –
Returns:

IVec2

muls3D(v1, s)

Multiplies a 2D vector @v1 by scalar @s.

Arguments:
  • v1 (IVec3) –
  • s (number) –
Returns:

IVec3

muls4D(v1, s)

Multiplies a 4D vector @v1 by scalar @s.

Arguments:
  • v1 (IVec4) –
  • s (number) –
Returns:

IVec4

normalize2D(v)

Normalizes a vec2 so that its length is 1.

Arguments:
Returns:

IVec2

normalize3D(v)

Normalizes a vec3 so that its length is 1.

Arguments:
Returns:

IVec3

projectPointUntoSegment2D(point, segA, segB)

Deprecated.

Arguments:
Returns:

IVec2

projectPosition(m, v)

Projects a 3D vector @v using the 4x4 matrix @m.

Arguments:
Returns:

IVec3

projectUnto2D(vector, axis)

Returns the projection point of vector unto axis.

Arguments:
Returns:

IVec2

sub2D(v1, v2)

Subtracts @v2 from @v1.

Arguments:
Returns:

IVec2

sub3D(v1, v2)

Subtracts @v2 from @v1.

Arguments:
Returns:

IVec3

toHTMLColorString(v)

Converts a vec3 into an “rgb(x*255,y*255,z*255)” string, or vec4 into an “rgba(x*255,y*255,z*255,w*255)”. Also accepts structure with {r,g,b,a} elements.

Arguments:
  • v (any) –
Returns:

string

transposemat4(mat)

Returns a 4x4 matrix transposed.

Arguments:
Returns:

IMat4

vec2(x, y)

Returns a 2D vector.

Arguments:
  • x (number) –
  • y (number) –
Returns:

IVec2

vec3(x, y, z)

Returns a 3D vector.

Arguments:
  • x (number) –
  • y (number) –
  • z (number) –
Returns:

IVec3

vec4(x, y, z, w)

Returns a 4D vector.

Arguments:
  • x (number) –
  • y (number) –
  • z (number) –
  • w (number) –
Returns:

IVec4