export declare class MathUtil { /** * 角度转弧度因子 */ DEG2RAD: number; /** * 弧度转角度因子 */ RAD2DEG: number; /** * 默认精度 */ PRECISION: number; /** * 获取唯一标识符 * @see http://www.broofa.com/Tools/Math.uuid.htm */ uuid: () => string; /** * (夹紧)计算指定值到区间[edge0 ,edge1]最近的值 * * @param value 指定值 * @param lowerLimit 区间下界 * @param upperLimit 区间上界 */ clamp(value: number, lowerLimit: number, upperLimit: number): number; /** * 计算欧几里得模(整数模) ((n % m) + m) % m * * @param n 被除数 * @param m 除数 * @see https://en.wikipedia.org/wiki/Modulo_operation */ euclideanModulo(n: number, m: number): number; /** * 使 x 值从区间 线性映射到区间 * * @param x 第一个区间中值 * @param a1 第一个区间起始值 * @param a2 第一个区间终止值 * @param b1 第二个区间起始值 * @param b2 第二个区间起始值 */ mapLinear(x: number, a1: number, a2: number, b1: number, b2: number): number; /** * 线性插值 * * @param start 起始值 * @param end 终止值 * @param t 插值系数 [0 ,1] * * @see https://en.wikipedia.org/wiki/Linear_interpolation */ lerp(start: number, end: number, t: number): number; /** * 计算平滑值 3x^2 - 2x^3 * * @param x * @param min 最小值 * @param max 最大值 * * @see http://en.wikipedia.org/wiki/Smoothstep */ smoothstep(x: number, min: number, max: number): number; /** * 从获取随机整数 * * @param low 区间起始值 * @param high 区间终止值 */ randInt(low: number, high: number): number; /** * 从获取随机浮点数 * * @param low 区间起始值 * @param high 区间终止值 */ randFloat(low: number, high: number): number; /** * 从<-range/2, range/2>获取随机浮点数 * * @param range 范围 */ randFloatSpread(range: number): number; /** * 角度转换为弧度 * * @param degrees 角度 */ degToRad(degrees: number): number; /** * 弧度转换为角度 * * @param radians 弧度 */ radToDeg(radians: number): number; /** * 判断指定整数是否为2的幂 * * @param value 整数 */ isPowerOfTwo(value: number): boolean; /** * 获取离指定整数最近的2的幂 * * @param value 整数 */ nearestPowerOfTwo(value: number): number; /** * 获取指定大于等于整数最小2的幂,3->4,5->8,17->32,33->64 * * @param value 整数 */ nextPowerOfTwo(value: number): number; /** * 获取目标最近的值 * * source增加或者减少整数倍precision后得到离target最近的值 * * ``` * mathUtil.toRound(71,0,5);//运算结果为1 * ``` * * @param source 初始值 * @param target 目标值 * @param precision 精度 */ toRound(source: number, target: number, precision?: number): number; /** * 比较两个Number是否相等 * * @param a 数字a * @param b 数字b * @param precision 进度 */ equals(a: number, b: number, precision?: number): boolean; /** * 计算最大公约数 * * @param a 整数a * @param b 整数b * * @see https://en.wikipedia.org/wiki/Greatest_common_divisor */ gcd(a: number, b: number): number; /** * 计算最小公倍数 * Least common multiple * * @param a 整数a * @param b 整数b * * @see https://en.wikipedia.org/wiki/Least_common_multiple */ lcm(a: number, b: number): number; } export declare const mathUtil: MathUtil; //# sourceMappingURL=MathUtil.d.ts.map