/Geopter

Optical Design Software

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Geopter

demo

Overview

Geopter is optical design software based on geometrical ray tracing.

As the first noteworthy feature, Geopter provides intuitive graphical user interface, putting a priority on usability. Geopter aims to be a comprehensive environment where the user can focus on optical design.

From the viewpoint of license, Geopter is a free and open source software, distributed with source codes so that the user has an access to its most internal aspects. It will provide an introductory experience of optical design and computing.

Getting Started

Prebuilt Binaries

Prebuilt binaries for Windows can be downloaded in Release page.

Build from Source

Qt is supposed to be installed in your computer. All of the dependencies except Qt itself have been included in this repository, so QtCreator can build project by reading CMakeLists.txt.

Another way is to create Visual Studio Solution using CMake.

Examples

Some example lenses are stored in "example" folder in json format. In Geopter GUI, go File->Open and select a json file.

Dependencies

Library Description
Qt widget toolkit for GUI
Qt Advansed Docking System Flexible docking layout system
QCustomPlot Graph plotting library
nlohman/json JSON utility
Eigen template library for linear algebra
ttk592/spline spline interpolation

License

This project is licensed under GPL license - see the LICENSE for details.

Contributing

Contributions and feedbacks are greatly appreciated. Please read CONTRIBUTING for details on our code of conduct, and the process for submitting pull requests to us.

Acknowledgement

The author would like to express respect and gratitude to the following excellent projects for their reference implementation of optical calculation.

  • mjhoptics/ray-optics : Highly matured python module for geometrical optical simulation. Most of Geopter's optics calculation is based on translation of this implementation.
  • Goptical : C++ implemenation of optical simulation with great deal of functionalities. The original project, however, has not been updated since 2012.
  • dibyendumajumdar/goptical : A progressive fork of Goptical. It still continues to be maintained with greatest effort.