stuff
This commit is contained in:
47
modules/wallpaper-engine/scripts/jsmodules/wecolor.js
Normal file
47
modules/wallpaper-engine/scripts/jsmodules/wecolor.js
Normal file
@@ -0,0 +1,47 @@
|
||||
'use strict';
|
||||
|
||||
export function rgb2hsv(r) {
|
||||
var g, b;
|
||||
g = r.y, b = r.z, r = r.x;
|
||||
var max = Math.max(r, g, b), min = Math.min(r, g, b),
|
||||
d = max - min,
|
||||
h,
|
||||
s = (max === 0 ? 0 : d / max),
|
||||
v = max;
|
||||
|
||||
switch (max) {
|
||||
case min: h = 0; break;
|
||||
case r: h = (g - b) + d * (g < b ? 6: 0); h /= 6 * d; break;
|
||||
case g: h = (b - r) + d * 2; h /= 6 * d; break;
|
||||
case b: h = (r - g) + d * 4; h /= 6 * d; break;
|
||||
}
|
||||
|
||||
return new Vec3(h, s, v);
|
||||
}
|
||||
|
||||
export function hsv2rgb(h) {
|
||||
var r, g, b, i, f, p, q, t, s, v;
|
||||
s = h.y, v = h.z, h = h.x;
|
||||
i = Math.floor(h * 6);
|
||||
f = h * 6 - i;
|
||||
p = v * (1 - s);
|
||||
q = v * (1 - f * s);
|
||||
t = v * (1 - (1 - f) * s);
|
||||
switch (i % 6) {
|
||||
case 0: r = v, g = t, b = p; break;
|
||||
case 1: r = q, g = v, b = p; break;
|
||||
case 2: r = p, g = v, b = t; break;
|
||||
case 3: r = p, g = q, b = v; break;
|
||||
case 4: r = t, g = p, b = v; break;
|
||||
case 5: r = v, g = p, b = q; break;
|
||||
}
|
||||
return new Vec3(r, g, b);
|
||||
}
|
||||
|
||||
export function normalizeColor(color) {
|
||||
return new Vec3(color.x / 255, color.y / 255, color.z / 255);
|
||||
}
|
||||
|
||||
export function expandColor(color) {
|
||||
return new Vec3(color.x * 255, color.y * 255, color.z * 255);
|
||||
}
|
||||
13
modules/wallpaper-engine/scripts/jsmodules/wemath.js
Normal file
13
modules/wallpaper-engine/scripts/jsmodules/wemath.js
Normal file
@@ -0,0 +1,13 @@
|
||||
'use strict';
|
||||
|
||||
export let deg2rad = Math.PI / 180;
|
||||
export let rad2deg = 180 / Math.PI;
|
||||
|
||||
export function smoothStep(min, max, v) {
|
||||
let x = Math.max(0, Math.min(1, (v-min)/(max-min)));
|
||||
return x*x*(3-2*x);
|
||||
};
|
||||
|
||||
export function mix(a, b, v) {
|
||||
return a+(b-a)*v;
|
||||
};
|
||||
15
modules/wallpaper-engine/scripts/jsmodules/wevector.js
Normal file
15
modules/wallpaper-engine/scripts/jsmodules/wevector.js
Normal file
@@ -0,0 +1,15 @@
|
||||
'use strict';
|
||||
|
||||
import * as WEMath from 'WEMath';
|
||||
|
||||
export function angleVector2(angle) {
|
||||
angle = angle * WEMath.deg2rad;
|
||||
return new Vec2(
|
||||
Math.cos(angle),
|
||||
Math.sin(angle)
|
||||
);
|
||||
}
|
||||
|
||||
export function vectorAngle2(direction) {
|
||||
return Math.atan2(direction.y, direction.x) * WEMath.rad2deg;
|
||||
}
|
||||
Reference in New Issue
Block a user