Skip to content

Proof of concept release

Pre-release
Pre-release
Compare
Choose a tag to compare
@SeanDS SeanDS released this 22 Nov 12:45
· 174 commits to master since this release

Optivis

Optivis is a layout engine for optical configurations. Basically, you add a bunch of components to your table and define links between them. Optivis handles the drawing of links between the components, all of which can be rotated to different angles. There is support for components with multiple inputs and outputs, and inputs and outputs can have arbitrary angles with respect to the components.

Optivis uses a base set of SVG graphics produced by Alexander Franzen (http://www.gwoptics.org/ComponentLibrary/). Internally, it converts the SVG graphics into bitmaps for the purposes of display, but eventually it is planned to be able to export optical configurations from Optivis into new SVG files, for convenient insertion into papers, presentations and other documents.

Screenshots

Optivis can connect components together and display markers for the start and end of each link:
opt1

Optivis can handle situations where outputs are connected back to inputs via other components (such as the beam splitter below). Optivis currently favours the optic placed first when it decides the layout of components, but it warns the user if they have tried to over-define an environment (such as setting a length of 50 in one direction and 100 in other).

opt2

It is possible to define component inputs with respect to the component's angle. This is useful for mirrors, where the angle of incidence and orientation of the optic determines the angle of reflection.

opt3