Fresnel from Lens Element
Introduction
The Fresnel lens had its origin in the design of lighthouse lenses. Its grooved surface represented a novel method for substantially reducing the amount of glass needed to produce large aperture, short focal length elements. Surface shapes derivative to the Fresnel lens find application in general illumination as well as in imaging systems such as cameras and telescopes. Their design is based upon annular zones, which can either have constant width or occur at radii associated with a fixed sag amount as shown in Figure 1. The objective of this article is to provide FRED users with a tool for the creation of Fresnel surfaces until such time as it becomes a permanent member of FRED’s native element library.
Using the Script
This article documents a scripting routine that can be used to generate surfaces similar to those shown in Figure 1. Their construction is based on the generation of a family of shifted annular base surfaces separated by concentric tubes. As such, these Fresnel surfaces are realized as collection of surfaces. The script is included as an Embedded script in the associated FRED file SagSurfaceIntoZones.frd. This FRED file should be used as a test environment before general use.
The script replicates a base surface under one of the two conditions illustrated in Figure 1. The user is first presented with the dialog shown in Figure 2 allowing selection of the base surface from which the Fresnel surface is to be constructed. Only surfaces with the allowed type are shown in the list. After selecting the surface, a second dialog shown in Figure 3 prompts the user to select the sagging method and enter numeric value corresponding to either a sag depth or zone width. It also prompts for the Fresnel surface location. The first choice, coincident with base surface, creates the surface at the same location as the original surface. This is most likely the desirable choice if a stand-alone surface is being sagged. The second choice, coincident with edge, shifts the whole Fresnel surface to the edge of the original surface. This is useful for sagging a lens surface while keeping the solid nature of the element intact. Note that if a Lens element surface is chosen, it will be converted to a Custom Element.
Once these selections are made, the original base surface is set to Untraceable and the collection of surfaces is created. Figure 4 shows two resulting Fresnel surfaces.
Script Overview
Embedded Script Name: convertToFresnel.frs
- A list is compiled of all Conic and Aspheric surfaces in the FRED model and presented to the user for selection through a dialog box.
- Information is gathered from the selected surface in order to assure that the zones each have the same material, coating, raytrace controls.
- If the selected surface is part of a Lens entity, the Lens entity is converted to a Custom Element.
- Existing zones associated with the selected surface are deleted.
- A dialog is opened to allow the user to select between fixed sag per zone and fixed zone spacing. The user enters a numeric value setting either the sag height or zone width. The user also selects between the surface being coincident with the base surface or the edge of the surface.
- A loop cycles across the base surface creating a sequence of annular base surface replicas and tubes connecting each zone. A subroutine is included for calculating the radii associated with fixed sag per zone.
Script Assumptions
A minimum number of restrictions have been assumed by these scripts.
- The base surface must be either a Conic or a Standard Asphere surface type. Flat surfaces are not allowed.
- The base surface can be either part of a Lens entity or a Custom Element.
- If the base surface is changed, the script must be run again to re-construct the surface.
- The surface has no inflection points. The script has not been designed to handle concave and convex sections on the same surface.
FRED File: SagSurfaceintoZones2.frd