Planckian Loci | R Documentation |
RobertsonLocus | the table from Robertson, with 31 points from 0 to 600 mired |
PrecisionLocus | a precomputed table, with 65 points from 0 to 1000 mired |
Both objects are data.frame
s with these columns
mired | the reciprocal temperature 10^6/T |
u | the u chromaticity, in 1960 CIE |
v | the v chromaticity, in 1960 CIE |
The PrecisionLocus
data.frame
has these additional columns:
up | the 1st derivative of u with respect to mired |
vp | the 1st derivative of v with respect to mired |
upp | the 2nd derivative of u with respect to mired |
vpp | the 2nd derivative of v with respect to mired |
For RobertsonLocus
, the values are taken from
Wyszecki & Stiles.
The lookup table on page 228
contains an error at 325 mired,
which was corrected by Bruce Lindbloom (see Source).
For PrecisionLocus
, the chromaticity values u
and v
are computed from first principles,
from the famous equation for the Planckian radiator
(with c_2 = 1.4388 \times 10^{-2}
)
and from the tabulated CIE 1931 standard observer color matching functions,
by summing from 360 to 830nm.
Let \beta
denote the reciprocal temperature 10^6/T
.
We think of u
as a function u(\beta)
.
The column up
is u'(\beta)
, and upp
is u''(\beta)
.
And similarly for v
.
The derivatives are computed from first principles, by summing the derivatives
of the Planckian formula from 360 to 830nm.
This includes the limiting case \beta=0
.
When this package is loaded (during .onLoad()
),
cubic splines are computed from RobertsonLocus
,
using stats::splinefun()
with method="fmm"
).
And quintic splines are computed from PrecisionLocus
.
Both splines are C^2
continuous.
http://www.brucelindbloom.com/index.html?Eqn_XYZ_to_T.html
Robertson, A. R. Computation of correlated color temperature and distribution temperature. Journal of the Optical Society of America. 58. pp. 1528-1535. 1968.
Wyszecki, Günther and W. S. Stiles. Color Science: Concepts and Methods, Quantitative Data and Formulae, Second Edition. John Wiley & Sons, 1982. Table 1(3.11). pp. 227-228.
CCTfromuv()
,
planckLocus()
RobertsonLocus[ 1:10, ]
## mired u v
## 1 0 0.18006 0.26352
## 2 10 0.18066 0.26589
## 3 20 0.18133 0.26846
## 4 30 0.18208 0.27119
## 5 40 0.18293 0.27407
## 6 50 0.18388 0.27709
## 7 60 0.18494 0.28021
## 8 70 0.18611 0.28342
## 9 80 0.18740 0.28668
## 10 90 0.18880 0.28997
PrecisionLocus[ 1:10, ]
## mired u v up vp upp vpp
## 1 0 0.1800644 0.2635212 5.540710e-05 0.0002276279 7.115677e-07 1.977793e-06
## 2 10 0.1806553 0.2658948 6.291429e-05 0.0002469232 7.900243e-07 1.873208e-06
## 3 20 0.1813253 0.2684554 7.120586e-05 0.0002649377 8.679532e-07 1.722425e-06
## 4 30 0.1820820 0.2711879 8.026143e-05 0.0002812384 9.423039e-07 1.531723e-06
## 5 40 0.1829329 0.2740733 9.002982e-05 0.0002954676 1.010028e-06 1.309700e-06
## 6 50 0.1838847 0.2770894 1.004307e-04 0.0003073613 1.068393e-06 1.066350e-06
## 7 60 0.1849432 0.2802122 1.113592e-04 0.0003167582 1.115240e-06 8.120582e-07
## 8 70 0.1861132 0.2834161 1.226923e-04 0.0003235990 1.149155e-06 5.566812e-07
## 9 80 0.1873980 0.2866757 1.342971e-04 0.0003279171 1.169532e-06 3.088345e-07
## 10 90 0.1887996 0.2899664 1.460383e-04 0.0003298241 1.176525e-06 7.543963e-08
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.