How to model corner-cube retroreflectors

Corner Cube retroreflectors are commonly used in a wide range of optical systems. This article describes various different ways in which these components can be modeled in OpticStudio. The treatment can be as detailed as the user needs, with effects due to face misalignment, roofline straddling, thin-film coatings, diffraction etc. included as required.

Authored By Mark Nicholson


Article Attachments


Corner-cube retroreflectors use three mutually orthogonal reflectors to retro-reflect any ray that lands on it. A flat mirror will only achieve retro-reflection in the specific case where the ray lands at normal incidence. By contrast, the corner cube retroreflector will retro-reflect over a wide range of incident angles. This makes it very useful in applications where precise alignment is difficult to achieve, where vibration is present, or where the retroreflector must be moved, for example.

In this article, we will examine multiple corner-cube retroreflector systems and their setups. Each system is provided as an article attachment.

The perfect retro-reflector

The simplest way to model a retro-reflector is with the Sequential 'Retro-Reflect' surface. This idealized surface is a planar surface which reflects rays back exactly along the incident path, acting as a perfect phase-conjugate mirror. The file 'perfect retro-reflector.zmx' shows such a system:


The retro-reflect surface can be tilted as much as is wished, and the rays will always reflect exactly along the incident direction. There is zero OPD or lateral offset introduced by this mirror. Perfect.

But in reality, such perfection does not exist. Corner cube retroreflectors are made to finite precision, and there can be complicating effects due to the faces not being exactly orthogonal, surface form errors, material inhomogeneity and more. In this article, we will build a complete model of a corner cube retroreflector and examine the effects of these imperfections.

A polygon object model of the corner-cube

The corner-cube retroreflector uses three mutually orthogonal reflectors to retroreflect any ray that lands on it. It is therefore ideal to model this with a polygon object (referred to as a POB object in this article) and hybrid-mode Non-Sequential ray-tracing, as follows:

! CUBE CORNER Retroreflector 
C 0 "Front Face" 
C 1 "Side 1" 
C 2 "Side 2" 
C 3 "Side 3" 

! First define the location of the vertices 
! Front face vertices 
! Local coordinate reference is in the center of the front face 

V 1 12.247448713915890490986420373529 -7.0710678118654752440084436210485 0 
V 2 -12.247448713915890490986420373529 -7.0710678118654752440084436210485 0 
V 3 0 14.142135623730950488016887242097 0 

! Back vertex 

V 4 0 0 10 

! Now define the triangular facets 

! All faces are isreflective = 0 so reflectivity is set 
! by the index of the material and any coatings applied 

! Front 
T 1 2 3 0 0 

T 4 1 2 0 1 
T 4 1 3 0 2 
T 4 2 3 0 3 

See the User's Guide for full details of the POB file syntax. This produces an object like so:


Vertices 1,2,3 and 4 are defined at the stated (x,y,z) coordinates, and they are then formed into a series of four triangles to make up the faces of the object. For example, T 1 2 3 forms the front face from vertices 1, 2, and 3. The syntax is

T vertex1 vertex2 vertex3 isreflective face 

The "isreflective" flag is -1 if the surface absorbs, 1 if the surface reflects, or 0 if the surface refracts. Note using this flag allows some triangles to be reflective, and others to be refractive or absorptive, within the same Polygon Object if desired. In this case, we want all faces to be refractive, and we will add coatings after if needed to provide the desired reflectivity. The value for "face" defines which face the triangle belongs to. In this case, each triangle is a unique face. Coatings and scattering functions are added to the faces, like so:


Note that the 'friendly' names given to the faces in the drop-down list are set by the C 0, C 1 etc. lines in the POB file above. We will leave all faces uncoated for now. When we fire a ray into the corner cube, the ray undergoes three total internal reflections and is retroreflected back along the direction it came in, with a lateral offset:


This file is 'Perfect corner-cube retro-reflector.zmx' in the zip file at the end of this article. Note the .pob objects included in the zip file should be placed in the {Zemax}\Objects folder before opening the file.

The OPD plot shows that no wavefront error is introduced by this component:


and the ray-fan plot shows no angular error between any ray and the chief ray (note that this file is in afocal mode, so the ray-fan plot is in units of milli-radians).


Note also that if the retroreflector is tilted, the rays continue to retroreflect and the OPD remains flat. The return beam is offset with respect to the input beam but is perfectly collinear with it.

Polarization effects

So far, we are looking at a perfect corner-cube retroreflector, and we will go on to look at the effects of imperfect components soon. Before that, let us consider the effects of polarization and thin-film coatings on the perfect corner cube retroreflector.

Rays totally internally reflect at the N-BK7/air interface, and there is a phase change upon total internal reflection (Analyze...Polarization and Surface Physics...Coatings):



In the corner cube, each ray is total internally reflected three times, and the resulting accumulated phase change is, therefore, a function of incident polarization and position on the corner cube aperture (Analyze...Polarization and Surface Physics...Polarization...Polarization Pupil Map):


