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
See also