In 1637, Descartes used ray tracing to understand the formation of primary
and secondary rainbows. Newton subsequently extended the theory to
explain the colours of rainbow. Although ray tracing cannot match
the accuracy of Mie theory, it remains valuable because it can provide
intuitive explanations of many features of rainbows - without demanding
the use of complicated mathematics.
![]() |
| Fig. 1 Basic geometry of the primary rainbow |
The primary rainbow is the result of light rays which have suffered one internal reflection within the sphere (p = 2) - as shown in Fig. 1 where the ray of light impacts a spherical drop of water at point A with angle of incidence i. After entering the drop with angle of refraction r, it is reflected at point B and leaves the drop at point C at an angle relative to the original direction of 2 i - 180° - 4 r. This scattering angle θ can be generalised for other values of p as shown below:
for p = 0, θ = 2 i - 180°for p = 1, θ = 2 i - 2 r
for p > 1, θ = 2 i - (p - 1) 180° - 2 p r
If the refractive index of the sphere is n, Snell's Law defines the relationship between angle r and angle i as:
n = Sin (i) / Sin (r).
As r is dependent on i, the scattering angle can be generalised for other values of p as shown below:
for p = 0, θ = 2 i - 180°
for p = 1, θ = 2 i - 2 p Sin-1[Sin(i) / n]
for p > 1, θ = 2 i - (p - 1) 180° - 2 p Sin-1[Sin(i) / n]
H. C. van de Hulst's book "Light scattering by small particles" contains an excellent diagram (Fig. 41 on page 229) showing how the scattering angle varies with the angle of incidence for various values of p. Fig. 2 below shows an equivalent diagram for refractive index n = 1.33257.
Fig. 3 compresses the results for p < 4 into the range 0 to 180°. For n = 1.33257, a minimum occurs for p = 2 at a scattering angle θ of 137.9° (corresponding to the primary rainbow), whilst a maximum occurs for p = 3 at θ = 127.9° (corresponding to the secondary rainbow).
The angles of incidence corresponding to the geometric rainbow angles are defined by:
i = ArcCos [(n2 - 1)/(p2 -1)]0.5
For example, for n = 1.33257 and p = 2, this equation gives i = 59.435°.
Using the other equations above, you will find that r = 40.253°
and that the resulting rainbow angle θr is 222.141°. However, as
scattering angles θ are normally defined in the range 0° to 180°,
this is equivalent to θ = 137.859°. (A useful tip to convert any
angle x into the range 0° to 180° is to use the function ArcCos(Cos(x))
on your calculator.)
![]() |
![]() |
| Fig. 2 Scattering angle θ as a function of angle of incidence for specified values of p |
|
![]() |
| Fig. 4 Relative intensities of of rays forming the primary rainbow (p = 2) for n = 1.33257 |
The relative intensities of the various rays can be calculated by using
the Fresnel reflection coefficients. The rays shown in Fig. 4 above correspond
to the rainbow angle for p = 2 rays (i.e. the primary rainbow).
Although the incident light has an intensity of 1 for both polarisations,
Fig. 4 indicates that the intensity of the primary rainbow is significantly
greater for perpendicular polarisation than for parallel polarisation.
![]() |
| Fig. 5 Ray tracing showing various parallel rays arriving from the left and leaving the sphere at a scattering angle θ of 40° (for refractive index of n = 1.33257) |
A beam of light arriving from the left of Fig. 5 can be modeled as a
bundle of parallel rays which are reflected and/or refracted by the sphere.
Instead of showing all of the rays, Fig. 5 shows only a few selected rays
- all of which emerge at a scattering angle θ of 40°. As the incident
light is coherent, the intensity of the light scattered in a particular
direction (e.g. 40°) is dependent on the relative amplitudes of each
of the rays shown in Fig. 5 and on the phase delay caused by various propagation
paths through the sphere.
![]() |
| Fig. 6 Results of ray tracing showing the intensity of the primary rainbow (p = 2) and the secondary rainbow (p = 3) for n = 1.33257 and radius = 100 µm |
The maxima and minima in Figs. 2 and 3 are very important. The
very slow variation of scattering angle near the minima or maxima has the
effect of concentrating the scattered light - as shown in Fig. 6 above
- and generating very intense narrow beams of light. In fact, ray
tracing predicts infinite intensity at each of the rainbow angles (e.g.
for p = 2, p = 3, p = 4, etc.). Furthermore, Fig. 6 shows that ray
tracing predicts zero intensity between the two rainbow angles of 127.9°
and 137.9° because no geometric ray for p = 2 or p = 3 can be scattered
into this zone - corresponding to Alexander's dark band. Note that
the shape of the scattering pattern predicted by ray tracing is independent
of the radius r of the scattering sphere, but the intensity is proportional
to r2.
![]() |
| Fig. 7 Comparison of ray tracing and Airy theory for the primary rainbow (p = 2) and the secondary rainbow (p = 3) for n = 1.33257 and radius = 10 µm |
![]() |
| Fig. 8 Comparison of ray tracing and Airy theory for the primary rainbow (p = 2) and the secondary rainbow (p = 3) for n = 1.33257 and radius = 100 µm |
![]() |
| Fig. 9 Comparison of ray tracing and Airy theory for the primary rainbow (p = 2) and the secondary rainbow (p = 3) for n = 1.33257 and radius = 1000 µm |
By contrast, Airy theory predicts very different scattering patterns
for different values of radius - as shown in Figs. 7 - 9 for radius = 10
µm, 100 µm and 1000 µm respectively. Note that
Airy's maximum intensity does not coincide with the geometric rainbow angle
predicted by ray tracing: the error becomes small only when the radius
of the sphere is very large (e.g. >1000 µm) Airy
theory also shows significant intensity in Alexander's dark band between
the primary and secondary rainbow. Finally, the supernumerary arcs
predicted by Airy theory are not reproduced by ray tracing. Because
of these obvious shortcomings, ray tracing has generally been dismissed
as a useful mathematical model. However, as will be shown on
the next page, some refinements of ray tracing can
yield some interesting results
MiePlot offers the option of calculations based on ray tracing, using the methods developed by Descartes/Newton and Young.
Page updated on 3 January 2008
| Previous page: Modelling the corona |
|