1 Introduction

Goptical is a C++ optical design and simulation library. Goptical is free software and is part of the GNU project.

It provides model classes for optical components, surfaces and materials. It enables building optical systems by creating and placing various optical components in a 3d space and simulates light propagation through the system. Classical optical design analysis tools can be used on optical systems.

It takes advantages of the C++ object model to allow building complex optical systems with a few classes instanciations as optical components are represented by language objects.

1.1 Features list  

  • Goptical relies on an object oriented optical design approach. This allows designing optical component models and reuse them nested in other designs. Components are stored in herarchical form and live in a three-dimentional space with group local coordinates.

  • Support for sequential and non-sequential ray-tracing.

  • Available components include:

    Surface curve and material used by optical components are described using dedicated models.

  • Several surface curvature models are available:

    Most curve models can be described using model specific parameters or by best fitting any curve object.

  • Several glass material models are available:

  • Surfaces outline shapes are described by a set of model classes too:

  • Optical system analysis tools include:

  • Several graphical output driver are available to render optical layouts and plots:

    • output in Svg vector format.

    • output in bitmap format using the Gd library.

    • output in Dxf CAD format.

    • output in various formats via the PlPlot library.

    • X11 display on UNIX boxes.

    • 3d display using the OpenGL library.

    • output in X3D, a standard 3d format.

  • Various optical design file formats can be read:

    • Oslo glass catalog

    • Zemax glass catalog and optical designs

Valid XHTML 1.0 StrictGenerated by diaxen on Sun Jan 8 00:47:23 2012 using MkDoc