Back to Index

POVRAY 'include' files for Optical Components

POVRAY requires a 'constructive solid geometry' (csg) representation  of the objects in the scene.   It is remarkable how  most cultural entities can be formed in this way.  This is especially true of optical components, because these are generally constructed  to be as near as possible to be perfectly geometrical shapes.  The geometry of typical optical components is most easily formed by the use of  spheres, boxes, cylinders and planes.  By the use of 'Boolean' geometry, it is possible to construct the 'inverses' of objects  to form lens shaped objects.

Many complex optical systems contain 'aspherical' lenses. This type of lens is generally of spherical form, but relatively small rotationally symettric 'figuring' is applied to the surface to create a desired aberration at the surface. Very much larger aspherical terms can be used to create very pronounced aspherical shapes such as paraboloids or hyperboloids.  The POVRAY *.inc files presented here follow the conventional optical design community's representation of an aspherical surface as an addition to a sphere in the z direction represented by a power series in the square of the zonal radius.. i.e  Z(asphere) = Z(sphere) +  AD*R^2 + AE*R^4+...

The lenses are constructed by the intersection of spheres or inverse spheres of refractive material. Depending on the type of lens, there may be 'lands' used to mount the lens in the metalwork of the optical system. Anti-reflection coatings may be applied to the surfaces, and the lands are typically absorbing.

There  are generally four lens shapes - here are their POVRAY *.inc files
1.  The concave/convex, 
2.  The concave/concave
3.  The convex/convex
4.  The convex/concave

and a plane parallel plate 'plano', such a window.

Note that the povray include files *.inc and the action files *.pov  are in the pages as both html files and as POVRAY style text files.

In most optical design programs, including ZEMAX, the lens elements of surface radii and spacings are specified in 'relative co-ordinates', stepping along in sequence following the intended ray paths.  In POVRAY the elements are specified in  'global co-ordinates'.  When converting from a ZEMAX lens prescription this must be catered for. 
The relative/global co-ordinate notation is managed by the variables 'ThisOrigin' and 'NextOrigin' in the include files.

There are many types of optical glasses. They are characterized by their refractive index, and its variation with spectral wavelength, known as the Abbe number. Although the differences in refractive index between glasses appear to be small, it is these differences which make possible the creation of high performance lenses.   Chromatic effects can be created in POVRAY through the use of the Abbe number.   By assigning extreme dispersion values it is possible to model diffraction gratings.  In POVRAY it's possible to attach internal scattering properties to glasses - but try to avoid this, unless absolutely necessary as computation times can explode.

Many optical  systems contain 'prisms'.  These are generally present to bend the direction of the optical path or to correctly orient the image up/down ( invert) and left/right (revert) the image.  Typical examples are the  Porro prism in binoculars or the Pechan derotation prism in panoramic scanning systems.  Prisms are created by intersecting refracting 'boxes' with 'planes' at the appropriate angles.

© Don Barron 2005