MiePlot was originally designed to provide a simple interface (for PCs using Microsoft Windows) to the classic BHMIE algorithm for Mie scattering from a sphere  as published by Bohren and Huffmann in "Absorption and scattering of light by small particles" (ISBN 0471293407).
In addition to calculations of Mie scattering for single wavelengths, MiePlot offers calculations for scattering of sunlight  and simulations of atmospheric optical effects (such as rainbows, coronas and glories). These simulations can be superimposed on digital images of actual optical effects  as shown elsewhere on this web site. Click here to see some examples.
MiePlot also offers the option of calculations using the Debye series. Although Mie theory provides an exact mathematical solution to the problem of scattering of electromagnetic waves from an homogeneous sphere, it does not provide any insight into the physical processes involved in scattering. The Debye series is essentially a reformulation of Mie theory allowing the separation of contributions due to specific ray paths.
Fig. 1 shows the results of Mie calculations which include all scattering processes, together with the contributions from specific ray paths calculated using the Debye series. This graph demonstrates how the various scattering processes combine to produce the Mie solution. For example, as is well known from geometrical optics, the primary rainbow is caused by rays that have suffered 1 internal reflection (p = 2 rays) and the secondary rainbow is caused by rays that have suffered 2 internal reflections (p = 3 rays). Click here for further graphs of the Debye series generated by MiePlot.
Although Mie theory and the Debye series are rigorous, these calculations can be very time consuming. For simulation of rainbows, Airy theory can provide equivalent results in a small fraction of the time. Other calculation methods, such as ray tracing, are important from the perspective of the history of science  as well as offering insights into the process of scattering. The latest version of MiePlot offers the following additional methods of modelling the scattering of light by a sphere:
MiePlot allows the user to select:
Fig. 2. Polar diagram of scattering of red light (wavelength 0.65 µm,
perpendicular polarisation) from a water droplet of r = 10 µm
MiePlot also offers polar plots of scattered intensity versus scattering angle. The example shown above in Fig. 2 uses a logarithmic scale for intensity (each division represents a 10:1 change in intensity).
Other new features include graphs of scattering crosssections (Cext, Csca & Cabs) and scattering efficiencies (Qext, Qsca & Qabs) as functions of radius of the scattering sphere, size parameter or wavelength. One example is shown above in Fig. 3, which is similar to Fig. 24 in H. C. van de Hulst's 1957 book "Light scattering by small particles". The main difference is that, as van de Hulst noted, "not all minor wiggles are shown" on his version: this is understandable because he computed his results using a slide rule!
Many users have asked how to interpret the relative intensity scales used by MiePlot. Although MiePlot follows the conventions used by most authors on the topic of scattering, MiePlot provides the option of a different intensity scale (Watts/sq. m.). In this case, MiePlot calculates the scattered intensity at a specified distance (d measured in metres) from the scattering sphere for a specified intensity of the incident light (measured in Watts/sq. m.). MiePlot also includes the option of plotting the "phase function" which has the important property that its integral over all scattering angles is 1.

The Mie algorithm is applicable to scattering of light from a single sphere, but many users of MiePlot need to simulate scattering from many spheres, generally with slightly differing sizes (i.e. disperse). Previous versions of MiePlot could simulate scattering from a population of spheres with Normal or logNormal size distributions: in such cases, MiePlot approximates the required statistical distribution by making calculations at, say, 20 discrete values of radius  as indicated by the red lines in Figs. 4A & 4B above. The latest version of MiePlot also permits the use of arbitrary size distributions, such as in histograms derived from experiments. Fig. 4C approximates a Normal distribution using a histogram with "bins" of 1 µm width, whilst Fig. 4D approximates a logNormal distribution using "bins" of unequal width.
MiePlot 3.3 contains several new features:
Fig. 5. Parametric curve showing amplitude and phase for scattering angles between 0° and 120° for scattering of red light (wavelength 0.65 µm, perpendicular polarisation) from a water droplet of r = 1 µm
New features in MiePlot 3.4 include:
Fig. 6. Falsecolour map showing the intensity of the glory (caused by Debye series p = 2 scattering) as a function of
refractive index for scattering of red light (wavelength 0.65 µm) from a water droplet of radius r = 10 µm
New features in MiePlot 3.5 include:
Fig. 7. Polar plot of scattering of Gaussian beam of light (wavelength 0.5145 µm) with beam coordinates x0 = 0, y0 = 40 µm, z0 = 0
and beam halfwidth w0 = 20 µm from a water droplet of radius r = 43.3 µm
New features in MiePlot 4.0 include:
Fig. 8. Scattering matrix showing variations of S11, S12/S11, S33/S11 and S34/S11
as a function of scattering angle for red light (650 nm) scattered by a spherical water droplet with radius r = 10 μm
Fig. 9. Use of Fast Fourier Transform (FFT) calculations to display the frequency spectra of plots of scattered intensity over selected angular ranges
New features in MiePlot 4.1 include:
New features in MiePlot 4.2 include:
New features in MiePlot 4.3 include:
MiePlot4305.zip (file size: 1.05 MBytes = 1,085 kBytes = 1,110,530 bytes) contains MiePlot version 4.3, together with the associated Help and data files.
Download MiePlot4305.zip and extract the archived files into an appropriate directory on your computer (e.g. C:\Program Files\MiePlot).
To run MiePlot, simply run MiePlot v4305.exe (e.g. by double clicking on this file using Windows Explorer).
Note that MiePlot was originally designed for displays with 1024 x 768 pixels.
If you are still using a display with 640 x 480 pixels, MiePlot will not be usable at this resolution  sorry!
Users of Windows Vista or Windows 7 or 8 may find that the MiePlot's Help file is not available. If you have this problem, please visit the Microsoft web site at http://support.microsoft.com/kb/917607 and then follow the links to download the version of WinHlp32.exe required by your operating system.
Users of PCs configured in languages other than English may find that MiePlot fails to start correctly  giving an error message about "international" versions of Windows expecting "," (rather than ".") as the decimal symbol. For example, MiePlot assumes that numbers will be entered in the form "1.25", not "1,25". In fact, errorchecking routines will automatically convert such entries into the form expected by MiePlot.
N.B. Missing Files
As MiePlot was written in Visual Basic, some additional files may need to be installed on your PC.
If you see an error message regarding MSVBVM60.DLL, you can install all of the Microsoft Visual Basic 6.0 runtime files by downloading and running VBRun60.exe. This file is available from the Microsoft Knowledge Base web site.A good source of information is http://www.snapfiles.com/help/missingfiles.html where you will find many direct links to the "missing files" plus helpful installation instructions.
Many modern PCs already include the required files, but please let me know if you have any problems installing or running MiePlot.
The MiePlot computer program is available free of charge for noncommercial use. You may not sell it, but you can distribute it free of charge to others. Please include the Help files. However, this program is offered on the explicit understanding that no modifications may be made to it. Although this program has been tested on Microsoft Windows 98, NT, 2000, XP, Vista, Windows 7 and Windows 8, no warranty is offered!
I would like to thank everybody who has made suggestions for improvements to MiePlot. I hope that MiePlot v4 includes most of the requested facilities  but if you have any additional suggestions, please contact me.
If you wish to be notified when further versions of MiePlot become available, please send an email headed "MiePlot notification" to Philip Laven. Your email address will not be revealed to third parties  and it will only be used to send you occasional information about MiePlot and major changes to this web site.
Please inform me if you find any bugs  or have any suggestions for improvements or additional features. Any feedback will be welcomed.
Page updated on 2 January 2014
Previous page: Using MiePlot 

