Virtual Engineering: Design of Optical See-through Displays
The design of optical see-through displays implicates special requirements to computer-aided optical design.
Position and orientation of the focal plane as well as the image size and shape are of particular importance.
This document introduces an approach for the design of a construction software for such optical systems and discusses some important aspects of a concrete implementation of particular optical elements (e.g. lenses, mirrors, etc.).
A uniform structure for the optical elements was established that is able to represent all desired objects.
An algorithm for the computation of the optical path and the image is described, that provides the sequential arrangement of the optical elements within the optical system.
Based on this algorithm, an interactive construction tool is presented.
The tool features an intuitive proceeding in finding new optical arrangements and to facilitate the understanding of the underlying effects and relationships.
In extension, some aspects of the design of a conformal head-up display are discussed.
Parts of the optical path are outside the geometry of some objects.
The basic approach of the generic algorithm uses the properties of sequential alignment of the optical components with the human eye on the one side and the display on the other.
Therefore only the particular successor of each object in the optical path can absorb or transmit the emitted light.
On the one hand, this approach allows a fast computation of the optical path and the focal plane, because there is no need for expensive ray tracing.
On the other hand it offers an intuitive proceeding, because side effects like opposite occlusion or unintentional multiple occurrence of an object in the optical path are excluded.
For this reason the optical path is always completely visible in the maximum size that is possible depending on the display size.
This facilitates the adaption of the position, orientation and size of the particular optical elements to achieve the desired image properties.
The figure on the right side shows an example of a complete image (green rectangle) being computed, although parts of the optical path are outside the geometry of some of the objects.
The blue rectangles symbolize the area where the image hits the particular object plane.
In the case of the spherical lens, the corners of the image are outside the object's geometry.
At the succeeding object only a small part of the image is located inside the rectangular mirror.
This allows a quick proceeding whereas in a second step the size of the object can be easily adopted to the optical path.
Representation of Distortion.
With increasing complexity of the optical arrangement, various types of differently pronounced aberration may appear.
For the construction of an optical see-through display, the distortion of the image plays an important role.
Distortion is due to the different deflection of parallel rays with varying distance to the optical axis and therefore to the center of a lens (or a curved mirror).
This effect is called spherical aberration.
The image can be either cushion-shaped, barrel-shaped or show a combination of both types of image distortion, depending on the design and alignment of the lens.
Especially in the case of a spherical shaped lens, the distortion increases heavily with increasing distance to the center of the lens.
For the purpose of an accurate representation of aberration, several approximation algorithms were developed.
They combine approximation of the image points with a concrete ray tracing procedure.
The implementation of the construction tool is realized as an extension of the OpenGL?
This library is an implementation of the SGI Open Inventor specification.
For the implementation of the GUI the wxWidgets
library is used.
wxWidgets is a cross-platform GUI toolkit that allows writing GUI applications on multiple platforms (e.g. Windows NT/2K/XP, Linux with X11, MacOS?
- Install wxWidgets
- In VisStudio Build->Build Solution
- For completeness switch to release and build solution again
- Env-Var WXWIN point to wx folder where include folder is
- Open OpticalDesignApp.sln
- Build solution
Virtual design and real prototype of a conformal, automotive HUD