On the LCD screens a flash makes 2 strips of color, 2 strips of white light, and a rainbow colored strip. This latest has weirdly a pink color in it. How is it possible? The pink color is not part of the rainbow.

enter image description here

  • 4
    $\begingroup$ Welcome to Physics SE. What is your question? $\endgroup$
    – user130529
    Commented Jan 26, 2017 at 16:57
  • $\begingroup$ It would be helpful to state the model of your phone. Does this behaviour persist if you use a CD as a grating to diffract the light from your phone's flash/flashlight? $\endgroup$ Commented Jan 26, 2017 at 17:01
  • $\begingroup$ It happens with both of iphone 6 and galaxy s6 and the tv is samsung uhd smart tv $\endgroup$
    – Kush
    Commented Jan 26, 2017 at 17:06
  • $\begingroup$ Just found you can also see little nit pink on iphone 6 screen glare $\endgroup$
    – Kush
    Commented Jan 26, 2017 at 17:10
  • 1
    $\begingroup$ Duplicate? physics.stackexchange.com/q/167892 $\endgroup$
    – Farcher
    Commented Jan 26, 2017 at 17:16

1 Answer 1


When white light is diffracted by a grating, every color gets its own spatial frequency. As soon as you are more than a small distance from the optical axis (where you have a white maximum), you will start to see the effect of multiple colors overlapping. This is further exacerbated by having an extended source - imperfectly collimated light will "smear" the light more.

The result of all this is that you will see not simply the colors of the rainbow, but mixed colors. This is actually something that can be computed with a few lines of code. You can then convert the wavelength intensities to RGB values using conversion utilities available online (for example, see spectrumRGB.m). The result (a bit of a hack... someone might want to do this more carefully):

enter image description here

But while this shows what the RGB components may look like, it doesn't really tell you what your eyes would see. But this next plot does...:

enter image description here

As you can see - the "pink" color you see can be arrived at with this simple calculation. Matlab code that I used for this:

% white light diffraction exercise
% assume diffraction pattern of the form I = cos^2( k x / lambda)
N = 400; 
% for lambda = 400 nm, assume 4 complete cycles
lambda_0 = 400;
k = lambda_0/2;
I = zeros(3,N);
x = linspace(0,8*pi, N);

for lambda = 400:800
    rgb = spectrumRGB(lambda);
    I0 = cos(k*x/lambda).^2;
    I = I + rgb(:) * I0;

I = I / max(I(:));

image('cdata', repmat(reshape(I', [N 1 3]),[1 10 1]))
axis off

hold on
title 'RGB values of diffracted white light'
xlabel 'angle (arb units)'
ylabel 'intensity (arb units)'

Not the answer you're looking for? Browse other questions tagged or ask your own question.