Files
esengine/source/src/Math/MathHelper.ts

51 lines
1.4 KiB
TypeScript
Raw Normal View History

2020-06-08 11:49:45 +08:00
class MathHelper {
/**
*
* @param radians
*/
2020-06-08 16:23:48 +08:00
public static toDegrees(radians: number){
2020-06-08 11:49:45 +08:00
return radians * 57.295779513082320876798154814105;
}
/**
*
* @param degrees
*/
2020-06-08 16:23:48 +08:00
public static toRadians(degrees: number){
2020-06-08 11:49:45 +08:00
return degrees * 0.017453292519943295769236907684886;
}
/**
* mapps值(leftMin - leftMax范围内)rightMin - rightMax范围内的值
* @param value
* @param leftMin
* @param leftMax
* @param rightMin
* @param rightMax
*/
public static map(value: number, leftMin: number, leftMax: number, rightMin: number, rightMax: number){
return rightMin + (value - leftMin) * (rightMax - rightMin) / (leftMax - leftMin);
}
2020-06-15 08:46:38 +08:00
public static lerp(value1: number, value2: number, amount: number){
return value1 + (value2 - value1) * amount;
}
public static clamp(value: number, min: number, max: number){
if (value < min)
return min;
if (value > max)
return max;
return value;
}
public static minOf(a: number, b: number, c: number, d: number){
return Math.min(a, Math.min(b, Math.min(c, d)));
}
public static maxOf(a: number, b: number, c: number, d: number){
return Math.max(a, Math.max(b, Math.max(c, d)));
}
2020-06-08 11:49:45 +08:00
}