
The Delphi Code in this project implements a single function calculator that does the linear algebra involved in computing the CIE Color Matching Function. The matrix for the 2 degree standard observer is included, for values ranging from 400 to 700.
![]()
The calculator can be downloaded ready to run (for those who don't use Delphi, and have need of such a calculator). CIECalc.zip ~183 KB
Project Information
This single purpose calculator does the calculations for the CIE color matching function. The CIE 2 degree matrix is hard coded in the software.
The Color wavelength data for the source is entered in the text box on the left. The program includes wavelength data for points between 400 and 700.
You can enter the data points for every tenth wavelength from 400, 410, 420...up to 700, which is 31 data points. You can also enter the data for every one wavelength (401, 402, up to 700) which is 301 data points.
The data points are entered into the white text area on the left, and each entry must be on a separate line. You must not put spaces between the lines of text (single spacing) and each line must be a valid number with no illegal characters or the program will report an error. You must enter small numbers as 0.123 and not as .123 (the period at the beginning must be preceded by a leading zero or an error will be generated).
Enter a value for the normalizing constant K in the box at the top right.
When you have entered the vector data points for the color in the white area on the left, press calculate and the linear algebra will be done by the computer and the results output as XYZ color coordinates. Keep in mind that the constant K must be correct or the numbers are inaccurate,. This program does save hours of calculating, and computers don't make mistakes doing math (if something goes wrong it is always the programmers fault).
The program will calculate the RGB color values from these XYZ values and display them in the square at the bottom of the screen. The program uses D65 and not every monitor is D65 (I have heard of one type that is off by about 3000 K) so the results will not be exact but an approximation, D65 being a 'typical computer monitor'). As well RGB is a subspace of XYZ and therefore not all colors can displayed in RGB and thus 'the closest color' is sometimes the result, rather than an exact match.
XYZ values are sometimes given as 94.56 or again as 0.9456. Both are ways that XYZ values are displayed. If you get a small XYZ value then you can push the X 100 button to multiply the value by one hundred and get the correct RGB values.
The project can be downloaded as a zip file here -> The Delphi 3 project or you can download the Delphi 5 project files . Both files are around 20 KB.
A Unified Field Theory
![]()
The Unified Field Theory
is also available as a zip file -> unified.zip
Introduction :The Pioneer Effect and the New Physics. A brief description of the new physics required to explain the 'Pioneer Effect', which is the constant deceleration of space craft as they fly through space.

