Fix physics
This commit is contained in:
parent
37954e2ef1
commit
f9f6825776
51 changed files with 832 additions and 541 deletions
12
shared/src/helper/mix-rgb.ts
Normal file
12
shared/src/helper/mix-rgb.ts
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
import { vec3 } from 'gl-matrix';
|
||||
import { clamp01 } from './clamp';
|
||||
import { mix } from './mix';
|
||||
|
||||
export const mixRgb = (a: vec3, b: vec3, q: number): vec3 => {
|
||||
const clampedQ = clamp01(q);
|
||||
return vec3.fromValues(
|
||||
mix(a[0], b[0], clampedQ),
|
||||
mix(a[1], b[1], clampedQ),
|
||||
mix(a[2], b[2], clampedQ),
|
||||
);
|
||||
};
|
||||
|
|
@ -9,6 +9,19 @@ export abstract class Random {
|
|||
Random._seed = value;
|
||||
}
|
||||
|
||||
public static choose<T>(values: Array<T>): T | undefined {
|
||||
const to = values.length;
|
||||
if (to === 0) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
return values[Math.floor(this.getRandomInRange(0, to))];
|
||||
}
|
||||
|
||||
public static getRandomInRange(from: number, to: number): number {
|
||||
return from + this.getRandom() * (to - from);
|
||||
}
|
||||
|
||||
public static getRandom(): number {
|
||||
let t = (Random._seed += 0x6d2b79f5);
|
||||
t = Math.imul(t ^ (t >>> 15), t | 1);
|
||||
|
|
|
|||
3
shared/src/helper/rgb.ts
Normal file
3
shared/src/helper/rgb.ts
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
import { vec3 } from 'gl-matrix';
|
||||
|
||||
export const rgb = (r: number, g: number, b: number): vec3 => vec3.fromValues(r, g, b);
|
||||
4
shared/src/helper/rgb255.ts
Normal file
4
shared/src/helper/rgb255.ts
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
import { vec3 } from 'gl-matrix';
|
||||
|
||||
export const rgb255 = (r: number, g: number, b: number): vec3 =>
|
||||
vec3.fromValues(r / 255, g / 255, b / 255);
|
||||
Loading…
Add table
Add a link
Reference in a new issue