A New Graphical User Interface for
Rayica/Wavica

Optical  Designing Made Simple

Donald Barnhart and Ann Williamson

Optica Software, Champaign, IL

Abstract

Rayica  is a Mathematica Application package that performs geometric, nonsequential, and polarization raytrace calculations of optical systems in three dimensional space. Wavica builds on the functionality of Rayica and Mathematica to calculate wavefront interference and diffraction, Gaussian beam propagation, ABCD matrix models, and analytic representations of optical systems.  In this presentation  we will present some new exciting developments. This  includes  an extensive, newly  developed graphical user interface.

    The key features of the GUI include pulldown menus for defining optical components, tables for  keeping track of  optical systems,  easy import  and export of  user defined optical systems to and from  Mathematica notebooks,  real time optics with  slider manipulation of symbolic variables, and new kinds of optimizations.   The GUI greatly improves ease of use and shortens the
learning curve.  The optimizations and real time graphics makes optical designing a much faster process.   It is also easy to mix notebook defined systems with  menu defined systems.  In this talk, we will present an overview of our new  GUI  and  share our experiences  in using GUIKit for its development.  In addition, we will show  some examples of interactive graphics in Mathematica version 6.

Rayica/Wavica  GUI Development

Starting an Optica Software Session with a Click

Main Menu  / Optical System Tables    (GUIKit)

Optical Component Menus (GUIKit)

Real-Time Sliders (GUIKit)

Examples of Real-Time Optics using  Mathematics 6

Starting an Optica Software Session

Select "Start Optica Software Session" from the Mathematica Help Menu:

Starting an Optica Software Session  cont ...

\(\(\(
\)\(Manual\ method


    Needs["Rayica`Rayica`"]

    Needs["Wavica`Wavica`"]

    RealTimeControls[]\)\)\)

Main Menu/ Optical System Tables

Optical Component Menus (GUIKit)

Real Time Graphics (GUIKit)

Examples in  Mathematica 6