MathUtils
MathUtilsTHREE equivalent: THREE.MathUtils
Static math utilities: clamping, angle conversion, power-of-2 checks, and RuneTek-specific helpers like tileDistance and HSL16 packing.
Differs from THREE.js
Not a class - a plain object. Includes RuneTek-specific helpers: tileDistance, packHsl16, unpackHsl16, fastAtan2. No generateUUID or lerp.
Properties
Section titled “Properties”| Name | Type | Description |
|---|---|---|
EPSILON |
number |
Small float threshold for comparisons. |
TAU |
number |
2 * Math.PI. |
DEG2RAD |
number |
Degrees-to-radians conversion factor. |
RAD2DEG |
number |
Radians-to-degrees conversion factor. |
Methods
Section titled “Methods”| Method | Description |
|---|---|
clamp(x: number, min: number, max: number): number |
Clamps x to [min, max]. |
toRadians(degrees: number): number |
Converts degrees to radians. |
toDegrees(radians: number): number |
Converts radians to degrees. |
isPowerOf2(n: number): boolean |
Returns true if n is a power of two. |
tileDistance(a: Vector3, b: Vector3): number |
Returns the RuneTek tile distance between two points (Chebyshev distance on XZ). |
packHsl16(h: number, s: number, l: number): number |
Packs HSL values into a 16-bit integer (6H/3S/7L). |
unpackHsl16(value: number): { h: number, s: number, l: number } |
Unpacks a 16-bit HSL integer to h/s/l components. |