Simulation software of two-dimensional geometric optics
This software for educational purposes is available under the GNU General Public License, a copy of which is supplied with the distribution. You can therefore freely use it, make copies, and modify it (provided you respect the license). The source code is available on the author's site.
And if you find OptGeo useful, send me a little email, it's always a pleasure!
I Software Operation
Important note: using the mouse
How to...
...move an element or a source
...delete an element or a source
...duplicate an element or a source
...cancel an operation in progress
Preferences (File menu)
II Properties of various optical elements
1) Light sources
2) Mirrors
; Spherical mirror ideal (Concave & Convex)
; Spherical mirror real (Concave & Convex)
; Elliptical mirror; parabolic; hyperbolic
3) Refracting Regions
; Ideal thin lens (Converging or Diverging)
; Any lens
; Refracting polygon (including: prism, blade, etc...)
4) Absorbent or transparent surfaces
; Screen
5) Diffracting surface
Presentation
Choose the dimensions of the work space,
then place any of the following items on it:
Mirrors (plane, spherical, parabolic, hyperbolic, elliptical)
Lenses (thin or thick)
Refracting volumes (spheres, prisms, blades, polyhedra)
Miscellaneous elements (screens, diaphragms, beamsplitter plates, diffraction gratings)
Other (grid, measure distances & angles, add StylisticEye-text-normals, hide ray segments)
Sources (real point, virtual point waves, plane waves, single rays)
Optgeo traces the light rays, using Descartes laws.
It can also, in some cases, draw wave surfaces.
The directory "examples" contains a number of simulations including:
Lenses, Mirrors, Dispersion, Telescopes, Michelson, Chromatic Aberrations, Astigmatism, etc.
Important Note: using the mouse
An optical element is identified by at least 2 points. When entering an element with the
mouse, do not hold down the mouse button between the 2 points; eg. with a plane mirror, simply click at the point where you want the mirror's 1st edge, release the button, move to where you want the 2nd edge, click again and release.
Note: To place 2 consecutive points on the same horizontal, make a single click for the first point, then press the "Ctrl" key on the keyboard, keep it pressed, make a single click to the second point, then release the "Ctrl" key. To place them on the same vertical, use the same procedure but with the "Alt" key.
Add an element or source
For each element, there are 2 methods available: with the mouse, and with the keyboard. Entry with the mouse allows fast setup, but some properties of the element will have standard values. Keyboard entry takes longer but allows adjustment of all settings. You can also use both methods: quick mouse input, then by editing the element's properties.
To enter with the mouse: just click on the icon of the element in the Toolbar, then enter the different points: see important note on the use of the mouse.
To enter on the keyboard, you must go through the Add menu.
Note: Placing Holes in Mirrors: It can be useful in certain cases to place a hole in the centre of spherical mirrors (eg. combination optics in some telescopes); for that, start by adding a normal mirror; then edit its properties. In the mirror's properties box choose the hole and its size.
Move an element or a source
Click the "Move" button in the toolbar, or go through the "Edit" menu then
"Moving an element". Around the characteristic points on all displayed elements there will be a number of blue circles, green crosses, and possibly a cyan cross. When you pass the mouse cursor over these points, the cursor changes shape, indicating possible operations. It is thus possible to translate an element (cross green), to move one point without moving the others (blue circles) (the cursor indicates "rotation", although the term is improper, the displacement also allowing a expansion or retraction of the element), move a center of curvature or focus (cyan cross).
The method is as follows: when the cursor has the desired shape, click and release; move the mouse to destination, click and release; the element is redrawn "live" as it moves to its new location.
Vertical displacement: Press "Alt" key and hold it down; click on the point to be moved; bring it to the new position, click to put it down, and finally release the "Alt" key.
Horizontal displacement: Press "Ctrl" key and hold it down; click on the point to be moved; bring it to the new position, click to put it down, and finally release the "Ctrl" key.
Important: Once the changes have been made, click on the button "End Move." in the toolbar to return to normal mode.
Tip: If you have trouble distinguishing 2 points that are too close, use the zoom in the toolbar to separate them. If you can't do it like that, go through "Properties" instead.
Edit an element or a source
Click on the "Properties" button in the toolbar, or go through the "Edit" menu then "Element Properties". Around the characteristic points on all displayed elements there will be a number of blue circles. When hovering the mouse cursor over these points, the cursor changes shape, saying "Properties: click". A single click then opens the element properties window. (it's the same window that opens when selecting an element through the "Add" menu). Validate the modifications in the window using the "OK" button or exit without changes.
Important: once the modifications are made, click on the "End prop." button in the Toolbar to return to normal mode.
Delete an element or a source
Click the "Delete" button in the toolbar, or go through the "Edit" menu then "Deleting an item". Around the characteristic points on all displayed elements there will be a number of red circles. When you pass the mouse cursor over these points, the cursor changes shape, taking the shape of a hammer. A click simply allows, after asking for confirmation, deletion of the corresponding element.
Once the deletion is performed, the software automatically exits the deletion mode. If in the end you don't want to delete anything, you have to click on the button "End del." in the toolbar.
Note: if you want to start from a blank simulation, go through the "File" menu, then "New simulation".
We can group elements in order to to be able to translate them together.
- First method: click on the button "Group." from the toolbar; on each of the elements present in the simulation a purple cross appears; simply click on this cross to add the element to the group; a dialog box confirms the addition of the item; once all the desired elements have been added, click on the "End" button. A dialog box confirms the creation of the group.
- Second method: "Edit" menu then "Group elements" then "All elements" or "Elements to choose". In the second case, entering the elements to add is done as in the first method. In the first case, a group is created that contains all the elements present.
Moving a group: click on the button "To move"; the group is represented by a green cross and the letters "Gr"; we can then move as for a classic element. This point is the isobarycenter of the characteristic points of the constituent parts of the group.
Deleting a group: as for the other elements.
Duplicate an element or a source
Click the "Duplicate" button in the toolbar, or go through the "Edit" menu then "Duplicate an item". Around a characteristic point on all displayed elements there will be a blue circle. When you pass the mouse cursor over any of these points, the cursor changes shape to an arrow (with the word Dupliqu). A simple click then duplicates the corresponding element.
Once the duplication is performed, the software automatically exits the duplication mode. If in the end you don't want to duplicate anything, you have to click on the "End dupl." button in the toolbar.
Cancel an operation in progress
To cancel the operation in progress, press the 'Esc' key on the keyboard while the cursor is above the workspace.
Undo/Redo the latest operations
Last operations (i.e.: adding or deleting an element, modifying its properties, moving, grouping, duplicating) can be undone (up to 50 undo levels) using the key combination Ctrl+Z (or: menu "Edit", "Cancel"). And if in fact we didn't want to cancel (only fools never change their minds!), we restore by means of the key combination Ctrl+R (or: menu "Edit", "Redo").
Grid
You can use a grid to align points and elements on the work space. This is done through the "Options" menu.
If "Snap to grid" is checked, when entering a point, it is moved (snapped) to the closest point on the grid. This is also true when adding elements and during their translation.
However in some situations this is not done; as in the case when entering the focus of a lens: the edges of the lens are already chosen, the focal axis is imposed, and the focus cannot necessarily be placed on a point on the grid.
Displaying the grid can be done by checking the "Grid" checkbox in the toolbar.
Normal
The 'normals' to element surfaces (lenses, mirrors, etc) can be displayed. To do this, go to the menu "Options" then "Show surface normals", or by checking the "Normals" checkbox in the toolbar. More configuration options can be selected via the "Options" menu, then "Options for drawings normals".
The angles of incidence and refraction can also be displayed, either by the "Options" menu then "Show angles", or by the checkbox "Angles of inc. and refr." in the toolbar.
Notes: 1) the angle display option also imposes the 'normals'
2) values of angles are given in degrees (°); number of decimals displayed can be set through the "Options" menu, then "Options for drawing normals".
3) for optical elements "idealized" (thin lenses, paraxial spherical mirrors), normals and angles are not plotted, since the symbolic representation of these elements erases their real form.
Associating .opt files with OptGeo
If we choose to associate the .opt simulation files with OptGeo, a double-click on an .opt file will open it. The installer does not force this choice, you are free to use it, or not.
Background color
Allows you to change the background color of, or add an image to, the work space.
Preferences
Allows you to choose the default attributes of elements at creation (color, thickness, font...).