|
|
I used CIE.inc from LightsysIV to display black body colors at various
temperatures. As the temperature increased, I expected the color to become
yellower before it turned white. Instead, I could not discern any change in
hue.
I figured that the change in hue might be too subtle for me to detect, so I
#debugged the hues. Too my surprise, after becoming slightly yellower, the hue
doubled back on itself and got redder, then onto magenta, violet, and blue.
Is this right? If so, why do candle flames (glowing soot particles) look
yellower than glowing coals? Could it be a whitepoint issue? Floating point
accuracy? That warning that splines are an experimental feature?
The attached image shows my results, with a fully-saturated swatch to the lower
right of each sample.
________________________________________________________________________________
#version 3.7;
#declare SIDE = 8;
#include "shapes.inc"
#include "colors.inc"
#include "CIE.inc"
global_settings { assumed_gamma 1 }
camera
{ orthographic
location <(SIDE - 1) * 2, (SIDE - 1) * 1.5, -10>
right (4*SIDE + 0.8) * x
up (3*SIDE + 0.6) * y
}
light_source
{ -1000 * z, rgb 1
parallel point_at 0
}
#default { finish { ambient 0 diffuse 1 brilliance 0.5 } }
#debug "Temperature Color Hue\n"
#debug "----------- --------------------- -------\n"
#declare Coolest = ln(ln(2000));
#declare Hottest = ln(ln(50000));
#declare I = 0;
#while (I < SIDE*SIDE)
#declare Temp = exp (exp (Coolest + (Hottest - Coolest) * I / (SIDE*SIDE -
1)));
#declare c_Color = Blackbody(Temp);
#declare c_Sat = c_Color - min (c_Color.red, c_Color.green, c_Color.blue);
#declare c_Sat = c_Sat / max (c_Sat.red, c_Sat.green, c_Sat.blue);
union
{ sphere
{ 0, 1.2
pigment { rgb c_Color }
}
box
{ <2.0, -1.0, 0>, <1.4, -0.3, 1>
pigment { rgb c_Sat }
}
object
{ Center_Object (text { ttf "cyrvetic.ttf" str(Temp,0,0) 1, 0 }, x+y)
scale 2/3
translate -2*z
pigment { rgb 0 }
}
translate <4 * (SIDE-1 - mod(I,SIDE)) - 0.4, 3 * floor(I/SIDE), 0>
}
#declare hsv_Color = CRGB2HSV (c_Color);
#debug concat (str(Temp,8,0), " <", vstr (3, c_Color, ", ", 0, 3), ">",
str(hsv_Color.x,9,3), "\n")
#declare I = I + 1;
#end
________________________________________________________________________________
Temperature Color Hue
----------- --------------------- -------
2000 <1.000, 0.257, 0.008> 15.037
2087 <1.000, 0.278, 0.016> 15.936
2179 <1.000, 0.299, 0.026> 16.831
2275 <1.000, 0.321, 0.037> 17.719
2376 <1.000, 0.344, 0.050> 18.596
2482 <1.000, 0.368, 0.065> 19.459
2594 <1.000, 0.393, 0.082> 20.305
2711 <1.000, 0.418, 0.101> 21.130
2834 <1.000, 0.443, 0.123> 21.930
2964 <1.000, 0.470, 0.147> 22.702
3100 <1.000, 0.496, 0.173> 23.439
3243 <1.000, 0.524, 0.203> 24.137
3394 <1.000, 0.551, 0.236> 24.791
3553 <1.000, 0.580, 0.271> 25.391
3720 <1.000, 0.608, 0.310> 25.929
3895 <1.000, 0.637, 0.352> 26.392
4081 <1.000, 0.666, 0.397> 26.762
4276 <1.000, 0.695, 0.445> 27.016
4482 <1.000, 0.724, 0.497> 27.115
4699 <1.000, 0.754, 0.552> 27.002
4927 <1.000, 0.783, 0.610> 26.580
5168 <1.000, 0.812, 0.671> 25.671
5423 <1.000, 0.840, 0.734> 23.912
5691 <1.000, 0.868, 0.800> 20.431
5975 <1.000, 0.896, 0.869> 12.447
6274 <1.000, 0.923, 0.940> -12.742
6590 <0.988, 0.939, 1.000> 288.151
6924 <0.921, 0.899, 1.000> 252.974
7277 <0.861, 0.862, 1.000> 239.451
7650 <0.808, 0.829, 1.000> 233.440
8044 <0.761, 0.799, 1.000> 230.519
8461 <0.719, 0.771, 1.000> 228.882
8902 <0.681, 0.745, 1.000> 227.893
9369 <0.647, 0.722, 1.000> 227.273
9864 <0.617, 0.701, 1.000> 226.879
10387 <0.590, 0.681, 1.000> 226.631
10941 <0.565, 0.663, 1.000> 226.481
11528 <0.543, 0.647, 1.000> 226.398
12150 <0.523, 0.632, 1.000> 226.361
12810 <0.505, 0.618, 1.000> 226.358
13509 <0.489, 0.605, 1.000> 226.378
14251 <0.474, 0.593, 1.000> 226.414
15038 <0.460, 0.582, 1.000> 226.462
15874 <0.447, 0.572, 1.000> 226.517
16760 <0.436, 0.562, 1.000> 226.576
17702 <0.426, 0.554, 1.000> 226.639
18703 <0.416, 0.546, 1.000> 226.703
19766 <0.407, 0.538, 1.000> 226.767
20896 <0.399, 0.531, 1.000> 226.830
22098 <0.392, 0.525, 1.000> 226.892
23376 <0.385, 0.519, 1.000> 226.952
24735 <0.379, 0.514, 1.000> 227.010
26182 <0.373, 0.508, 1.000> 227.066
27723 <0.368, 0.504, 1.000> 227.120
29364 <0.363, 0.499, 1.000> 227.171
31112 <0.359, 0.495, 1.000> 227.219
32975 <0.354, 0.491, 1.000> 227.266
34960 <0.351, 0.488, 1.000> 227.310
37078 <0.347, 0.485, 1.000> 227.351
39336 <0.344, 0.482, 1.000> 227.391
41746 <0.341, 0.479, 1.000> 227.428
44319 <0.338, 0.476, 1.000> 227.463
47066 <0.335, 0.474, 1.000> 227.496
50000 <0.332, 0.471, 1.000> 227.528
Post a reply to this message
Attachments:
Download 'blackbodies.png' (260 KB)
Preview of image 'blackbodies.png'
|
|