Class SphericalMirror

java.lang.Object
org.episteme.natural.physics.classical.waves.optics.SphericalMirror
All Implemented Interfaces:
OpticalElement

public class SphericalMirror extends Object implements OpticalElement
Represents a spherical mirror.
Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Constructor Details

    • SphericalMirror

      public SphericalMirror(Real radiusOfCurvature, Real aperture, Real[] position, Real[] normal)
      Creates a new spherical mirror.
      Parameters:
      radiusOfCurvature - Radius of curvature (positive for concave, negative for convex).
      aperture - Diameter of the mirror aperture.
      position - Position of the mirror vertex.
      normal - Normal vector of the mirror at the vertex.
  • Method Details

    • getFocalLength

      public Real getFocalLength()
      Description copied from interface: OpticalElement
      Returns the focal length of this element.
      Specified by:
      getFocalLength in interface OpticalElement
      Returns:
      The focal length (positive for converging, negative for diverging).
    • trace

      public LightRay trace(LightRay incoming)
      Description copied from interface: OpticalElement
      Traces a light ray through this optical element.
      Specified by:
      trace in interface OpticalElement
      Parameters:
      incoming - The incoming light ray.
      Returns:
      The outgoing light ray after interaction with the element, or null if absorbed/blocked.