Soon, we will launch a new and updated customer portal, which is an important step toward providing our customers with one place to learn, interact, and get help.
Learn more.

How to Pivot Any Element About Any Point in Space

The coordinate breaks in OpticStudio are extremely flexible. Coordinate breaks can be used to tilt or decenter any optical surface, or group of optical surfaces, about any pivot point, without disturbing the rest of the optical system.
 
In this article, I’ll show how to tilt a lens about its front vertex without disturbing the rest of the optical system. I’ll also use global coordinates to check that the system remains undisturbed. Then I’ll move on to tilting a lens about its center, and finally I’ll demonstrate tilting a lens about an arbitrary point in space.
 
Erin Elliott
09/24/2015
OpticStudio
Sequential Ray Tracing
First Time Users

Introduction

The coordinate breaks in OpticStudio are extremely flexible. Coordinate breaks can be used to tilt or decenter any optical surface, or group of optical surfaces, about any pivot point, without disturbing the rest of the optical system.
 
In this article, I’ll show how to tilt a lens about its front vertex without disturbing the rest of the optical system. I’ll also use global coordinates to check that the system remains undisturbed. Then I’ll move on to tilting a lens about its center, and finally I’ll demonstrate tilting a lens about an arbitrary point in space.

A three-lens system

I’ll use a simple three-lens system to demonstrate. It consists of three convex-plano singlet lenses. The 3D Layout plot is shown in Figure 1. I’ll tilt the center lens, Lens 2. The points A and B are fixed points on the axis that mark the vertex locations of Lens 2 before it’s tilted or decentered.
 
Figure1  
Figure 1: 3D Layout plot of a simple three-lens system.

The Lens Data editor is shown in Figure 2. The object is at infinity, and the system’s stop sits at the front of Lens 1. Lines 6 and 7 are the front and back of Lens 2. For convenience, I’ve placed the spaces between the lenses into separate lines (5, 8, and 11).

Figure2
Figure 2: The Lens Data Editor for the three-lens system.

Tilt about the front vertex

I can easily tilt Lens 2 about its front vertex by inserting a Coordinate Break surface before the “lens 2 front” surface as shown in Figure 3. The new line becomes Line 6. That places a pivot point at A, so I’ve labeled the line “pivot point at A.”

Figure3Figure 3: Inserting Line 6 to create a pivot point at A.
 
   

I’ve placed a value of 5° in the “Tilt About X” column. Figure 4 shows the modified Lens Data editor, showing the 5° tilt in Line 6.

Figure4
Figure 4: Lens Data Editor showing 5° of tilt in Line 6.

 
Figure 5 shows the resulting 3D Layout plot. Lens 2 is correctly tilted by 5° about its front vertex.

Figure5
Figure 5: The 3D Layout plot after adding a 5° tilt at point A.
 
Unfortunately, the rest of the system is tilted by 5 degrees as well. That’s because I tilted the coordinate system in line 6, but haven’t untilted the coordinate system anywhere else to compensate.

Correct the coordinate system

To fix this problem and leave the rest of the system unperturbed by the tilt of Lens 2, I need to untilt the coordinate system. To keep the geometry correct, it’s important to return to the original pivot point at A before reversing the tilts. After reversing the tilts, I can proceed forward to the rest of the optical system.

To accomplish that, I’ve inserted lines 9 and 10 in the Lens Data Editor, as shown in Figure 6. Note that Line 9 is a Coordinate Break.

Figure6
Figure 6: Lines 9 and 10 are used to reverse the tilts from line 6.
 
Line 9 returns us to the pivot point at A (line 6) and reverses the tilt applied there. I’ve done that using a “Coordinate Return.” A Coordinate Return is set up using “Surface 9 Properties” in the Lens Data Editor, as shown in Figure 7. Under “Tilt/Decenter” and “Coordinate Return,” I’ve selected “Orientation, XYZ” and set the “To Surface:” as 6.

Figure7
Figure 7: Setting up a Coordinate Return.

OpticStudio automatically calculates and applies the tilts, decenters, and thickness needed to return to line 6 and applies the values to line 9. The Coordinate Return values are indicated with an “R” next to each value. (See Figure 8.)

