alt color scale

This commit is contained in:
Stewart Allen 2020-11-10 23:07:18 -05:00
commit f43c738472

View file

@ -398,7 +398,7 @@
} }
FDM.colorFunc = function(rate) { FDM.colorFunc = function(rate) {
return hsv2rgb({h: rate, s:1, v:0.75}, true); return hsv2rgb({h: rate, s:1, v:0.8});
}; };
FDM.prepareRender = function(levels, update, options) { FDM.prepareRender = function(levels, update, options) {
@ -426,7 +426,7 @@
let current = null; let current = null;
function colorDefault(point) { function colorDefault(point) {
return hsv2rgb({h:point.speed / maxspd, s:1, v:0.75}, true); return hsv2rgb({h:point.speed / maxspd, s:1, v:0.75});
} }
function colorCustom(point) { function colorCustom(point) {
@ -513,51 +513,40 @@
} }
// hsv values all = 0 to 1 // hsv values all = 0 to 1
function hsv2rgb(hsv, int) { function hsv2rgb(hsv, ext) {
let seg = Math.floor(hsv.h * 6), const { h, s, v } = hsv;
rem = hsv.h - (seg * (1/6)), const ss = 1 / (ext ? 4 : 3);
p = hsv.v * (1.0 - (hsv.s)), const seg = Math.floor(h / ss);
q = hsv.v * (1.0 - (hsv.s * rem)), const rem = h - (seg * ss);
t = hsv.v * (1.0 - (hsv.s * (1.0 - rem))), const inc = (rem / ss);
out = {}; const dec = (1 - inc);
const rgb = {r: 0, g: 0, b: 0};
switch (seg) { switch (seg) {
case 0: case 0:
out.r = hsv.v; rgb.r = 1;
out.g = t; rgb.g = inc;
out.b = p; rgb.b = 0;
break; break;
case 1: case 1:
out.r = q; rgb.r = dec;
out.g = hsv.v; rgb.g = 1;
out.b = p; rgb.b = inc;
break; break;
case 2: case 2:
out.r = p; rgb.r = inc;
out.g = hsv.v; rgb.g = dec;
out.b = t; rgb.b = 1;
break; break;
case 3: case 3:
out.r = p; rgb.r = dec;
out.g = q; rgb.g = 0;
out.b = hsv.v; rgb.b = dec;
break;
case 4:
out.r = t;
out.g = p;
out.b = hsv.v;
break;
case 5:
out.r = hsv.v;
out.g = p;
out.b = q;
break; break;
} }
rgb.r = ((rgb.r * 255 * v) & 0xff) << 16;
return int ? ( rgb.g = ((rgb.g * 255 * v) & 0xff) << 8;
(((out.r * 255) & 0xff) << 16) | rgb.b = ((rgb.b * 255 * v) & 0xff);
(((out.g * 255) & 0xff) << 8) | return rgb.r | rgb.g | rgb.b;
((out.b * 255) & 0xff)
) : out;
} }
})(); })();