Skip to content

Instantly share code, notes, and snippets.

@najlepsiwebdesigner
Created May 19, 2016 12:52
Show Gist options
  • Save najlepsiwebdesigner/efb34f9d71cc693c1a5137e8d9c03efb to your computer and use it in GitHub Desktop.
Save najlepsiwebdesigner/efb34f9d71cc693c1a5137e8d9c03efb to your computer and use it in GitHub Desktop.
map color to custom range C++
typedef struct {
double r,g,b;
} COLOUR;
COLOUR GetColour(double v,double vmin,double vmax)
{
COLOUR c = {1.0,1.0,1.0}; // white
double dv;
if (v < vmin)
v = vmin;
if (v > vmax)
v = vmax;
dv = vmax - vmin;
if (v < (vmin + 0.25 * dv)) {
c.r = 0;
c.g = 4 * (v - vmin) / dv;
} else if (v < (vmin + 0.5 * dv)) {
c.r = 0;
c.b = 1 + 4 * (vmin + 0.25 * dv - v) / dv;
} else if (v < (vmin + 0.75 * dv)) {
c.r = 4 * (v - vmin - 0.5 * dv) / dv;
c.b = 0;
} else {
c.g = 1 + 4 * (vmin + 0.75 * dv - v) / dv;
c.b = 0;
}
return(c);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment