interactions.thin_lens_interaction_model
Interaction model for a thin lens
This module implements the ThinLensInteractionModel class, which handles ray interactions with a thin lens surface.
Kramer Harrison, 2025
Classes
|
Interaction model for a thin lens. |
- class ThinLensInteractionModel(parent_surface: Surface | None, focal_length: float, is_reflective: bool, coating: BaseCoating | None = None, bsdf: BaseBSDF | None = None)[source]
Interaction model for a thin lens.
- classmethod from_dict(data, parent_surface)
Creates an interaction model from a dictionary representation.
- property geometry
- interact_paraxial_rays(rays)[source]
Traces paraxial rays through the surface.
- Parameters:
ParaxialRays – The paraxial rays to be traced.
- interact_real_rays(rays)[source]
Interacts the rays with the surface by either reflecting or refracting
Note that phase is added assuming a thin lens as a phase transformation. A cosine correction is applied for rays propagating off-axis. This correction is equivalent to the ray z direction cosine.
- Parameters:
rays – The rays.
- Returns:
The refracted rays.
- Return type:
- interaction_type = 'thin_lens'
- property material_post
- property material_pre