System4f.insert

raytracing.System4f.insert(self, index: int, element: Matrix)

This function is used to insert a matrix at a specific index.

Parameters:
  • index (int) – Index where the matrix is inserted.

  • element (Matrix) – Matrix object to insert. Can be a single matrix or multiple matrices within a group.

Examples

Let’s insert a 2f system in front of another 2f system to build a 4f system

>>> from raytracing import *
>>> initialGroup = MatrixGroup([Space(10), Lens(10), Space(10)])
>>> print(f"Initial 2f is imaging? {initialGroup.isImaging}")
Initial 2f is imaging? False
>>> initialGroup.insert(0, MatrixGroup([Space(15), Lens(15), Space(15)]))
>>> print(f"Final 4f is imaging? {initialGroup.isImaging}")
Final 4f is imaging? True

Let’s insert an aperture between two 2f systems with infinite diameters >>> from raytracing import * >>> system = MatrixGroup([Space(10), Lens(10), Space(10), Space(10), Lens(10), Space(10)]) >>> print(f”Has finite diameter? {system.hasFiniteApertureDiameter()}”) Has finite diameter? False

>>> system.insert(3, Aperture(50))
>>> print(f"Has finite diameter? {system.hasFiniteApertureDiameter()}")
Has finite diameter? True