上野光学製作所
ヒッパルコス星表からエクセルを使って太陽近傍恒星のHR図(ヘルツシュプルング・ラッセル図)を作図します
Satoshi Ueno提供サイト
恒星の色の目安として、表面温度から最大波長のみで色を推定します。
表面温度T から3刺激値XYZを求めて、RGB に変換します。
ここでは、色度座標xyの計算に2種類の方法をためします。
表面温度 T から色度図座標 xy を計算します。
ネット上で見つけた xy色度図上の黒体軌跡(Plankian locus in xy space)の近似式を利用して、色度座標x,yを求めます。
この近似式がどういうものかは、知りません。
x=-0.2661239・109/T3-0.2343580・106/T2+0.8776956・103/T+0.179910 ( 1667K<T< 4000K)
x=-3.0258469・109/T3+2.1070379・106/T2+0.2226347・103/T+0.240390 ( 4000K<T<25000K)
y=-1.1063814x3-1.34811020x2+2.18555832x-0.20219683 ( 1667K<T< 2222K)
y=-0.9549476x3-1.37418593x2+2.09137015x-0.16748867 ( 2222K<T< 4000K)
y=+3.0817580x3-5.87338670x2+3.75112997x-0.37001483 (40000K<T<25000K)
(Wikipedia 'Planckian locus' http://en.wikipedia.org/wiki/Planckian_locus による)
黒体放射の分光分布 Me(λ) とCIEの等色関数の積を可視波長域(380~780nm)で積分して色度図座標xyを計算します。
実際の積分は、適当な刻み幅の関数値の総和で計算します。係数や区分幅は、x,y計算時に相殺されるので無視できます。
(VBAで関数を定義して計算します。シートの再計算には相当時間を要します。)
Me(λ) = c1/λ5/{exp(c2/λ/T) -1} [W・m-3] 黒体放射の分光分布
exp(x) = ex
c1 = 2πhc2 = 3.741771×10-16[W・m2]
c2 = hc/k =1.438775×10-2[m・K]
h = 6.626196×10-34 [J・s] プランク定数
c = 2.9979250 ×108 [m/s] 真空中の光速
k = 1.380622×10-23 [J/K] ボルツマン定数
CIEの等色関数 x(λ),y(λ),z(λ)
各関数の係数、積分の区分幅は、xy計算時に相殺されるため無視
X = a∫Me(λ)・x(λ)dλ
→ X1 = Σx(λ)/λ5/{exp(1.439×107/λ/T) -1} λ:380→780(5nm 刻)
Y = a∫Me(λ)・y(λ)dλ
→ Y1 = Σy(λ)/λ5/{exp(1.439×107/λ/T) -1} λ:380→780(5nm 刻)
Z = a∫Me(λ)・z(λ)dλ
→ Z1 = Σz(λ)/λ5/{exp(1.439×107/λ/T) -1} λ:380→780(5nm 刻)
x = X1 /(X1 +Y1 +Z1)
y = Y1 /(X1 +Y1 +Z1)
CIEの等色関数x(λ),y(λ),z(λ) の5nm刻のcsvデータは、CVRL のサイト(http://www.cvrl.org/) よりダウンロードできます。
色度座標 x,y から3刺激値 X,Y,Z を計算します。
Y = 1.0 ※明度(輝度)を1.0 に固定
X =( Y / y)x
Z =( Y / y)(1-x-y)
3刺激値XYZからRGB値を計算します。
CIE 国際電気標準会議 のCIE61966-2-1規格(Wikipedia 'CIE xyY or CIE XYZ to sRGB')により変換します。
R | 3.2410 | -1.5374 | -0.4986 | X | ||||||
G | = | -0.9692 | 1.8760 | 0.0416 | Y | |||||
B | 0.0556 | -0.2040 | 1.0570 | Z |
一般的なディスプレイを対象にγ補正し(γ=2.2)、VBA のrgb()関数の引数のために256 階調化します。
R’= R1/2.2×256
G’= G1/2.2×256
B’= B1/2.2×256
VBA用の8桁カラーコードを計算します。
rgb = R’ + G’*256 + B’*256*256
波長(λnm) | x(λ) | y(λ) | z(λ) |
---|---|---|---|
380.00000000 | 0.00136800 | 0.00003900 | 0.00645000 |
385.00000000 | 0.00223600 | 0.00006400 | 0.01054999 |
390.00000000 | 0.00424300 | 0.00012000 | 0.02005001 |
395.00000000 | 0.00765000 | 0.00021700 | 0.03621000 |
400.00000000 | 0.01431000 | 0.00039600 | 0.06785001 |
405.00000000 | 0.02319000 | 0.00064000 | 0.11020000 |
410.00000000 | 0.04351000 | 0.00121000 | 0.20740000 |
415.00000000 | 0.07763000 | 0.00218000 | 0.37130000 |
420.00000000 | 0.13438000 | 0.00400000 | 0.64560000 |
425.00000000 | 0.21477000 | 0.00730000 | 1.03905010 |
430.00000000 | 0.28390000 | 0.01160000 | 1.38560000 |
435.00000000 | 0.32850000 | 0.01684000 | 1.62296000 |
440.00000000 | 0.34828000 | 0.02300000 | 1.74706000 |
445.00000000 | 0.34806000 | 0.02980000 | 1.78260000 |
450.00000000 | 0.33620000 | 0.03800000 | 1.77211000 |
455.00000000 | 0.31870000 | 0.04800000 | 1.74410000 |
460.00000000 | 0.29080000 | 0.06000000 | 1.66920000 |
465.00000000 | 0.25110000 | 0.07390000 | 1.52810000 |
470.00000000 | 0.19536000 | 0.09098000 | 1.28764000 |
475.00000000 | 0.14210000 | 0.11260000 | 1.04190000 |
480.00000000 | 0.09564000 | 0.13902000 | 0.81295010 |
485.00000000 | 0.05795001 | 0.16930000 | 0.61620000 |
490.00000000 | 0.03201000 | 0.20802000 | 0.46518000 |
495.00000000 | 0.01470000 | 0.25860000 | 0.35330000 |
500.00000000 | 0.00490000 | 0.32300000 | 0.27200000 |
505.00000000 | 0.00240000 | 0.40730000 | 0.21230000 |
510.00000000 | 0.00930000 | 0.50300000 | 0.15820000 |
515.00000000 | 0.02910000 | 0.60820000 | 0.11170000 |
520.00000000 | 0.06327000 | 0.71000000 | 0.07824999 |
525.00000000 | 0.10960000 | 0.79320000 | 0.05725001 |
530.00000000 | 0.16550000 | 0.86200000 | 0.04216000 |
535.00000000 | 0.22574990 | 0.91485010 | 0.02984000 |
540.00000000 | 0.29040000 | 0.95400000 | 0.02030000 |
545.00000000 | 0.35970000 | 0.98030000 | 0.01340000 |
550.00000000 | 0.43344990 | 0.99495010 | 0.00875000 |
555.00000000 | 0.51205010 | 1.00000000 | 0.00575000 |
560.00000000 | 0.59450000 | 0.99500000 | 0.00390000 |
565.00000000 | 0.67840000 | 0.97860000 | 0.00275000 |
570.00000000 | 0.76210000 | 0.95200000 | 0.00210000 |
575.00000000 | 0.84250000 | 0.91540000 | 0.00180000 |
波長(λnm) | x(λ) | y(λ) | z(λ) |
---|---|---|---|
580.00000000 | 0.91630000 | 0.87000000 | 0.00165000 |
585.00000000 | 0.97860000 | 0.81630000 | 0.00140000 |
590.00000000 | 1.02630000 | 0.75700000 | 0.00110000 |
595.00000000 | 1.05670000 | 0.69490000 | 0.00100000 |
600.00000000 | 1.06220000 | 0.63100000 | 0.00080000 |
605.00000000 | 1.04560000 | 0.56680000 | 0.00060000 |
610.00000000 | 1.00260000 | 0.50300000 | 0.00034000 |
615.00000000 | 0.93840000 | 0.44120000 | 0.00024000 |
620.00000000 | 0.85444990 | 0.38100000 | 0.00019000 |
625.00000000 | 0.75140000 | 0.32100000 | 0.00010000 |
630.00000000 | 0.64240000 | 0.26500000 | 0.00005000 |
635.00000000 | 0.54190000 | 0.21700000 | 0.00003000 |
640.00000000 | 0.44790000 | 0.17500000 | 0.00002000 |
645.00000000 | 0.36080000 | 0.13820000 | 0.00001000 |
650.00000000 | 0.28350000 | 0.10700000 | 0.00000000 |
655.00000000 | 0.21870000 | 0.08160000 | 0.00000000 |
660.00000000 | 0.16490000 | 0.06100000 | 0.00000000 |
665.00000000 | 0.12120000 | 0.04458000 | 0.00000000 |
670.00000000 | 0.08740000 | 0.03200000 | 0.00000000 |
675.00000000 | 0.06360000 | 0.02320000 | 0.00000000 |
680.00000000 | 0.04677000 | 0.01700000 | 0.00000000 |
685.00000000 | 0.03290000 | 0.01192000 | 0.00000000 |
690.00000000 | 0.02270000 | 0.00821000 | 0.00000000 |
695.00000000 | 0.01584000 | 0.00572300 | 0.00000000 |
700.00000000 | 0.01135916 | 0.00410200 | 0.00000000 |
705.00000000 | 0.00811092 | 0.00292900 | 0.00000000 |
710.00000000 | 0.00579035 | 0.00209100 | 0.00000000 |
715.00000000 | 0.00410946 | 0.00148400 | 0.00000000 |
720.00000000 | 0.00289933 | 0.00104700 | 0.00000000 |
725.00000000 | 0.00204919 | 0.00074000 | 0.00000000 |
730.00000000 | 0.00143997 | 0.00052000 | 0.00000000 |
735.00000000 | 0.00099995 | 0.00036110 | 0.00000000 |
740.00000000 | 0.00069008 | 0.00024920 | 0.00000000 |
745.00000000 | 0.00047602 | 0.00017190 | 0.00000000 |
750.00000000 | 0.00033230 | 0.00012000 | 0.00000000 |
755.00000000 | 0.00023483 | 0.00008480 | 0.00000000 |
760.00000000 | 0.00016615 | 0.00006000 | 0.00000000 |
765.00000000 | 0.00011741 | 0.00004240 | 0.00000000 |
770.00000000 | 0.00008308 | 0.00003000 | 0.00000000 |
775.00000000 | 0.00005871 | 0.00002120 | 0.00000000 |
780.00000000 | 0.00004151 | 0.00001499 | 0.00000000 |