lingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
50 lines (49 loc) • 2.25 kB
TypeScript
import { Point3dType } from "../utils/isPoint";
import Point3d from "./Point3d";
declare const math: {
abs: (x: number) => number;
log: (x: number) => number;
sqrt: (x: number) => number;
min: (...values: number[]) => number;
max: (...values: number[]) => number;
randomRange: (min: number, max: number) => number;
mapRange: (value: number, minFrom: number, maxFrom: number, minTo: number, maxTo: number, constrain?: boolean | undefined) => number;
ceil: (x: number) => number;
floor: (x: number) => number;
round: (x: number) => number;
sign: (x: number) => number;
sin: (x: number) => number;
cos: (x: number) => number;
tan: (x: number) => number;
asin: (x: number) => number;
acos: (x: number) => number;
atan: (x: number) => number;
atan2: (y: number, x: number) => number;
radToDeg: (rad: number) => number;
degToRad: (deg: number) => number;
mToCM: (m: number) => number;
cmToM: (cm: number) => number;
lerp: (a: number, b: number, t: number) => number;
inverseLerp: (a: number, b: number, t: number) => number;
smoothStep: (a: number, b: number, t: number) => number;
clamp: (val: number, min: number, max: number) => number;
fraction: (val: number) => number;
trunc: (val: number) => number;
cross: (a: Point3dType, b: Point3dType) => Point3d;
dot: (a: Point3dType, b: Point3dType) => number;
length: (a: Point3dType) => number;
distance: (a: Point3dType, b: Point3dType) => number;
normalize: (a: Point3dType) => Point3d;
reflect: (a: Point3dType, b: Point3dType) => Point3d;
project: (a: Point3dType, b: Point3dType) => Point3d;
angle: (a: Point3dType, b: Point3dType) => number;
rotate: (a: Point3dType, axis: Point3dType, angle: number) => Point3d;
rotateX: (a: Point3dType, angle: number) => Point3d;
rotateY: (a: Point3dType, angle: number) => Point3d;
rotateZ: (a: Point3dType, angle: number) => Point3d;
rotateXY: (a: Point3dType, angle: number) => Point3d;
rotateXZ: (a: Point3dType, angle: number) => Point3d;
rotateYZ: (a: Point3dType, angle: number) => Point3d;
multiply: (a: Point3dType, b: Point3dType | number) => Point3d;
};
export default math;