The incident linear polarization is transformed into a six-segment pattern. This means that even in the case of an "optically perfect" corner cube, there are artifacts imposed on the imaging quality of the beam by this phase rotation.

For most (but not all) Sequential analysis features, the polarization ray trace is only used to determine the transmitted intensity of the ray while accounting for Fresnel, thin film, and bulk absorption effects. The rays are attenuated in intensity and a weighted computation is performed. Polarization phase aberrations and the vectorial nature of polarization are ignored. 

However, some features consider not only transmission, but also the separate orthogonal vector components of the polarized light, and polarization phase aberrations. The Huygens PSF and PSF Cross Section, Huygens MTF, and Encircled Energy using the Huygens PSF all consider the full polarization vector and polarization phase aberrations. These computations work by computing data for the Ex, Ey, and Ez components of the polarized electric field separately, then incoherently summing the results. The polarization phase aberrations induced in each orthogonal component of the electric field are, therefore, considered as any other phase aberration.

For example, if the Huygens PSF calculation is set up as follows, and does NOT consider the effects of polarization (Analyze...Image Quality...PSF...Huygens PSF):


then the point spread function looks exactly as we would expect: an Airy disk in angle space, with a Strehl ratio of 1:


However, checking "Use Polarization" shows a very interesting result:


There are six subsidiary maxima, corresponding to the six regions of polarization phase rotation. The Strehl ratio falls to 0.334. Furthermore, the subsidiary maxima are not exactly six-fold symmetric. This is because the input linear polarization vector bisects the six-fold symmetry of the corner-cube.

Similarly, if we use Physical Optics Propagation (POP) to propagate a TEM0,0 beam through the corner cube and ignore polarization effects, we get exactly what we expect out: a TEM0,0 beam with a constant phase (optical path length) offset:



However, when polarization effects are accounted for:


we see:



All these effects are because of the phase rotation upon total internal reflection. If a coating that has zero phase upon reflection is placed on the end faces, all these effects disappear and the Strehl ratio returns to 1. Equally, if a coating that enhances the phase shift is added, the effects increase. If a quarter-wave MgF2 coating is placed on the retro-reflecting surfaces (and it may be bizarre to put an anti-reflecting coating on a totally-internally reflecting surface, but this is just for demonstration) then the phase on reflection from a single surface becomes:


and the Huygens PSF becomes:


Note that the Strehl ratio has now dropped to 0.280. Note also, however, that the angular range we are talking about is exceedingly small, and the 'beam width' in angle space is only approximately twice the diffraction limit. These polarization effects are real but very sensitive. As we shall see when we start to deform the retro-reflector, manufacturing errors can quickly swamp these sensitive interference effects.

An imperfect corner-cube retroreflector

Now open the file 'Imperfect Corner Cube Retro-Reflector.zmx' which is in the zip file that can be downloaded from the last page of this article. It is identical to the previous file, except a different POB object is used. This polygon object has only one difference to the perfect model: vertex 4 (the apex of the retroreflector) is shifted by just one micron:

! Back vertex 
V 4 0 0 10.001 

Since the wavelength is 0.55 microns, this is almost a 2-wavelength shift. The resulting change in optical performance is dramatic, and instead of the perfectly flat OPD, which we saw before, we now see this strange, non-Seidel aberration:


A typical commercial retroreflector, e.g. from CVI-Melles Griot, is specified to produce less than lambda/4 aberration, which gives you some indication of the tolerances that these devices must be made to.

The spot diagram (remember we are in afocal mode, so this is showing angular error) shows that the beam is being split into six component beams, as does the Huygens PSF. Ignoring the polarization effects from the total internal reflection, the Huygens PSF shows:


Note that the image delta setting has been increased to 0.005 mrad/pixel in order to capture the whole beam. When polarization effects are included, the PSF alters somewhat:


Finally, note that this is just one error: a z-shift of the apex vertex, which leads to a change in apex angle. The apex vertex can be shifted in x and y as well as z, and the (x,y,z) coordinates of the other vertices can be similarly perturbed.

A more detailed model

The POB object approach is ideal for modeling perfect corner cube retroreflectors, and imperfections due to face alignments. However, it is not ideal when things like surface form, chamfers on edges etc. are also desired in the model. For this, OpticStudio's powerful Boolean Object capability may be used.

In the file 'Perfect Corner-Cube retro-reflector Boolean object.zmx', we take the Boolean intersection of the corner cube POB object and a cylindrical volume, like so:



The resulting file traces exactly like the original object (except for a longer path length in glass due to the cylindrical section, but this has no effect on the wavefront). However, it is more extensible in terms of adding defects like chamfers. If the polygon object is replaced with three lens objects or polynomial asphere lens objects, then surface form can be easily added to the model. Gradient index materials can be used to model refractive index inhomogeneity.

CAD objects can also be imported and used in place of the Boolean or POB object if preferred.


Was this article helpful?
2 out of 3 found this helpful



Article is closed for comments.