Figure8
Figure 8: Coordinate Return values are automatically calculated and are indicated with an “R.”

The automatic Coordinate Return in line 9 will correctly “undo” any combination of tilt and decenter that is placed on Line 6. The example I’ve shown uses only “Tilt About X,” but one can use any combination of X decenter, Y decenter, Tilt About X, Tilt About Y, and Tilt About Z. Line 9 will automatically return to the correct coordinate system in all cases.
 
Now that we’re back at point A, Line 10 just proceeds to point B using the thickness of the lens, as shown in Figure 6.

In the 3D Layout plot shown in Figure 9, Lens 3 and the image plane are now in the correct locations, unperturbed by the tilt in Lens 2.

Figure9
Figure 9: The 3D Layout plot after “untilting” the coordinate system.

 Checking the work

Layout plots can be used to check that you’ve gotten the coordinates approximately correct. But small mistakes in tilt and decenter won’t be easily visible in the layout plot. To check for small mistakes, it is best to look at the global coordinates of each element in the system.
 
The global coordinates can be accessed through “Analysis / Report / Prescription Data,” as shown in Figure 10.

Figure10
Figure 10: Global coordinate data can be found under Analysis / Reports/ Prescription Data.

Under “Settings,” I’ve unchecked all the options except “Global Vertex,” as shown in Figure 11.

Figure11
Figure 11: The settings used to generate a list of global coordinate locations for each surface in the system.

The global vertex of each element will be listed in the output window as shown in Figure 12. I can examine the data to check that the 5-degree tilt on Lens 2 hasn’t changed the locations or tilts of the remaining surfaces.
 
In particular, I can see that Lines 10 through 15 don’t contain any tilt because the rotation matrices contain only 1s and 0s. I can also see that Lens 3 and the image plane have global Y coordinates of 0, indicating that those surfaces are correctly located on the system axis. (Note that the numbers on the order of 10-16 are computational errors and can be treated as zeroes.)
 
I’ve verified the Z-coordinates of each surface by comparing the values before and after adding tilts and decenters to Line 6.
 
The global coordinate check proves that Lens 2 has been correctly tilted by 5 degrees without disturbing the rest of the optical system.
 Figure12
Figure 12: Global coordinates for each surface in the system, used to check that the tilt on Lens 2 doesn’t affect the rest of the optical system.

Tilt a lens about its center

If I want to tilt a lens about an on-axis point at its center, I can use a method similar to the one above: move to the pivot point, pivot, return to the front of the lens. After the lens, return to the pivot point, undo the tilt and decenter, and proceed onward to the rest of the optical system.
 
A 3D Layout plot of the lens system is shown in Figure 13. I’ve tilted Lens 2 by 5 degrees about the on-axis point at its center, half way between points A and B.

Figure13
Figure 13: A 3D Layout plot showing Lens 2 tilted about the on-axis point at the center of the lens.
 

The Lens Data Editor for this situation is shown in Figure 14. Lines 6, 7, 10, and 11 are used. Note that lines 7 and 10 are Coordinate Breaks. Lines 6 and 11 carry only thickness values. Note that Lens 2 has a total thickness of 3 mm, as shown in the “Thickness” column of Line 8.

Figure14
Figure 14: The system configuration in the Lens Data Editor, when tilting a lens about the on-axis point at its center.
 

Here’s a breakdown of what’s happening:
 
  • After line 5, we’re at point A. (See Figure 13.)
  • Line 6 carries a thickness of 1.5 mm, which is ½ the lens thickness. That moves us forward along the axis to the center of the lens, where we want the pivot point to be located.
  • Line 7 carries out the tilt and decenters. I’ve used a 5 tilt about X. (See Figure 15.)
  • After the tilt and decenters are applied in Line 7, the thickness of -1.5 mm is applied. That moves us back from the pivot point to the front of the lens. (That’s true even if the lens is now tilted and decentered.)
  • Lines 8 and 9 build the lens in the new tilted/decentered coordinate system. After Line 9, we’re at the back of the lens.
  • Line 10 uses a coordinate return to return to line 7. That returns us to the pivot point at the center of the lens, and “undoes” the tilts and decenters.
  • Line 11 moves us forward by 1.5 mm along the axis, half the lens thickness, to reach point B. We can then proceed with the rest of the optical system.
Figure15
Figure 15: The tilts and decenters applied in Lines 7 and 10, to properly tilt Lens 2 by 5 degree
s without disturbing the rest of the optical system.
 

Tilt a lens about any point in space

The cases above are common, specific cases. But Coordinate Breaks can also be used to set up a generic pivot about any point in space.
 
For example, suppose that I want to tilt the lens about the X axis again, by 7 degrees. But this time, I want to tilt about a point that’s 20 mm above the lens, as shown in Figure 16.

Figure16
Figure 16: Pivot Lens 2 about a point 20 mm above the lens center.

The Lens Data Editor for this situation is shown in Figures 17 and 18. I’ve used three lines before the lens and three lines after the lens to create a fully generic pivot. Although the system looks complex, most of the values fill in automatically, and I only need to create the setup once. I can copy these lines to any optical element, and use them to place a pivot point anywhere in space.

The three lines before the lens are used to go to the pivot point, carry out the pivot, and return. The three lines after the lens do the same in order to undo the pivot.

With this setup, any combination of tilts or decenters can be applied to Lens 2 by entering the values in Line 7.  Any pivot point can be chosen by entering the values into Line 6.

Figure17
Figure 17: The Lens Data Editor showing a fully generic pivot for Lens 2.

I can also think of what’s happening in the Lens Data Editor in terms of pairs of lines. Lines 6 and 8 take me to and from the pivot point. Lines 11 and 13 do the same, after the lens. Lines 7 and 12 are the pair of lines that carries out the tilts and decenters on Lens 2, and then reverses them after the lens.

Figure18
Figure 18: The Lens Data Editor showing the tilts and decenters used to tilt Lens 2 by 7° about a point 20 mm above the lens.

Here’s a line-by-line breakdown of the setup:
 
  • After line 5, we’re at point A on the optical system’s axis. (See Figure 16.)
  • Line 6 applies the thickness, tilt, and/or decenters needed to get from A to the pivot point. In this example, I’ve moved 1.5 mm along the axis to the lens center, and then +20 mm along the Y axis to reach my pivot point.
  • Line 7 applies the decenters and tilts to the lens element. In this example, I’ve entered a 7 degree value in Tilt About X.
  • Line 8 reverses the motions used to get to the pivot point. This takes us back to the front of the lens. The values in this line are calculated automatically using pickups. All the pickups are set to Line 6 with a scale factor of -1. Note also that the “Order” flag is set to 1.
  • Lines 9 and 10 create Lens 2.
  • Line 11 returns us to the pivot point. The values in this line are calculated automatically by setting up a Coordinate Return to Line 7. (See Figure 7 on setting up Coordinate Returns.)
  • Line 12 reverses the tilts and decenters on Lens 2. The values are calculated automatically using pickups. All pickups are set to Line 7 with a scale factor of -1. Note that the “Order” flag is set to 1.
  • Line 13 returns from the pivot point to point A. The values are calculated automatically using a Coordinate Return to Line 6.
The same technique can be used on any optical element, to decenter and tilt the element with respect to any coordinate system.

One final note: Once the off-axis pivot point has been set up, I can hide those lines. This simplifies the Lens Data Editor for situations when I don’t want to change the pivot point location often. Figure 19 shows the simplified Lens Data Editor. The “Hide Row” option appears when I right-click on the Line number.

Figure19
Figure 19: Simplifying the Lens Data Editor by hiding the lines used to define the off-axis pivot point.

Summary

- Coordinate Breaks can be used to tilt a lens about any point in space.

- In general, to tilt or decenter a lens element, move to the desired pivot point, carry out the decenters and/or tilts, and return from the pivot point. After the lens element, do the same to reverse the decenters and tilts.

- The method will work for any combination of tilts and decenters.

- Use global coordinates to check that the Coordinate Breaks are set up correctly.

- To simplify the Lens Data Editor, hide lines that aren’t used often.