黒体軌跡
Planckian locus
Kim et al.
code:glsl
vec2 temp2xy(float temp) {
float t = 1000.0 / temp;
float t2 = t * t;
float t3 = t * t2;
float x = t > 0.25
? -0.2661239 * t3 - 0.2343589 * t2 + 0.8776956 * t + 0.179910
: -3.0258469 * t3 + 2.1070379 * t2 + 0.2226347 * t + 0.240390;
float x2 = x * x;
float x3 = x * x2;
float y = t > 0.45
? -1.1063814 * x3 - 1.34811020 * x2 + 2.18555832 * x - 0.20219683
: t > 0.25
? -0.9549476 * x3 - 1.37418593 * x2 + 2.09137015 * x - 0.16748867
: 3.0817580 * x3 - 5.87338670 * x2 + 3.75112997 * x - 0.37001483;
return vec2(x, y);
}
M. Krystek