Appendix: Reference Guide

Introduction

A.1 Listing of Objects and Functions

A.2 Listing of Objects Grouped by Category

Component Functions
Ray Sources
Model Functions
Optical Media
Ray-Tracing Engine
Parameters of Ray
Parameters of Component
Genetic Building Blocks

A.3 Description of Objects and Functions

A B C D E F G I J K L M N O P Q R S T U V W X Y Z

Introduction to the Appendix

The following sections in this Appendix provide you with a reference guide to every function and object of the standard LensLab package. Section A.1 gives you an alphabetized listing of LensLab's built-in objects and functions. Then, Section A.2 groups LensLab's objects and functions by category. Finally, Section A.3 lists definitions for LensLab's objects and functions. Since, these definitions are derived from LensLab's help messages, you can also use the Function Browser to examine these definitions on line.

A.1 Listing of LensLab Objects and Functions

Here is an alphabetical listing of LensLab's built-in objects and functions.

ABCDMatrix               ConjugateReflection        FocalPoint
ABCDOptic                CreatedRay                 FreezeIncrement
Absorption               CreateRay                  Fresnel
Acetone                  CreateRefractiveIndexModel FresnelSymmetry
ActiveComponent          CrossRendering             Front
AddTo                    CrownGlass                 FrontView
AffectedSurfaces         CurvatureDirection         Full3D
Air                      CustomBaffle               FunctionCenter
AllCreatedRays           CustomBeamSplitter         FusedSilica
AllDeflections           CustomBranchingSurface
AllSurfaces              CustomGeneticFunction      GenerationLimit
AuthorizeNewOptions      CustomGratingSurface       GenerationNumber
                         CustomIntrinsicSurface     Glycerine
Back                     CustomLens                 GraphicalOutput
Baffle                   CustomLensSurface          GraphicDesign
BaffleSpan               CustomMirror               GratingMirror
BaffleWithHole           CustomScreen               GratingSurface
BaK1                     CylinderGraphic            GridOfRays
BallLens                 CylindricalBaffle          GroupDescription
BallMirror               CylindricalLens
BeamSplitter             CylindricalLensSurface     Hole
BeamSplitterCube         CylindricalMirror          HoleBoundary
BiConcaveCylindricalLens CylindricalScreen          HoleOffset
BiConcaveLens            CylindricalShape           HorizontalSymmetry
BiConvexCylindricalLens
BiConvexLens             DeflectionFunction         IncrementComponentNumber
BirthPoint               Deflections                IndexFunction
BK7                      DeflectionNumber           InsideMedium
Black                    DesignWaveLength           Intensity
Boundary                 DiffractedOrders           InternalDirectionChange
BoxGraphic               Diffraction                IntersectionNumber
BranchingSurface         DiffractionMismatch        IntrinsicCylindricalSurface
BuildComponent           DiffractionOrderNumber     IntrinsicMedium
                         DovePrism                  IntrinsicSphericalSurface
ChangedComponent         DovePrismMirrored          IntrinsicSurface
ChangedRay               DrawSystem
ChangedSurface                                      JacobianMatrix
ChangeSurfaceIncrement   EdgeRendering
ChangeSurfacePosition    EfficiencyFunction         LaSF9
CircleGraphic            Empty                      LastSlot
CircleOfRays             EntranceCoordinates        LensDoublet
ClearBoundary            EscapeComponent            LensSurface
ColorView                Ethanol                    LensTriplet
Component                Ether                      LineOfRays
ComponentDescription     ExitPosition               LineStyle
ComponentFoundation
ComponentIncrement       Fiber                      Mesh
ComponentMedium          Fill, FillStyle            Methanol
ComponentNumber          FindIntensity              Mirror
ComponentRendering       FindFocus                  MirrorSpan
ConeOfRays               FindFocusFast              MismatchCutOff
Confine                  FindSpotSize               ModelIntensity
ConfinedNumber           FinishPoint                ModelRayColor
ConfinedPaths            FirstSlot                  ModelRefractiveIndex
ConfinedPosition         FocalLength                ModelSurfaceShape
ConjugateMirror          FocalPlaneTilt             ModulationTransferFunction

Listing of objects and functions, part one.

Go to list of topics

MoveDirected                RainbowOfRays          SphericalShape
MoveDirected3D              Ray                    SpotPosition
MoveLinear                  RayChoice              SpotSize
MoveLinear3D                RayCurve               StandardGraphics
MoveReflected               RayEnd                 StartPoint
MoveReflected3D             RayLabel               Surface
Move, Move3D                RayLength              SurfaceBoundary
                            RayLineRGB             SurfaceCenter
NewAuthorizedOptions        RayLineStyle           SurfaceCoordinates
NewRay                      RayLineThickness       SurfaceFunction
NotFirstSlot                RayPointRGB            SurfaceIncrement
NotLastSlot                 RayPointSize           SurfaceLabel
NumberOfRays                RayPointStyle          SurfaceNormalCalculations
Numeric                     RaySelect              SurfaceNormalFunction
                            RayStart               SurfaceNormalMatrix
Off                         RayTilt                SurfaceNumber
OffAxis                     ReadRays               SurfaceRayIntersections
OpenSide                    RectangleGraphic       SurfaceRendering
OpticalLength               Reflectance            Surfaces
OpticalMedium               Reflection             SurfaceValue
OpticalSystem               Refraction             SwitchDirectionOnReflection
OriginalRay                 RefractiveIndex        SwitchIntrinsicMedium
OtherShape                  RenderedPolygons
OutputType                  RenderedSurfaces       TakeFrom
                            RenderSystem           Temperature
PAN                         RenderType             ThickLens
ParabolicLensSurface        ReplaceFor             ThinBaffle
ParabolicMirror             Resonate               ThinBeamSplitter
ParabolicMirrorWithHole     ReverseMigration       ThinLens
ParabolicShape              RodLens                ThinMirror
PinHole                     RodMirror              ThinParabolicMirror
Pipe                        RotationMatrix         ThinSphericalMirror
PlanarShape                 RunningCommentary      ThresholdIntensity
PlanoConcaveCylindricalLens                        TiltVector
PlanoConcaveLens            Sapphire               Toluene
PlanoConvexCylindricalLens  Screen                 TopView
PlanoConvexLens             ScreenPosition         Trace
PlotType                    SF11                   TranslationVector
PMMA                        SF5                    Transmission
Polarization                ShadowProject          Transmittance
PolygonalMirror             ShowRange              Turpentine
PolygonGraphic              ShowSystem             TwistAngle
Prism                       SideOfObject
PropagateSystem             SideView               Unconfine
PS                          Silicon                UnconfinedPosition
PVA                         Sketch                 UnconfinedPath
PVB                         SK11
PVF                         Solid                  Vacuum
PVP                         SphereGraphic          VerticalSymmetry
Pyrex                       SphericalBaffle
                            SphericalGratingMirror Water
Quartz                      SphericalLens          WaveLength
QuickTrace                  SphericalLensSurface   WedgeOfRays
                            SphericalMirror        Window
RadialSymmetry              SphericalScreen        Wire

                                                   ZincSelenide

Listing of objects and functions, part two.

Go to list of topics

A.2 Listing of LensLab Objects Grouped by Category

Component Functions

ABCDOptic               CylindricalLensSurface     PinHole
                        CylindricalMirror          Pipe
Back                    CylindricalScreen          PlanoConcaveCylindricalLens
Baffle                                             PlanoConcaveLens
BaffleSpan              DesignWaveLength           PlanoConvexCylindricalLens
BaffleWithHole          DovePrism                  PlanoConvexLens
BallLens                DovePrismMirrored          PolygonalMirror
BallMirror                                         PolygonGraphic
BeamSplitter            EdgeRendering              Prism
BeamSplitterCube        Empty
BiConcaveCylindricalLens                           RectangleGraphic
BiConcaveLens           Fiber                      RodLens
BiConvexCylindricalLens Fill                       RodMirror
BiConvexLens            Front
Boundary                                           Screen
BoxGraphic              GratingMirror              SphereGraphic
BranchingSurface        ce GratingSurfa            SphericalBaffle
                                                   SphericalGratingMirror
CircleGraphic           InsideMedium               SphericalLens
ClearBoundary           IntrinsicCylindricalSurfaceSphericalLensSurface
ComponentMedium         IntrinsicSphericalSurface  SphericalMirror
ConjugateMirror         IntrinsicSurface           SphericalScreen
CrossRendering                                     SurfaceLabel
CurvatureDirection      LensDoublet                SurfaceRendering
CustomBaffle            LensSurface
CustomBeamSplitter      LensTriplet                ThickLens
CustomBranchingSurface                             ThinBaffle
CustomGratingSurface    Mesh                       ThinBeamSplitter
CustomIntrinsicSurface  Mirror                     ThinLens
CustomLens              MirrorSpan                 ThinMirror
CustomLensSurface                                  ThinParabolicMirror
CustomMirror            OpenSide                   ThinSphericalMirror
CustomScreen                                       Trace
CylinderGraphic         ParabolicLensSurface
CylindricalBaffle       ParabolicMirror            Window
CylindricalLens         ParabolicMirrorWithHole

Functions and related options that generate Component objects.

Go to list of topics

Ray Sources

CircleOfRays        GridOfRays        NumberOfRays         Ray
ConeOfRays          LineOfRays        RainbowOfRays        WedgeOfRays

Ray-source functions and related options that generate Ray objects.

Model Functions

Black                                       ModelRayColor
CreateRefractiveIndexModel                  ModelRefractiveIndex
IndexFunction                               ModelSurfaceShape
ModelIntensity

Model functions and related options.

Optical Media

Acetone       Ether          PMMA    Pyrex       SK11          Water
Air           FusedSilica    PS      Quartz      Suprasil      ZincSelenide
BaK1          Glycerine      PVA     Sapphire    Toluene
BK7           LaSF9          PVB     SF11        Turpentine
CrownGlass    Methanol       PVF     SF5         Ultran30
Ethanol       PAN            PVP     Silicon     Vacuum

Labels for optical materials.

Go to list of topics

Ray-Tracing Engine

After                    GraphicalOutput            RaySelect
Before                   LineStyle                  ReadRays
Black                    ModulationTransferFunction RenderSystem
ColorView                MoveDirected               RunningCommentary
Component                MoveDirected3D             ScreenPosition
CreateRay                MoveLinear                 ShadowProject
DrawSystem               MoveLinear3D               ShowRange
FindIntensity            MoveReflected              ShowSystem
FindFocus                MoveReflected3D            SideOfObject
FindFocusFast            Move, Move3D               SideView
FindSpotSize             OpticalSystem              SpotPosition
FocalLength              OutputType                 SpotSize
FocalPlaneTilt           PlotType                   StandardGraphics
FocalPoint               PropagateSystem            Surface
FrontView                QuickSurfaceSort           ThresholdIntensity
Full3D                   Ray                        TopView
GenerationLimit          RayChoice                  TwistAngle

Functions and options related to the ray-tracing engine portion of the package.

Parameters of Ray

BirthPoint                               RayLabel
ComponentIncrement                       RayLength
ComponentNumber                          RayLineRGB
ConfinedNumber                           RayLineStyle
ConfinedPosition                         RayLineThickness
DiffractionMismatch                      RayPointRGB
DiffractionOrderNumber                   RayPointSize
FreezeIncrement                          RayPointStyle
GenerationNumber                         RayStart
HoleBoundary                             RayTilt
HoleOffset                               RefractiveIndex
Intensity                                RotationMatrix
InternalDirectionChange                  SurfaceBoundary
IntersectionNumber                       SurfaceCoordinates
IntrinsicMedium                          SurfaceIncrement
NewAuthorizedOptions                     SurfaceNormalMatrix
OffAxis                                  SurfaceNumber
OpticalLength                            Temperature
OpticalMedium                            UnconfinedPath
Polarization                             UnconfinedPosition
RayCurve                                 WaveLength
RayEnd

Parameters of the Ray object.

Go to list of topics

Parameters of Component

AddTo                                 OriginalRay
AllCreatedRays                        OtherShape
ChangedComponent                      ParabolicShape
ChangedRay                            PlanarShape
ChangedSurface                        RenderedSurfaces
Component                             RenderedPolygons
ComponentDescription                  RenderType
ConfinedPaths                         ReplaceFor
CreatedRay                            RotationMatrix
CylindricalShape                      SphericalShape
DeflectionFunction                    SurfaceBoundary
DeflectionNumber                      SurfaceCenter
Deflections                           SurfaceFunction
Empty                                 SurfaceLabel
EntranceCoordinates                   SurfaceNormalFunction
Fill                                  SurfaceNumber
FinishPoint                           SurfaceRayIntersections
HoleBoundary                          Surfaces
HoleOffset                            SurfaceValue
JacobianMatrix                        TakeFrom
Mesh                                  Trace
NewRay                                TranslationVector
Numeric

Parameters of the Component object.

Genetic Building Blocks

ABCDMatrix             EfficiencyFunction       PlanarShape
Absorption             EscapeComponent
ActiveComponent                                 RadialSymmetry
AddTo                  FirstSlot                Reflectance
AffectedSurfaces       FreezeIncrement          Reflection
AllCreatedRays         Fresnel                  Refraction
AllDeflections         FresnelSymmetry          ReplaceFor
AllSurfaces            FunctionCenter           Resonate
AuthorizeNewOptions                             ReverseMigration
                       GraphicDesign
BuildComponent         GroupDescription         Sketch
                                                Solid
ChangedComponent       Hole                     SphericalShape
ChangedRay             HorizontalSymmetry       SurfaceCenter
ChangedSurface                                  SurfaceLabel
ChangeSurfaceIncrement IncrementComponentNumber SurfaceNormalCalculations
ChangeSurfacePosition                           SurfaceRayIntersections
ComponentFoundation    LastSlot                 SurfaceRendering
ComponentRendering                              SwitchDirectionOnReflection
Confine                MismatchCutOff           SwitchIntrinsicMedium
ConjugateReflection    ModelSurfaceShape
CreatedRay                                      TakeFrom
CrossRendering         NewRay                   Temperature
CustomGeneticFunction  NotFirstSlot             Transmission
CylindricalShape       NotLastSlot              Transmittance
                       Numeric
DeflectionFunction                              Unconfine
DiffractedOrders       Off
Diffraction            OffAxis                  VerticalSymmetry
DiffractionMismatch    OriginalRay
DiffractionOrderNumber OtherShape               Wire

EdgeRendering          ParabolicShape

Genetic building blocks and related options comprising LensLab's component-structuring language.

Go to list of topics

A.3 Description of LensLab Objects and Functions

ABCDMatrix

ABCDMatrix[component, {{a,b},{c,d}}, options] is a genetic building block that uses DeflectionFunction[ABCDMatrix, {{a,b},{c,d}}, {functionvariables}] to produce scattered rays according to the ABCD matrix law.

See also:
ExitPosition, ThinLens, ThickLens, and ABCDOptic.

ABCDOptic

ABCDOptic[abcdmatrix, aperture, thickness, options] denotes a two-surfaced planar component that scatters rays using the abcdmatrix specified with an entrance plane and an exit plane separated by the indicated thickness.

The
thickness parameter specifies either a number or a surface function of two variables. ABCDOptic is intended for simple two-dimensional ray-tracing procedures. See also: ABCDMatrix, ThinLens, and ThickLens.

Absorption

Absorption[component, options] is a genetic building block that creates a ray-tracing function to absorb the intensity of rays hitting the optical surface.

Acetone

Acetone specifies the use of an acetone liquid medium at 20 degrees Celsius.

The refractive index model for
Acetone is most suitable for the wavelength range of .43 microns to .66 microns. Acetone has a density of 0.791, relative to the density of water.

ActiveComponent

ActiveComponent -> True is an option that designates whether the component contains active surfaces where rays can interact.

ActiveComponent -> False is used when constructing inactive components made up of only graphical information. ActiveComponent is an option of ComponentFoundation.

AddTo

AddTo -> objecttypes is a rule within Deflections of Component that specifies the types of objects that receive the new parameter results.

AddTo does not replace the entire contents of the object but instead includes the new results with the old object contents. Possible object types of AddTo include NewRay, ChangedRay, OriginalRay, CreatedRay, AllCreatedRays, ChangedSurface, and ChangedComponent. Note that the OriginalRay object type is rarely changed. Modifications to the past Ray object type are generally made using ChangedRay instead. AddTo can take a list of object types, but is often a single value. See also: DeflectionFunction, TakeFrom, and ReplaceFor.

AffectedSurfaces

AffectedSurfaces is an option of BuildComponent that specifies which surfaces of Component are to be affected by a newly introduced ray-tracing function.

AffectedSurfaces carries a list of numbers and word values that denotes the surfaces inheriting a new ray-tracing function trait. As an example, AffectedSurfaces -> {1} specifies that the first surface function slotted in Surfaces is to inherit the new ray-tracing function trait. See also: AllDeflections, AllSurfaces, FirstSlot, NotFirstSlot, LastSlot, and NotLastSlot.

After

After is a value of SideOfObject.

Air

Air denotes the use of an air medium at 0 degrees Celsius and 760 millimeters Hg.

The refractive index model for
Air is most suitable for the wavelength range of .43 microns to .66 microns.

AllCreatedRays

AllCreatedRays is a value of TakeFrom, AddTo, and ReplaceFor and specifies that all Ray objects returned by previous ray-tracing function calculations are passed to or returned from DeflectionFunction.

If
AllCreatedRays is listed by TakeFrom, then AllCreatedRays is included as an input to the ray-tracing function calculation. If AllCreatedRays is listed by AddTo, then the elements of AllCreatedRays replace the previous AllCreatedRays object. See also: NewRay, CreatedRay, ChangedRay, OriginalRay, AddTo, and TakeFrom.

AllDeflections

AllDeflections is a value of AffectedSurfaces that denotes that the added genetic ray-tracing function slot number is interlaced throughout the listing of DeflectionNumber values.

In general, ray-tracing function traits are added to a surface by appending the ray-tracing function position (within
Deflections) to the affected DeflectionNumber value within ConfinedPaths. See also: AllSurfaces, FirstSlot, NotFirstSlot, LastSlot, NotLastSlot, and AffectedSurfaces.

AllSurfaces

AllSurfaces is a value of AffectedSurfaces of BuildComponent that specifies that the added ray-tracing function slot number is appended to all DeflectionNumber values.

In general, ray-tracing function traits are added to a surface by appending the ray-tracing function position (within
Deflections) to the affected DeflectionNumber value within ConfinedPaths. See also: AllDeflections, FirstSlot, NotFirstSlot, LastSlot, NotLastSlot, and AffectedSurfaces.

AuthorizeNewOptions

AuthorizeNewOptions[component, optionlabels, options] is a genetic building block used for adding new Ray option labels that are authorized to be carried within Ray objects across multiple ray/surface generations.

Ray parameters created by ray-tracing functions that are not listed in Options[Ray] or included in the NewAuthorizedOptions Ray object parameter are removed after the following surface encounter. Contents of optionlabels are added to NewAuthorizedOptions. See also: NewAuthorizedOptions.

Go to list of topics

Back

Back is a value of CurvatureDirection.

Baffle

Baffle[aperture, thickness, options] denotes a planar, double-surfaced component having two absorbing sides.

Baffle is created with its first surface centered about the origin and its second surface positioned down the positive x axis. The aperture parameter may specify a circle, rectangle, or polygon depending on the number and type of elements listed by it.

BaffleSpan

BaffleSpan[{x1, y1}, {x2, y2}, thickness, height, options] is similar to Baffle except that its size and placement are specified by the two two-dimensional coordinates {x1, y1} and {x2, y2}.

BaffleSpan spans the specified coordinates and has the specified height.

BaffleWithHole

BaffleWithHole[aperture, holeaperture, thickness, options] designates a thick planar component with a hole created in its middle.

BaffleWithHole is created with its first surface centered about the origin and its second surface positioned down the positive x axis. The aperture and holeaperture arguments may denote a circle, rectangle, or polygon depending on the number and type of elements listed by it.

BaK1

BaK1 specifies the use of the BaK1 glass medium.

The refractive index model for
BaK1 is most suitable for the wavelength range of .35 microns to 2.3 microns.

BallLens

BallLens[diameter, options] denotes an entire spherical refractive component.

BallLens is created with its first surface centered about the origin and its second surface positioned down the x axis.

BallMirror

BallMirror[radius, options] denotes an entire spherical mirror.

BallMirror is created with a surface positioned at the origin and its diameter positioned down the x axis.

BeamSplitter

BeamSplitter[{percentreflected, percenttransmitted}, aperture, thickness, options] designates a planar, double-surfaced component that has a partially reflective/refractive side and a refractive side.

BeamSplitterCube is created with its splitting surface centered about the origin and its second surface positioned down the positive x axis. The aperture parameter may designate a circle, rectangle, or polygon depending on the number and type of elements listed by it.

BeamSplitterCube

BeamSplitterCube[{percentreflected, percenttransmitted}, side, options] refers to a solid cube beam splitter that has a partially reflective/refractive surface across its diagonal.

BeamSplitter is created with one face centered about the origin and the opposite face positioned down the positive x axis. The side parameter specifies the edge dimension of a cube.

Before

Before is a value of SideOfObject.

BiConcaveCylindricalLens

BiConcaveCylindricalLens[focallength, aperture, thickness, options] refers to a lens with two equally concave cylindrical surfaces.

BiConcaveCylindricalLens is created with its first surface centered about the origin and its second surface positioned down the positive x axis. The aperture parameter may specify a circle, rectangle, or polygon depending on the number and type of elements listed by it.

BiConcaveLens

BiConcaveLens[focallength, aperture, thickness, options] refers to a lens with two equally concave spherical surfaces.

BiConcaveLens is created with its first surface centered about the origin and its second surface positioned down the positive x axis. The aperture parameter may specify a circle, rectangle, or polygon depending on the number and type of elements listed by it.

BiConvexCylindricalLens

BiConvexCylindricalLens[focallength, aperture, thickness, options] designates a lens with two equally convex cylindrical surfaces.

BiConvexCylindricalLens is created with its first surface centered about the origin and its second surface positioned down the positive x axis. The aperture parameter may denote a circle, rectangle, or polygon depending on the number and type of elements listed by it.

Go to list of topics

BiConvexLens

BiConvexLens[focallength, aperture, thickness, options] designates a lens with two equally convex spherical surfaces.

BiConvexLens is created with its first surface centered about the origin and its second surface positioned down the positive x axis. The aperture parameter may denote a circle, rectangle, or polygon depending on the number and type of elements listed by it.

BirthPoint

BirthPoint is a rule of Ray that gives the three-dimensional spatial coordinates of the original light source.

BK7

BK7 indicates the use of the BK7 glass medium.

The refractive index model for
BK7 is most suitable for the wavelength range of .35 microns to 2.3 microns.

Black

Black is a value used by the ColorView parameter where ColorView -> Black causes the rays to be rendered in black.

See also:
ModelRayColor, ColorView, and RayLineRGB.

Boundary

Boundary[boundaryparameters] designates a rectangular box that absorbs rays intercepted by its walls.

There are three methods for specifying
boundaryparameters: Boundary[{x1, y1, z1}, {x2, y2, z2}] uses the coordinates of top and bottom opposite corners of a rectangular box, Boundary[side] assumes a cube boundary, and Boundary[aside, bside] assumes a three-dimensional box that has a length specified by aside, a width specified by bside, and a height specified by bside. Optical systems usually have at least one boundary component listed at the end. Boundary is not rendered. See also: ClearBoundary.

BoxGraphic

BoxGraphic[{xmin, ymin, zmin}, {xmax, ymax, zmax}, options] specifies a three-dimensional rectangular box with its diagonally opposite corners placed at {xmin, ymin, zmin} and {xmax, ymax, zmax}.

BoxGraphic does not interact with rays in any way, but can be listed with active components or with other graphic components for creating passive three-dimensional shapes.

BranchingSurface

BranchingSurface[aperture, componentincrement, options] refers to a planar component that causes intersecting rays to branch to a different component position relative to the list position held by BranchingSurface.

BranchingSurface is usually employed after a beam-splitter-type component, in order to redirect split rays down a different component-listing pathway, thereby shortening ray-trace calculation times. BranchingSurface is not visually rendered, but can be used to sample the ray/surface positions. BranchingSurface is created with its surface centered about the origin. The aperture parameter may designate a circle, rectangle, or polygon depending on the number and type of elements listed by it.

BuildComponent

BuildComponent[objectset, options] synthesizes genetic traits from several Component objects into a single object.

While
BuildComponent is usually used by genetic building block functions, BuildComponent may also be used as an external function to combine several Component objects into a single Component unit. See also: GroupDescription and AffectedSurfaces.

Go to list of topics

ChangedComponent

ChangedComponent is a value of TakeFrom, AddTo, and ReplaceFor and specifies that the Component object may be passed to or returned from DeflectionFunction.

ChangedComponent contains all of the Component object's contents, including changed parameters. The contents of ChangedComponent are used to replace the original Component object. See also: ChangedSurface, AddTo, and TakeFrom.

ChangedRay

ChangedRay is a value of TakeFrom, AddTo, and ReplaceFor and indicates that the modified Ray objects returned by previous ray-tracing function calculations are passed to or returned from the current DeflectionFunction.

ChangedRay results contain only modifications made to the original ray entering the surface. Note that OriginalRay contains the unmodified ray parameters entering the surface. See also: NewRay, CreatedRay, OriginalRay, AddTo, and TakeFrom.

ChangedSurface

ChangedSurface is a value of TakeFrom, AddTo, and ReplaceFor and specifies that a slotted element from Surfaces may be passed to or returned from DeflectionFunction.

Normally the contents indicated by
ChangedSurface is slotted inside the Surfaces rule of Component, replacing the slot's previous contents. See also: ChangedComponent, AddTo, and TakeFrom.

ChangeSurfaceIncrement

ChangeSurfaceIncrement[component, newincrement, options] is a genetic building block that changes the value of SurfaceIncrement.

ChangeSurfacePosition

ChangeSurfacePosition[component, newsurfaceposition, options] is a genetic building block that changes ConfinedPosition to a new value indicated by newsurfaceposition.

CircleGraphic

CircleGraphic[aperture, options] relates to a two-dimensional circle, ellipse, rectangle, or polygon lying in the horizontal x-y plane, depending on the designation of aperture.

CircleGraphic does not interact with rays in any way, but can be listed with active components or with other graphics components for creating passive three-dimensional shapes. The aperture parameter may designate a circle, rectangle, or polygon depending on the number and type of elements listed by it.

CircleOfRays

CircleOfRays[radius, options] creates a set of rays, starting in the y-z plane, equally distributed on the surface of a cylinder placed symmetrically about the positive x axis.

See also:
NumberOfRays.

ClearBoundary

ClearBoundary[boundaryparameters] refers to a rectangular box that terminates rays intercepted by its walls.

ClearBoundary does not set the value of Intensity to zero, and therefore is useful for defining modular optical subunits to be pieced into a larger system. There are three methods for specifying boundaryparameters: ClearBoundary[{x1, y1, z1}, {x2, y2, z2}] uses the coordinates of top and bottom opposite corners of a rectangular box, ClearBoundary[side] assumes a cube boundary, and ClearBoundary[aside, bside] assumes a three-dimensional box that has a length specified by aside, a width specified by bside, and a height specified by bside. Optical systems usually have at least one boundary component listed at the end. ClearBoundary is not rendered. See also: Boundary.

ColorView

ColorView -> rayparameterlabel is an option of DrawSystem and ShowSystem used to render rays with colors specified according to rayparameterlabel.

ColorView gives rayparameterlabel to ModelRayColor for determining ray colors. As examples: you can use ColorView -> Black to render the rays in black; ColorView -> WaveLength attempts to match the color of the ray to the wavelength; ColorView -> Automatic displays the initial RGBColor values assigned for the RayLineRGB ray parameter; ColorView -> rayparameterlabel for any rayparameterlabel other than WaveLength attempts to colorize each ray segment according to the rank of the rayparameterlabel value within the possible range of rayparameterlabel values, for the displayed rays selected by RayChoice and ShowRange. If more than one rayparameterlabel is indicated or the parameter contains a vector of three elements, then each of three values are assigned to the red, green, and blue colors. ColorView may also point to a list of three numbers representing the red, green, and blue colors used. See also: ModelRayColor, Black, and RayChoice.

Component

Component[genetic traits] is an object made up of genetic traits that define the properties of an optical component.

These
genetic traits describe the ray-tracing behavior as well as the rendering of Component. Component may actively interact with rays, or may be purely graphical in content. Any of the Move functions may be nested around Component to change its position and orientation.

ComponentDescription

ComponentDescription -> {descriptionlist} is a rule within Component, made up of a description that identifies the optical component and denotes the genetic building blocks used in the creation of Component.

ComponentFoundation

ComponentFoundation[{surfacevalue, surfacevalue}, aperture, thickness, objectname, options] and ComponentFoundation[surfacevalue, aperture, objectname, options] create double-surfaced or single-surfaced object foundations for building up a component.

The
aperture parameter may indicate a circle, rectangle, or polygon depending on the number and type of elements listed by it. The surfacevalue parameters usually specify the surface curvature. The types of surface shapes used in ComponentFoundation are given by the SurfaceLabel option. SurfaceLabel identifies the surface types as either SphericalShape, ParabolicShape, PlanarShape, OtherShape, or a user-defined shape label. SphericalShape designates a spherical radius of curvature for surfacevalue. ParabolicShape specifies a parabolic focal length for surfacevalue. Surfaces can be set to planar shapes either by using Infinity in surfacevalue or by using PlanarShape in SurfaceLabel. Users can add new surface definitions by assigning new functions to ModelSurfaceShape with an accompanying SurfaceLabel value as an argument. Otherwise, user-defined surface functions can be directly specified by selecting SurfaceLabel -> OtherShape and using three-dimensional pure functions of two variables in surfacevalue. Component objects are built by nesting ComponentFoundation at the center of the various other genetic building blocks that give additional attributes to the component. See also: OffAxis, ActiveComponent, FunctionCenter, and ModelSurfaceShape.

ComponentIncrement

ComponentIncrement -> value is a rule of Ray that forces a change in the next generated Ray object's component target.

ComponentIncrement -> Automatic causes Ray to proceed in the same direction through the component listing according to SurfaceIncrement, a related parameter. ComponentIncrement -> integer forces an immediate change of the component targeted by Ray, by the amount given by integer. As an example, ComponentIncrement -> -2, would cause -2 to be subtracted from the ComponentNumber parameter in Ray. The ComponentIncrement parameter reverts back to the Automatic setting after one propagation iteration. See also: ConfinedPosition, ComponentNumber, IntersectionNumber, GenerationNumber, ConfinedNumber, and SurfaceNumber.

ComponentMedium

ComponentMedium is an option of component functions that indicates the material type used in the fabrication of the component.

This label is used by
ModelRefractiveIndex in calculating the RefractiveIndex parameter, but can be used by other material-related models as well as ModelIntensity. ComponentMedium is an option of all refractive components such as the Refraction genetic building block. See also: IntrinsicMedium, OpticalMedium, RefractiveIndex, and ModelRefractiveIndex.

Go to list of topics

ComponentNumber

ComponentNumber is a rule of Ray that indicates the slot position of the affected component encountered by the ray segment.

SurfaceNumber, ComponentNumber, ConfinedPosition, UnconfinedPosition, IntersectionNumber, GenerationNumber, and ConfinedNumber are all pointer parameters stored in Ray.

ComponentRendering

ComponentRendering[component, options] creates the genetic information for the rendering of the component.

GraphicDesign is an option to ComponentRendering that characterizes the component rendering. GraphicDesign has possible five styles. These are Automatic, Sketch, Wire, Solid, and Off. These styles are also options of ComponentRendering that characterize the rendering at a primitive level and are further defined with SurfaceRendering, EdgeRendering, and CrossRendering, although EdgeRendering does not apply to single-surfaced components. The component rendering can be controlled either by giving separate rendering commands for each suboption or by using the GraphicDesign option. See also: GraphicDesign, SurfaceRendering, EdgeRendering, and CrossRendering.

ConeOfRays

ConeOfRays[conicangle, options] creates a set of rays, starting at the origin of the coordinate system, equally distributed on the surface of a cone placed symmetrically about the positive x axis.

See also:
NumberOfRays.

Confine

Confine[listofcomponents, entrancesurfacenumbers, options] is a genetic building block used to encapsulate the list of Component objects into a single Component object that allows rays to enter the component only through surfaces specified by entrancesurfacenumbers.

Confine is used in conjunction with the Resonate genetic building block to create arrays of multiple-surfaced elements, such as fiber optic bundles. Confine passes options to BuildComponent. See also: Resonate and Unconfine.

ConfinedNumber

ConfinedNumber is a rule of Ray that gives the present slot position of the outermost nested element within ConfinedPaths of Component.

SurfaceNumber, ComponentNumber, ConfinedPosition, UnconfinedPosition, IntersectionNumber, GenerationNumber, and ConfinedNumber are all pointer parameters stored in Ray.

ConfinedPaths

ConfinedPaths is a rule of Component that indicates a nested list of rules that define the confined propagation behavior of a ray migrating through the component.

ConfinedPaths lists all of the confined migration pathways available for the impinging ray. ConfinedPaths contains lists including SurfaceNumber and DeflectionNumber rules. See also: ConfinedNumber.

ConfinedPosition

ConfinedPosition is a rule of Ray that gives the present slot position of the innermost nested element within ConfinedPaths of Component.

SurfaceNumber, ComponentNumber, ConfinedPosition, UnconfinedPosition, IntersectionNumber, GenerationNumber, and ConfinedNumber are all pointer parameters stored in Ray.

ConjugateMirror

ConjugateMirror[aperture, options] refers to a planar, phase-conjugate reflective mirror.

ConjugateMirror is created with its surface centered about the origin. The aperture parameter may specify a circle, rectangle, or polygon depending on the number and type of elements listed by it.

ConjugateReflection

ConjugateReflection[component, options] is a genetic building block that uses DeflectionFunction[Reflection, {reflectionvariables}] to produce conjugate-reflected rays from optical surfaces.

CreatedRay

CreatedRay is a value of TakeFrom, AddTo, and ReplaceFor and denotes that the Ray objects created by previous ray-tracing function calculations are passed to or returned from DeflectionFunction.

If
CreatedRay is listed by TakeFrom, then CreatedRay is sequentially fed as an input to the ray-tracing function, with each sequential result creating a different output. The elements of CreatedRay are inserted into the previous Ray objects generated at this surface if CreatedRay is listed by AddTo. See also: ChangedRay, AllCreatedRays, and OriginalRay.

CreateRay

CreateRay[Ray[sequenceofrules]] is a function that takes a Ray object and fills in any essential rules missing from its rule parameter sequence by taking default values from Options[Ray].

CreateRay is applied automatically to all new Ray objects before being moved or propagated, allowing the user to begin with the empty Ray[ ] object as an input object to the system. Check Options[Ray] for default settings.

CreateRefractiveIndexModel

CreateRefractiveIndexModel[datalist, materiallabel] creates a wavelength-dependent model that is fitted to the data according to the standard refractive index power series formula, used by IndexFunction.

Note that the
materiallabel is a character string identifier used for the purposes of referencing the particular material within LensLab. The datalist should have the following format: {{wavelength1, index1}, {wavelength2, index2}, {wavelength3, index3}, ...}. Ideally, there should be at least six data points spanning the wavelength range of interest. CreateRefractiveIndexModel plots the data points against the fitted function, revealing model deficiencies. Finally, CreateRefractiveIndexModel prints out a command line to be used for defining the refractive model in LensLab. This output can then be pasted into an input cell for building a user-defined material library. See also: IndexFunction, ModelRefractiveIndex, and ModelIntensity.

CrossRendering

CrossRendering is an option of ComponentRendering that designates the graphical rendering of a cross that bridges the interior of a double-sided component and forms crossed lines on a single-sided component.

CrossRendering may take the values: Fill, Trace, Mesh, Empty, and {Fill, Mesh}. See also: ComponentRendering, EdgeRendering, SurfaceRendering, and RenderType.

CrownGlass

CrownGlass designates the use of a crown glass medium.

The refractive index model for
CrownGlass is most suitable for the wavelength range of .44 microns to .66 microns.

CurvatureDirection

CurvatureDirection is an option of convex and concave lenses that specifies which side of the created lens is curved as indicated by word values Front or Back.

If
Front is used, then the curved side is placed at the origin and the planar side is created one thickness position down the x axis.

CustomBaffle

CustomBaffle[surfacefunction, aperture, objectlabel, options] designates a single-surfaced, light-absorbing component that has a user-defined surfacefunction, and a user-named objectlabel.

The component shape, given by
surfacefunction, is specified either by a function of two variables or by Function[0.] for planar surfaces. CustomBaffle is created with its surface centered about the origin. The aperture parameter may designate a circle, rectangle, or polygon depending on the number and type of elements listed by it.

CustomBeamSplitter

CustomBeamSplitter[surfacefunction, {percentreflected, percenttransmitted}, aperture, objectlabel, options] denotes a single-surfaced component that partially reflects and partially transmits rays of light that has a user-defined surfacefunction, and a user-named objectlabel.

The component shape, given by
surfacefunction, is specified either by a function of two variables or by Function[0.] for planar surfaces. ThinBeamSplitter is created with its splitting surface centered about the origin. The aperture parameter may denote a circle, rectangle, or polygon depending on the number and type of elements listed by it.

Go to list of topics

CustomBranchingSurface

CustomBranchingSurface[surfacefunction, aperture, componentincrement, objectlabel, options] designates a component that causes intersecting rays to branch to a different component position relative to the list position held by CustomBranchingSurface.

The component shape, given by
surfacefunction, is specified either by a function of two variables or by Function[0.] for planar surfaces. CustomBranchingSurface is usually employed after a beam-splitter-type component, in order to redirect split rays down a different component-listing pathway, thereby shortening ray-trace calculation times. CustomBranchingSurface is not visually rendered, but can be used to sample the ray/surface positions. CustomBranchingSurface is created with its surface centered about the origin. The aperture parameter may specify a circle, rectangle, or polygon depending on the number and type of elements listed by it.

CustomGeneticFunction

CustomGeneticFunction[component, raydeflectfunction, functionlabel, options] is a genetic building block that allows the user to create custom ray-tracing functions.

CustomGratingSurface

CustomGratingSurface[surfacefunction, gratingfunction, aperture, objectlabel, options] designates a diffractive component that splits incoming rays into multiple diffracted orders according to the gratingfunction parameter and the DiffractedOrders option.

CustomGratingSurface refers to a single-surfaced component that has a user-defined surfacefunction, and a user-named objectlabel. The component shape, given by surfacefunction, is specified either by a function of two variables or by Function[0.] for planar surfaces. The gratingfunction parameter specifies a grating vector either as a one-dimensional value, a two-dimensional list of values, a three-dimensional list of values, or a three-dimensional Function[{horizontal, vertical, perp}], where horizontal, vertical, and perp specify the indicated grating directions with the grating surface initially oriented parallel to the y-z plane. These vector quantities have units of spatial frequency and are given in line pairs per millimeter. A single number used in the grating parameter indicates a uniformly distributed grating vector pointing in the direction of the y axis. A list of two numbers relates to a uniformly distributed grating vector whose direction lies within the surface plane. CustomGratingSurface returns DiffractionMismatch and DiffractionOrderNumber as ray parameters. See also: EfficiencyFunction, GratingMirror, GratingSurface, and Diffraction.

CustomIntrinsicSurface

CustomIntrinsicSurface[surfacefunction, aperture, medium1, medium2, label, options] indicates a component that has a user-defined surfacefunction that models the refractive index boundary between two different refractive mediums.

The component shape, given by
surfacefunction, is specified either by a function of two variables or by Function[0.] for planar surfaces. Refractive components encountered by rays that have previously encountered CustomIntrinsicSurface are refracted using the new IntrinsicMedium value given by IntrinsicSurface. CustomIntrinsicSurface uses parameters medium1 and medium2 to obtain intrinsic index functions on each side of the fluid boundary. If the ray is coming from an environment that has an intrinsic index given by medium1, then the value of IntrinsicMedium of the Ray object is replaced by medium2. Likewise, if the ray is coming from an environment that has an intrinsic index given by medium2, then the value of IntrinsicMedium of the Ray object is replaced by medium1. CustomIntrinsicSurface is created with its surface centered about the origin. The aperture parameter may indicate a circle, rectangle, or polygon depending on the number and type of elements listed by it. See also: the SwitchIntrinsicMedium genetic building block. IntrinsicSurface, IntrinsicSphericalSurface, and IntrinsicCylindricalSurface are all related components.

CustomLens

CustomLens[f1, f2, aperture, thickness, objectlabel, options] designates a double-surfaced refractive component having user-defined surface functions and a user-named objectlabel.

The surfaces are given by
f1 and f2, where f1 and f2 are three-dimensional surface equations, and Function[0.] is used to specify planar surfaces. CustomLens is created with its first surface centered about the origin and its second surface positioned down the x axis. The aperture parameter may denote a circle, rectangle, or polygon depending on the number and type of elements listed by it.

CustomLensSurface

CustomLensSurface[surfacefunction, aperture, label, options] indicates a component that has a user-defined surfacefunction that models the refractive index boundary at a lens surface, and a user-named objectlabel.

CustomLensSurface is always used in combination with one or more additional LensSurface component types to create a complete lens object. The component shape, given by surfacefunction, is specified either by a function of two variables or by Function[0.] for planar surfaces. CustomLensSurface is created with its surface centered about the origin. The aperture parameter may indicate a circle, rectangle, or polygon depending on the number and type of elements listed by it. LensSurface, SphericalLensSurface, CylindricalLensSurface, ParabolicLensSurface, and CustomLensSurface are all related components.

CustomMirror

CustomMirror[surfacefunction, aperture, objectlabel, options] designates a single-surfaced mirror that has a user-defined surfacefunction, and a user-named objectlabel.

The component shape, given by
surfacefunction, is specified either by a function of two variables or by Function[0.] for planar surfaces. CustomMirror is created with its surface centered about the origin. The aperture parameter may designate a circle, rectangle, or polygon depending on the number and type of elements listed by it.

CustomScreen

CustomScreen[surfacefunction, aperture, objectlabel, options] designates a component that intersects rays without disturbing them.

CustomScreen denotes a single-surfaced component that has a user-defined surfacefunction, and a user-named objectlabel. The component shape, given by surfacefunction, is specified either by a function of two variables or by Function[0.] for planar surfaces. Although CustomScreen is usually not rendered, the ray/screen intersections can be rendered by using the DrawSystem option, PlotType->Surface. CustomScreen is created with its surface centered about the origin. The aperture parameter may denote a circle, rectangle, or polygon depending on the number and type of elements listed by it.

CylinderGraphic

CylinderGraphic[diameter, length, options] refers to a three-dimensional cylinder with one circular center placed at the origin and its length directed down the positive x axis.

CylinderGraphic can be created with a partially opened side wall, using the option OpenSide from Options[CylinderGraphic]. OpenSide takes values {startangle, finishangle} or False. CylinderGraphic does not interact with rays in any way, but can be listed with active components or with other graphics components for creating passive three-dimensional shapes.

CylindricalBaffle

CylindricalBaffle[radius, aperture, options] refers to a cylindrical, single-surfaced component that absorbs light.

CylindricalBaffle is created with its surface centered about the origin. The aperture parameter may indicate a circle, rectangle, or polygon depending on the number and type of elements listed by it.

CylindricalLens

CylindricalLens[r1, r2, aperture, thickness, label, options] specifies a lens having cylindrical surfaces.

The radii of curvatures are specified by
r1 and r2 where Infinity is used to specify planar surfaces. CylindricalLens is created with its first surface centered about the origin and its second surface positioned down the x axis. The aperture parameter may denote a circle, rectangle, or polygon depending on the number and type of elements listed by it.

CylindricalLensSurface

CylindricalLensSurface[radius, aperture, options] refers to a cylindrical component occupying half a complete cylinder that models the refractive index boundary at a lens surface.

CylindricalLensSurface is always used in combination with one or more additional LensSurface component types to create a complete lens object. CylindricalLensSurface is created with its surface centered about the origin. The aperture parameter may designate a circle, rectangle, or polygon depending on the number and type of elements listed by it. LensSurface, SphericalLensSurface, CylindricalLensSurface, ParabolicLensSurface, and CustomLensSurface are all related components.

CylindricalMirror

CylindricalMirror[radius, aperture, options] refers to a cylindrical single-surfaced mirror.

CylindricalMirror is created with its surface centered about the origin. The aperture parameter may specify a circle, rectangle, or polygon depending on the number and type of elements listed by it.

CylindricalScreen

CylindricalScreen[radius, aperture, options] designates a cylindrical component that intersects rays without disturbing them.

Although
CylindricalScreen is usually not rendered, the ray/screen intersections can be rendered by using the DrawSystem option, PlotType->Surface. CylindricalScreen is created with its surface centered about the origin. The aperture parameter may specify a circle, rectangle, or polygon depending on the number and type of elements listed by it.

CylindricalShape

CylindricalShape is a value of SurfaceLabel within Component that denotes the cylindrical SurfaceFunction.

Go to list of topics

DeflectionFunction

DeflectionFunction -> functionlisting denotes the ray-tracing behavior at component surfaces.

DeflectionFunction is used both as a function and as a rule parameter label in Component. As a rule parameter label, DeflectionFunction -> functionlisting is contained within the Deflections rule of Component, where functionlisting can be in a direct or indirect form. In the direct form, the ray-tracing function is explicitly defined by the functionlisting. In this case, DeflectionFunction -> Function[#] specifies a pure function that uses in its input a list of objects specified by TakeFrom and returns its results to the objects specified by AddTo and ReplaceFor as a list of modified Ray or Component objects carrying only the ray or component parameters being modified. In the indirect form, the ray-tracing function is defined elsewhere, and only parameter values are passed, rather than the actual ray-tracing function definition in the functionlisting. In this case, DeflectionFunction -> {deflectionlabel, {inputparameters}} uses deflectionlabel as an identifying label to call up the appropriate external ray-tracing function. In the case of indirect ray-tracing function definitions, DeflectionFunction also plays a role as the external function head. Here, DeflectionFunction[deflectionlabel, inputparameters] = Function[#] denotes the external ray-tracing function identified by deflectionlabel. See also: Deflections, AddTo, ReplaceFor, and TakeFrom.

DeflectionNumber

DeflectionNumber is a rule embedded within ConfinedPaths of Component that gives the slot positions of ray-tracing functions listed in Deflections.

DeflectionNumber designates all ray-tracing functions used when a ray hits the given surface. Each ray-tracing function is called up in sequence with its list position in DeflectionNumber.

Deflections

Deflections -> {{functionelement1, functionelement2, ...}, {...}, ...} is a rule giving a list of elements that define the various functions used in tracing rays within a component.

Each
functionelement of Deflections follows a standard format.
{TakeFrom -> {takefromobjects},
AddTo -> {addtoobjects},
DeflectionFunction -> functionlisting}
Here
takefromobjects denotes the objects used by DeflectionFunction and addtoobjects specifies the objects given by DeflectionFunction. In some cases, ReplaceFor is used instead of AddTo.

DesignWaveLength

DesignWaveLength is an option of most built-in lens functions that indicates the design wavelength value used in calculating the lens curvatures from the focal length specified.

DiffractedOrders

DiffractedOrders is an option that indicates the number of diffracted orders generated during diffraction.

DiffractedOrders uses a list of ordered paired numbers that has a length of any size. The left number in each pair is an integer that specifies the diffracted order. The right number in each pair has a value between 0.0 and 1.0 that denotes the relative order strength. DiffractedOrders is an option of all grating components, as well as the Diffraction genetic building block. See also: Diffraction and GratingSurface.

Diffraction

Diffraction[component, gratingfunction, options] is a genetic building block that uses DeflectionFunction[Diffraction, {diffractionvariables}] to produce diffracted rays through optical surfaces according to the gratingfunction parameter and the DiffractedOrders option.

The
gratingfunction parameter specifies a grating vector either as a one-dimensional value, a two-dimensional list of values, a three-dimensional list of values, or a three-dimensional Function[{horizontal, vertical, perp}], where horizontal, vertical, and perp specify the indicated grating directions with the grating surface initially oriented parallel to the y-z plane. These vector quantities have units of spatial frequency and are given in line pairs per millimeter. A single number used in the grating parameter refers to a uniformly distributed grating vector pointing horizontally with the surface. A list of two numbers indicates a uniformly distributed grating vector whose direction lies within the surface plane. An example of a functional grating parameter is Function[{0.,1500.,0.}], which creates a uniform grating vector having 1500 lines per millimeter, pointing horizontally down the y axis. Note that the grating direction is independent of the surface shape on which the grating is formed. The grating directon is initially defined with respect to an absolute spatial coordinate system, not the surface curvature direction. However, the grating direction is affected with Move rotations. Diffraction creates multiple diffracted rays according to the DiffractedOrders option. Diffraction returns DiffractionMismatch and DiffractionOrderNumber as ray parameters. See also: GratingSurface and GratingMirror.

DiffractionMismatch

DiffractionMismatch is a rule of Ray returned by diffractive components that denote the mismatch fraction of the diffracted ray.

The mismatch fraction is defined as the difference in magnitude between the incident wave vector and the diffracted wave vector divided by the magnitude of the incident wave vector.
DiffractionMismatch can take on both positive and negative values. See also: EfficiencyFunction, MismatchCutOff, Diffraction, GratingSurface, and GratingMirror.

DiffractionOrderNumber

DiffractionOrderNumber is a rule of Ray returned by diffractive components and relates to the diffraction order of the ray.

See also: DiffractedOrders, Diffraction, GratingSurface, and GratingMirror.

DovePrism

DovePrism[width, slantlength, length, options] refers to a six-sided prism having trapezoidal dimensions on two sides and rectangular dimensions on the remaining sides.

DovePrism is commonly used as an image rotator. As the prism is rotated, the image that passes through it will rotate at twice the angular rate of the prism. DovePrism uses internal reflection off the hypotenuse face to rotate the image. The hypotenuse face of a dove prism is the face of the largest area. See also: DovePrismMirrored and Prism.

DovePrismMirrored

DovePrismMirrored[width, slantlength, length, options] is identical to DovePrism with the addition of a mirrored surface on the hypotenuse face.

DrawSystem

DrawSystem[objectset, options] takes an object set composed of a mixed list of Ray, Component, and OpticalSystem objects, propagates the rays through the components, and renders the ray tracing according to PlotType, RayChoice, ShowRange, and ColorView options.

DrawSystem uses PropagateSystem and ShowSystem. DrawSystem passes options to Plot and Plot3D.

Go to list of topics

EdgeRendering

EdgeRendering is an option of ComponentRendering that indicates the graphical rendering of an annular surface that joins the two outer perimeters of a double-sided component. In the prism component, EdgeRendering is used to define the two triangular faces of the prism.

EdgeRendering may take the values: Fill, Trace, Mesh, Empty, and {Fill, Mesh}. See also: ComponentRendering, SurfaceRendering, CrossRendering, and RenderType.

EfficiencyFunction

EfficiencyFunction is an option that indicates the diffraction efficiency of the grating component as a function of the DiffractionMismatch parameter.

EfficiencyFunction uses a real function that scales Intensity according to the value indicated by DiffractionMismatch. EfficiencyFunction is initially set to return 1.0 for all input values; however, the user can reset EfficiencyFunction for modeling the behavior of particular grating structures. EfficiencyFunction is an option of all grating components, as well as the Diffraction genetic building block. See also: DiffractionMismatch, MismatchCutOff, Diffraction, GratingSurface, and GratingMirror.

Empty

Empty is a value of RenderType within Component that indicates no rendering.

EntranceCoordinates

EntranceCoordinates is a rule of Component that gives the center coordinates of the first surface encountered within each confined migration pathway.

The slot position of the each
EntranceCoordinates element corresponds with a slot position within ConfinedPaths. EntranceCoordinates is used in constructing UnconfinedPath. See also: ConfinedPaths and UnconfinedPath.

EscapeComponent

EscapeComponent[component, options] is a genetic building block that forces an increment to a new component after the ray encounters the specified surface given in the AffectedSurfaces option.

EscapeComponent preserves the initial increment direction of ray propagation through the component listing. An earlier nested FreezeIncrement genetic building block may be used to enable multiple ray interactions at the surface site before escaping.

Ethanol

Ethanol specifies the use of an ethanol liquid medium at 20 degrees Celsius.

The refractive index model for
Ethanol is most suitable for the wavelength range of .43 microns to .66 microns. Ethanol has a density of 0.800, relative to the density of water.

Ether

Ether designates the use of the ether liquid medium at 20 degrees Celsius.

The refractive index model for
Ether is most suitable for the wavelength range of .43 microns to .66 microns.

ExitPosition

ExitPosition is an option of ABCDMatrix that denotes the starting position of the exiting ray from the component.

ExitPosition uses either a number or a surface function of two variables.

Go to list of topics

Fiber

Fiber[corediameter, claddingdiameter, length, options] designates a stepped index optical fiber.

The refractive core and cladding materials
are given by the option, ComponentMedium -> {corematerial, claddingmaterial}. Fiber is created with an end located at x = 0 and with its length oriented along the x axis.

Fill

Fill is a value of RenderType within Component that designates that the surface graphics should be filled with shaded areas.

FillStyle

FillStyle is an option of DrawSystem that carries a list of graphics styles for the rendering of filled surfaces. See also: LineStyle.

FindFocus

FindFocus[objectset, selectionproperties, options] is an advanced function that takes an object set carrying Component and Ray objects, and determines the minimum spot size for a locus of rays specified in selectionproperties.

See also:
FindFocusFast, FindSpotSize, and RaySelect.

FindFocusFast

FindFocusFast[objectset, selectionproperties, options] is a function similar to FindFocus that takes an object set made up of Component and Ray objects, and determines the minimum spot size for a locus of rays specified in selectionproperties.

FindFocusFast uses a faster technique that sometimes results in a reduced measurement accuracy. See also: FindFocus, FindSpotSize, and RaySelect.

FindIntensity

FindIntensity[system, options] calculates the intensity function for each optical surface that gets reported from the ray trace of the system.

For its input, FindIntensity works best with either an untraced, raw, optical system or a previously calculated result of FindIntensity. However, when necessary, FindIntensity can also work with externally generated trace results. FindIntensity works equally well for surfaces that either are close to a focal plane or far from any focus. If a light sheet light source is used (ie. WedgeOfRays or LineOfRays), then a one-dimensional intensity function is automatically calculated. If a volume-filling light source is used (ie. PointOfRays or GridOfRays), then the intensity calculations are automatically carried out for each reported surface in two-dimensions.

FindIntensity uses the KernelScale and SmoothKernelSize options to specify a Gaussian smoothing kernel that gets convolved with the intensity data. This smoothing kernel can be set to the diffraction-limited spot-size of the systen in order to incorporate the diffraction-limited behavior with the geometric ray-trace data.

FindIntensity uses the IntensityScale option to specify spatial scaling of the system.

FindIntensity uses the Energy option to manually specify the total integrated energy at the surface. With the default Energy-> Automatic setting, the integrated energy is automatically determined from the ray-trace information. However, Energy -> number is used to manually specify a constant value for the total integrated energy. See also: IntensitySetting, KernelScale, SmoothKernelSize, and SmoothKernelRange.

FindSpotSize

FindSpotSize[objectset, selectionproperties, options] takes an object set containing Ray objects, and returns the diameter and position of a circle enclosing the locus of ray/surface intersection points that shares the common set of traits specified in selectionproperties.

See also:
FindFocus and RaySelect.

FinishPoint

FinishPoint is a rule nested within RenderedPolygons of Component that gives the two-dimensional ending coordinate on a surface indicated by SurfaceNumber.

FinishPoint is used for creating the sides of a polygon that span several surfaces.

FirstSlot

FirstSlot is a value of AffectedSurfaces and indicates that the first slot position within each confined path in ConfinedPaths inherits the new ray-tracing function trait.

In general, ray-tracing function traits are added to a surface by appending the ray-tracing function position (within
Deflections) to the affected DeflectionNumber value within ConfinedPaths. See also: AllDeflections, AllSurfaces, NotFirstSlot, LastSlot, NotLastSlot, and AffectedSurfaces.

FocalLength

FocalLength specifies the length of the chief ray running between the last optical surface and the FocalPoint position.

See also:
FindFocus.

Go to list of topics

FocalPlaneTilt

FocalPlaneTilt labels the unit vector that denotes the direction of the ray bundle's optical axis.

See also:
FindFocus.

FocalPoint

FocalPoint labels, in three-dimensions, the point in space lying in the focal plane and at the center of the locus of ray/focal plane intersections.

See also:
FindFocus.

FreezeIncrement

FreezeIncrement[component, options] is a genetic building block that causes the ray to remain targeted to the same surface for successive propagation generations.

This effect enables successive ray interactions with the same surface to occur. The ray is allowed to continue propagating to other surfaces once the current surface is no longer in its trajectory path.
FreezeIncrement is also an unauthorized option of Ray. The ray parameter FreezeIncrement -> True causes rays not to increment to other surfaces until no intersection is found with the current surface.

Fresnel

Fresnel[component, linespacing, options] is a genetic building block used for transforming a regular optical element into a flattened Fresnel equivalent.

The
linespacing argument specifies the width of the Fresnel grooves and the groove direction is specified by the FresnelSymmetry option. Fresnel uses the AffectedSurfaces option to specify the component surfaces affected by Fresnel. If AffectedSurfaces does not specify a number or list of numbers, Fresnel will transform all surfaces present. See also: FresnelSymmetry, RadialSymmetry, HorizontalSymmetry, and VerticalSymmetry.

FresnelSymmetry

FresnelSymmetry is an option of Fresnel that indicates the groove symmetry of the Fresnel surface.

FresnelSymmetry can be set to RadialSymmetry, HorizontalSymmetry, and VerticalSymmetry.

Front

Front is a value of CurvatureDirection.

FrontView

FrontView is a value of PlotType that gives a two-dimensional orthoscopic rendering showing a projection onto the y-z plane of the optical system.

See also:
Surface, TopView, SideView, ShadowProject, Off, and Full3D.

Full3D

Full3D is a value of PlotType that gives the full three-dimensional rendering of the optical system.

See also:
Surface, TopView, SideView, FrontView, ShadowProject, and Off.

FunctionCenter

FunctionCenter is an option of ComponentFoundation that gives the values of the component surface functions at the function origin.

Well
-behaved surface functions have finite values at their origin and the default setting FunctionCenter -> Automatic is used. However, some custom-defined functions, whose limits approach infinity at their function origin, need to be manually set to some finite value, FunctionCenter -> {x1, x2, ...} where typically xi = 0. For a single-surfaced component, use FunctionCenter -> x where typically x = 0. See also: SurfaceCenter and EntranceCoordinates.

FusedSilica

FusedSilica indicates the use of a fused silica medium.

The refractive index model for
FusedSilica is most suitable for the wavelength range of .18 microns to 2.0 microns.

Go to list of topics

GenerationLimit

GenerationLimit is an option of PropagateSystem and DrawSystem that determines the maximum number of ray/surface interactions permitted before the ray propagation is discontinued.

See also:
GenerationNumber and ThresholdIntensity.

GenerationNumber

GenerationNumber is a rule of Ray that specifies the maximum-valued IntersectionNumber found within the global system of Ray objects at the creation of the specified Ray object.

SurfaceNumber, ComponentNumber, ConfinedPosition, UnconfinedPosition, IntersectionNumber, GenerationNumber, and ConfinedNumber are all pointer parameters stored in Ray.

Glycerine

Glycerine indicates the use of a glycerine liquid medium at 20 degrees Celsius.

The refractive index model for
Glycerine is most suitable for the wavelength range of .43 microns to .66 microns. Glycerine has a density of 1.260, relative to the density of water.

GraphicalOutput

GraphicalOutput[graphicalprimitives] is an object carrying the listing of graphic primitives for the rendering of components.

GraphicDesign

GraphicDesign is an option of all rendered components that specifies the style of rendering.

GraphicDesign can be set to Automatic, Sketch, Wire, Solid, or Off.

GratingMirror

GratingMirror[gratingfunction, aperture, options] indicates a planar, diffractive, reflective component that splits incoming rays into multiple diffracted, reflected orders according to the gratingfunction parameter and the DiffractedOrders option.

The
gratingfunction parameter specifies a grating vector either as a one-dimensional value, a two-dimensional list of values, a three-dimensional list of values, or a three-dimensional Function[{horizontal, vertical, perp}], where horizontal, vertical, and perp specify the indicated grating directions with the grating surface initially oriented parallel to the y-z plane. These vector quantities have units of spatial frequency and are given in line pairs per millimeter. A single number used in the grating parameter designates a uniformly distributed grating vector pointing in the direction of the y axis. A list of two numbers specifies a uniformly distributed grating vector whose direction lies within the surface plane. GratingMirror returns DiffractionMismatch and DiffractionOrderNumber as ray parameters. For other options of GratingMirror, see EfficiencyFunction and MismatchCutOff. See also: GratingSurface, Diffraction, and Reflection.

GratingSurface

GratingSurface[gratingfunction, aperture, options] denotes a planar, diffractive component that splits incoming rays into multiple diffracted orders according to the gratingfunction parameter and the DiffractedOrders option.

The
gratingfunction parameter specifies a grating vector either as a one-dimensional value, a two-dimensional list of values, a three-dimensional list of values, or a three-dimensional Function[{horizontal, vertical, perp}], where horizontal, vertical, and perp specify the indicated grating directions with the grating surface initially oriented parallel to the y-z plane. These vector quantities have units of spatial frequency and are given in line pairs per millimeter. A single number used in the grating parameter indicates a uniformly distributed grating vector pointing in the direction of the y axis. A list of two numbers designates a uniformly distributed grating vector whose direction lies within the surface plane. GratingSurface returns DiffractionMismatch and DiffractionOrderNumber as ray parameters. See also: EfficiencyFunction, GratingMirror, GratingSurface, and Diffraction.

GrinLens

GrinLens designates an unimplemented component that focuses rays according to a gradient index profile.

GridOfRays

GridOfRays[size, options] creates a rectangular or circular grid of rays, starting in the y-z plane, distributed at a grid of intervals about the positive x axis.

If
size is a list of two positive numbers {width, height}, then GridOfRays forms a rectangular grid of dimensions {width, height}. If size is a single number, then GridOfRays forms a circular grid of rays that has a diameter dictated by size. If size is a list of two negative numbers {-width, -height}, then GridOfRays forms an elliptical grid of elliptical dimensions {width, height}. The number of rays in each of the grid dimensions is given in the option NumberOfRays. NumberOfRays may also point to a list of two numbers for each direction of the grid of starting points.

GroupDescription

GroupDescription is an option of BuildComponent that supplies a new ComponentDescription label for the combined grouping of Component objects.

Go to list of topics

Hole

Hole[component, holeaperture, options] is a genetic building block for creating a hole within a component surface.

The
holeaperture parameter specifies the hole dimensions, which can be either circular, rectangular, or polygonal. Hole also modifies the component rendering to show the hole. You can use the HoleOffset option to position the hole away from the affected surface center.

HoleBoundary

HoleBoundary is a rule of Ray that gives the hole aperture dimensions for the last surface to intercept the ray.

HoleBoundary is also a rule parameter of Component and is nested within the Surfaces rule when a hole in the surface is present.

HoleOffset

HoleOffset is a rule of Ray that gives the offset dimensions of a hole aperture for the last surface to intercept the ray.

HoleOffset is also a rule parameter of Component and is nested within the Surfaces rule when a hole in the surface is present.

HorizontalSymmetry

HorizontalSymmetry is a value of FresnelSymmetry that implies that the surface grooves are symmetric about the component's vertical axis.

Go to list of topics

IncrementComponentNumber

IncrementComponentNumber[component, componentincrement, options] is a genetic building block that increments ComponentNumber, relative to its present value.

IndexFunction

IndexFunction[a0, a1, a2, a3, a4, a5] takes six terms and creates the pure function Function[Sqrt[a0+a1 #^2+a2 #^-2+a3 #^-4+a4 #^-6+a5 #^-8]] used to model the index of refraction for various materials.

IndexFunction is used by built-in optical material models.

InsideMedium

InsideMedium is an option of Pipe. InsideMedium sets the value of IntrinsicMedium used within the middle of Pipe.

Intensity

Intensity is a rule of Ray that gives the ray's intensity value.

See also:
ThresholdIntensity.

InternalDirectionChange

InternalDirectionChange is a rule of Ray that is an internal flag variable used by PropagateSystem to indicate an internal reflection inside a double-surfaced component.

This causes
Ray to increment backwards within the component.

IntersectionNumber

IntersectionNumber is a rule of Ray that gives the total number of surface intersections encountered for the creation of the specified Ray object.

SurfaceNumber, ComponentNumber, ConfinedPosition, UnconfinedPosition, IntersectionNumber, GenerationNumber, and ConfinedNumber are all pointer parameters stored in Ray.

IntrinsicCylindricalSurface

IntrinsicCylindricalSurface[radius, aperture, medium1, medium2, options] refers to a cylindrical component occupying half a complete cylinder that models the refractive index boundary between two different refractive mediums.

Refractive components encountered by rays that have previously encountered
IntrinsicCylindricalSurface are refracted using the new IntrinsicMedium value given by IntrinsicCylindricalSurface. IntrinsicCylindricalSurface uses parameters medium1 and medium2 to obtain intrinsic index functions on each side of the fluid boundary. If the ray is coming from an environment that has an intrinsic index given by medium1, then the value of IntrinsicMedium of the Ray object is replaced by medium2. Likewise, if the ray is coming from an environment that has an intrinsic index given by medium2, then the value of IntrinsicMedium of the Ray object is replaced by medium1. IntrinsicCylindricalSurface is created with its surface centered about the origin. The aperture parameter may designate a circle, rectangle, or polygon depending on the number and type of elements listed by it. See also: the SwitchIntrinsicMedium genetic building block. IntrinsicSurface, IntrinsicSphericalSurface, and IntrinsicCylindricalSurface are all related components.

IntrinsicMedium

IntrinsicMedium is a rule of Ray that gives a label that identifies the background optical medium surrounding components.

As examples:
Air, Water, and Vacuum are typical settings for IntrinsicMedium. OpticalMedium, ComponentMedium, and RefractiveIndex are other options involving the refractive index.

IntrinsicSphericalSurface

IntrinsicSphericalSurface[radius, aperture, medium1, medium2, options] designates a spherical component that has a given radius of curvature that models the refractive index boundary between two different refractive mediums.

Refractive components encountered by rays that have previously encountered
IntrinsicSphericalSurface are refracted using the new IntrinsicMedium value given by IntrinsicSphericalSurface. IntrinsicSphericalSurface uses parameters medium1 and medium2 to obtain intrinsic index functions on each side of the fluid boundary. If the ray is coming from an environment that has an intrinsic index given by medium1, then the value of IntrinsicMedium of the Ray object is replaced by medium2. Likewise, if the ray is coming from an environment that has an intrinsic index given by medium2, then the value of IntrinsicMedium of the Ray object is replaced by medium1. IntrinsicSphericalSurface is created with its surface centered about the origin. The aperture parameter may specify a circle, rectangle, or polygon depending on the number and type of elements listed by it. See also: the SwitchIntrinsicMedium genetic building block. IntrinsicSurface, IntrinsicSphericalSurface, and IntrinsicCylindricalSurface are all related components.

IntrinsicSurface

IntrinsicSurface[aperture, medium1, medium2, options] denotes a planar component that models the refractive index boundary between two different refractive mediums.

Refractive components encountered by rays that have previously encountered
IntrinsicSurface are refracted using the new IntrinsicMedium value given by IntrinsicSurface. IntrinsicSurface uses parameters medium1 and medium2 to obtain intrinsic index functions on each side of the fluid boundary. If the ray is coming from an environment that has an intrinsic index given by medium1, then the value of IntrinsicMedium of the Ray object is replaced by medium2. Likewise, if the ray is coming from an environment that has an intrinsic index given by medium2, then the value of IntrinsicMedium of the Ray object is replaced by medium1. IntrinsicSurface is created with its surface centered about the origin. The aperture parameter may denote a circle, rectangle, or polygon depending on the number and type of elements listed by it. See also: the SwitchIntrinsicMedium genetic building block. IntrinsicSurface, IntrinsicSphericalSurface, IntrinsicCylindricalSurface, and CustomIntrinsicSurface are all related components.

Go to list of topics

JacobianMatrix

JacobianMatrix is a rule sometimes embedded within Surfaces of Component that gives a matrix of symbolic functions to be used by the Jacobian option of FindRoot for finding the ray/surface intersections at a particular surface.

Go to list of topics

LaSF9

LaSF9 denotes the use of the LaSF9 glass medium.

The refractive index model for
LaSF9 is most suitable for the wavelength range of .35 microns to 2.3 microns.

LastSegment

LastSegment labels an unauthorized rule of Ray that is an internal flag variable used by PropagateSystem to indicate the last segment of each Ray pathway to be propagated through an optical system without having its Intensity value attenuated below the ThresholdIntensity level.

LastSlot

LastSlot is a value of AffectedSurfaces and specifies that the last slot position within each confined path in ConfinedPaths inherits the new ray-tracing function trait.

In general, ray-tracing function traits are added to a surface by appending the ray-tracing function position (within
Deflections) to the affected DeflectionNumber value within ConfinedPaths. See also: AllDeflections, AllSurfaces, FirstSlot, NotFirstSlot, NotLastSlot, and AffectedSurfaces.

LensDoublet

LensDoublet[r1, r2, r3, aperture, t1, t2, index1, index2, options] designates a lens having three spherical surfaces.

The radii of curvatures are specified by
r1, r2, and r3, where Infinity is used to indicate planar surfaces. In addition, LensDoublet is specified by two thicknesses: t1, t2. The two refractive indexes must also be specified either as a function of wavelength or using one of the built-in optical material labels. LensDoublet is created with its first surface centered about the origin and the remaining surfaces positioned down the x axis. The aperture parameter may designate a circle, rectangle, or polygon depending on the number and type of elements listed by it.

LensTriplet

LensTriplet[r1, r2, r3, r4, aperture, t1, t2, t3, index1, index2, index3, options] refers to a lens having four spherical surfaces.

The radii of curvatures are specified by
r1, r2, r3, and r4, where Infinity is used to indicate planar surfaces. In addition, LensTriplet is specified by three thicknesses: t1, t2, and t3. The three refractive indexes must also be specified either as a function of wavelength or using one of the built-in index functions. LensTriplet is created with its first surface centered about the origin and the remaining surfaces positioned down the x axis. The aperture parameter may indicate a circle, rectangle, or polygon depending on the number and type of elements listed by it.

LineOfRays

LineOfRays[linewidth, options] creates a set of rays, starting at the y axis, lying in the horizontal plane, equally distributed within the specified linewidth, and directed down the positive x axis.

See also:
NumberOfRays.

LineStyle

LineStyle is an option of DrawSystem that carries a list of graphics styles for the rendering of edges and wire-framed surfaces. See also: FillStyle.

LensSurface

LensSurface[aperture, options] denotes a planar component that models the refractive index boundary at a lens surface.

LensSurface is always used in combination with one or more additional LensSurface component types to create a complete lens object. LensSurface is created with its surface centered about the origin. The aperture parameter may denote a circle, rectangle, or polygon depending on the number and type of elements listed by it. LensSurface, SphericalLensSurface, CylindricalLensSurface, ParabolicLensSurface, and CustomLensSurface are all related components.

Go to list of topics

Mesh

Mesh is a value of RenderType within Component that specifies that the surface graphics should be rendered with mesh outlines.

Methanol

Methanol indicates the use of a methanol liquid medium at 20 degrees Celsius.

The refractive index model for
Methanol is most suitable for the wavelength range of .43 microns to .66 microns.

Mirror

Mirror[aperture, thickness, options] denotes a planar, double-surfaced mirror that has a reflective side and a refractive side.

Mirror is created with its first surface centered about the origin and its second surface positioned down the positive x axis. The aperture parameter may indicate a circle, rectangle, or polygon depending on the number and type of elements listed by it.

MirrorSpan

MirrorSpan[{x1, y1}, {x2, y2}, thickness, height, options] is similar to Mirror except that its size and placement are specified by the two two-dimensional coordinates {x1, y1} and {x2, y2}.

MirrorSpan spans the specified coordinates and has the specified height.

MismatchCutOff

MismatchCutOff is an option that denotes a real number that designates the maximum mismatch cutoff value of a diffracting ray.

If a diffraction order has a
DiffractionMismatch value greater than specified by MismatchCutOff, the ray is terminated by setting its Intensity parameter to zero. MismatchCutOff is an option of all grating components, as well as the Diffraction genetic building block. See also: DiffractionMismatch, EfficiencyFunction, Diffraction, GratingSurface, and GratingMirror.

ModelIntensity

ModelIntensity[materialname] is a function evaluated by the ray-tracing engine at every ray/surface interface and is used for modeling the bulk absorptive properties of materials identified by materialname.

ModelIntensity may depend on various parameters including Intensity, WaveLength, OpticalLength, RefractiveIndex, and Temperature, and returns a single intensity value that is stored in the Intensity parameter of the ray. User-specified intensity model libraries of refractive materials can be created by listing and evaluating: ModelIntensity[materialname] = intensityfunction for different specified materialnames. The default intensityfunction for unspecified materialnames leaves Intensity unchanged. ModelIntensity may be based on spectroscopic data, and can be used to model gain (in lasers) as well as absorption. Before the user can define new ModelIntensity functions, they must first be unprotected or included in the "Material Models" section of the LensLab package. See also: ModelRefractiveIndex.

ModelRayColor

ModelRayColor[rayparameterlabels, {minvalue, maxvalue}] = Function[parametervalue] attempts to convert the ray parameters indicated by rayparameterlabels into rendered color values.

Custom ray-rendering schemes can be defined for various ray-parameter labels by using
ModelRayColor[rayparameterlabel, {min_, max_}] = Function[{parametervalue}, function[parametervalue]], where function[parametervalue] returns graphics styles such as Hue, GreyLevel, and RGBColor. ModelRayColor uses rayparameterlabel from the ColorView option of DrawSystem. Arguments minvalue and maxvalue are calculated based on the minimum and maximum parameter values from the currently displayed rays, selected by the RayChoice option. As a default for undefined ray parameter labels given by the ColorView option, ModelRayColor assigns a color Hue to each ray according to the segment parameter's numerical position between minvalue and maxvalue, with red assigned to the maximum encountered parameter value. Parameters made up of three elements are evaluated by representing each element independently with a red, green, or blue value. Two-element parameters are assigned a red and a green value, each representing an element. DrawSystem option ColorView -> WaveLength attempts to match the wavelength of the ray to the perceived visual color of that wavelength. The option ColorView -> Black may be used to produce black-rendered ray lines. Before the user can define new ModelRayColor functions, ModelRayColor must be unprotected or included within the "ModelRayColor" section of the LensLab package. See also: Black, ColorView, RayChoice, and RayLineRGB.

ModelRefractiveIndex

ModelRefractiveIndex[materialname] is a ray-parameter-dependent function that models the refractive properties of materials identified by materialname. Such properties depend on parameters such as WaveLength and Temperature.

In addition to the existing material models, user-specified model libraries of refractive materials can be created by listing and evaluating:
ModelRefractiveIndex[materialname] = indexfunction[...] for different material names. Note that the indexfunction can either be a user-specified function or the built-in IndexFunction resource. The CreateRefractiveIndexModel can be used in facilitating this process. Before the user can define new ModelRefractiveIndex functions, the ModelRefractiveIndex must first be unprotected or included within the "Material Models" section of the LensLab package. See also: IndexFunction, CreateRefractiveIndexModel, and ModelIntensity.

Go to list of topics

ModelSurfaceShape

ModelSurfaceShape[surfacelabel, value] is a global function that is used by ComponentFoundation to create surface functions that define the component surfaces.

ModelSurfaceShape gives a surface function expression to SurfaceFunction in Component. Users can add new surface definitions by assigning new functions to ModelSurfaceShape with surfacelabel that names the surface type. The value parameter can be a single number or list of numbers, and it specifies surface curvature characteristics. ModelSurfaceShape can either define a three-dimensional surface using a function of two parameters or a list of three parametric functions. New definitions may be assigned to ModelSurfaceShape by evaluating either: ModelSurfaceShape[surfacelabel, value] = {SurfaceFunction -> {Function[fx[s, t]], Function[fy[s, t]], Function[fz[s, t]]}} for explicitly parametric surface functions or ModelSurfaceShape[surfacelabel, value] = {SurfaceFunction -> Function[fx[s, t]]} for simple surface functions. Before the user can define new ModelSurfaceShape functions, the ModelSurfaceShape must first be unprotected or included within the "Model Functions" section of the LensLab package.

ModulationTransferFunction

ModulationTransferFunction[system, options] calculates the modulation and phase transfer functions of the optical system for a given object source input.

ModulationTransferFunction works together with FindIntensity. As input, ModulationTransferFunction takes the returned output from FindIntensity. The optical system must contain a light source followed by the imaging optics with the focal surface as its last element.

Note: ModulationTransferFunction works equally well for both point sources and planar sources, as long as the described imaging system contains a focus. If a one-dimensional light source is used (ie. WedgeOfRays or LineOfRays), then a one-dimensional modulation transfer function is calculated. If a two-dimensional light source is used (ie. PointOfRays or GridOfRays), then the optical transfer function calculations are carried out in two-dimensions. Warning: in general, most one-dimensional and two-dimensional results are not fully equivalent to each other.

ModulationTransferFunction is also a label used with the RenderedParameters option. ModulationTransferFunction is a rule returned by gives the modulation transfer function of an imaging system for a specific image point. ModulationTransferFunction is related to: FindIntensity, PhaseTransferFunction, and MTF.

MTF

MTF[system, options] is an alias to ModulationTransferFunction[system, options].

Move

Move[objectset, {x, y, rotationangle}, options] is used to move the relative position and orientation of a set of components and rays within a horizontal plane.

The
rotationangle determines the angular orientation of objectset within the horizontal plane. The option TwistAngle -> # can be used to specify a rotation around the axis of orientation. Other related commands used for positioning components and rays include: Move3D, MoveDirected, MoveDirected3D, MoveLinear, MoveLinear3D, MoveReflected, and MoveReflected3D.

MoveDirected

MoveDirected[objectset, {xpos, ypos}, {xpoint, ypoint}, options] is used to move the relative position and orientation of a set of components and rays within a horizontal plane whose axis of orientation is defined by a line intersecting the object's position and a second defined point in the plane.

The option
TwistAngle -> # can be used to specify a rotation around the axis of orientation. The option SideOfObject is used to specify on which side of the object the second defined point is located. SideOfObject takes the values Before and After. Other related commands used for positioning components and rays include: Move, Move3D, MoveLinear, MoveLinear3D, MoveDirected3D, MoveReflected, and MoveReflected3D.

MoveDirected3D

MoveDirected3D[objectset, {xpos, ypos, zpos}, {xpoint, ypoint, zpoint}, twistangle, options] is used to move the relative position and orientation of a set of components and rays in three-dimensional space, whose axis of orientation is defined by a line intersecting the object set's position and a second defined point in space.

The
twistangle specifies a rotation around the axis of orientation. The option SideOfObject is used to specify on which side of the object the second defined point is located. SideOfObject takes the values Before and After. Other related commands used for positioning components and rays include: Move, Move3D, MoveLinear, MoveLinear3D, MoveDirected, MoveReflected, and MoveReflected3D.

MoveLinear

MoveLinear[objectset, {xstart, ystart}, lineposition, {xend, yend}, options] is used to move the relative position and orientation of a set of components and rays along a line specified by a starting point and ending point within the horizontal plane.

The returned set of objects is placed on the line at a distance of
lineposition from the specified starting point. The option TwistAngle -> # can be used to specify a rotation around the axis of orientation. Other related commands used for positioning components and rays include: MoveLinear3D, Move, Move3D, MoveDirected, MoveDirected3D, MoveReflected, and MoveReflected3D.

MoveLinear3D

MoveLinear3D[objectset, {xstart, ystart, zstart}, lineposition, {xend, yend, zend}, twistangle, options] is used to move the relative position and orientation of a set of components and rays along a line specified by a starting point and ending point in three-dimensional space.

The returned set of objects is placed on the line at a distance of
lineposition from the specified starting point. The twistangle specifies a rotation around the axis of orientation. Other related commands used for positioning components and rays include: MoveLinear, Move, Move3D, MoveDirected, MoveDirected3D, MoveReflected, and MoveReflected3D.

MoveReflected

MoveReflected[objectset, {xbegin, ybegin},{xpos, ypos}, {xend, yend}, options] is used to move the relative position and orientation of a set of components and rays within a horizontal plane whose axis of orientation is defined by a line intersecting the object set's position and bisecting a starting point and ending point in the plane.

The option
TwistAngle -> # can be used to specify a rotation around the axis of orientation. Other related commands used for positioning components and rays include: Move, Move3D, MoveLinear, MoveLinear3D, MoveDirected, MoveDirected3D, and MoveReflected3D.

MoveReflected3D

MoveReflected3D[objectset, {xbegin, ybegin, zbegin},{xpos, ypos, zpos},{xend, yend, zend}, twistangle, options] is used to move the relative position and orientation of a set of components and rays in three-dimensional space, whose axis of orientation is defined by a line intersecting the object set's position and bisecting a starting point and ending point in space.

The
twistangle specifies a rotation around the axis of orientation. Other related commands used for positioning components and rays include: Move, Move3D, MoveLinear, MoveLinear3D, MoveDirected, MoveDirected3D, and MoveReflected.

Move3D

Move3D[objectset, {xpos, ypos, zpos}, tiltvector, twistangle, options] is used to move the relative position and orientation of a set of components and rays in three-dimensional space.

The
tiltvector is a three-dimensional unit vector that points the direction of the axis of orientation. The twistangle specifies a rotation around the axis of orientation. Other related commands used for positioning components and rays include: Move, MoveLinear, MoveLinear3D, MoveDirected, MoveDirected3D, MoveReflected, and MoveReflected3D.

Go to list of topics

NewAuthorizedOptions

NewAuthorizedOptions is a rule of Ray that gives a list of Ray option names authorized in addition to the names listed in Options[Ray] for propagating several generations.

Ray parameter names may be added or removed from NewAuthorizedOptions by a surface ray-tracing function. Unauthorized ray parameters (labels not listed in NewAuthorizedOptions or in Options[Ray]) are allowed to propagate to the next ray/surface interaction before removal. Note that every Ray object may have its own unique list of new authorized parameters. In general, these lists will not be the same.

NewRay

NewRay is a value of AddTo and ReplaceFor and designates that newly created Ray objects are returned from DeflectionFunction.

If specified in
AddTo, NewRay creates a new set of one or more Ray objects. NewRay can only be given as an output object. Inputs from previous NewRay objects are given by CreatedRay and AllCreatedRays. See also: ChangedRay, CreatedRay, OriginalRay, AddTo, and TakeFrom.

NextValue

NextValue is an option of FindFocus that gives a follow-up number to help FindRoot begin its search.

NotFirstSlot

NotFirstSlot is a value of AffectedSurfaces and designates that all but the first slot position within each confined path in ConfinedPaths inherits the new ray-tracing function trait.

In general, ray-tracing function traits are added to a surface by appending the ray-tracing function position (within
Deflections) to the affected DeflectionNumber value within ConfinedPaths. See also: AllDeflections, AllSurfaces, FirstSlot, LastSlot, NotLastSlot, and AffectedSurfaces.

NotLastSlot

NotLastSlot is a value of AffectedSurfaces and denotes that all but the last slot position within each confined path in ConfinedPaths inherits the new ray-tracing function trait.

In general, ray-tracing function traits are added to a surface by appending the ray-tracing function position (within
Deflections) to the affected DeflectionNumber value within ConfinedPaths. See also: AllDeflections, AllSurfaces, FirstSlot, LastSlot, NotLastSlot, and AffectedSurfaces.

NumberOfRays

NumberOfRays is an option of ray sources that designates the number of rays to be initially created by a ray source function.

NumberOfRays is an option used by: LineOfRays, CircleOfRays, ConeOfRays, WedgeOfRays, GridOfRays, and RainbowOfRays.

Numeric

Numeric is a value of the SurfaceNormalFunction, SurfaceNormalCalculations, and SurfaceRayIntersections, that designates that a direct numerical calculation is used for determining surface normals and ray-intersection coordinates.

Go to list of topics

Off

Off is a value that designates no graphical output.

Off is a value of the PlotType option of DrawSystem and the GraphicDesign option of ComponentRendering. See also: Surface, TopView, SideView, FrontView, ShadowProject, and Full3D.

OffAxis

OffAxis -> {xoffset, yoffset} is an option that specifies an offset of the axis of symmetry for curved surfaces.

OpenSide

OpenSide is an option used by CylinderGraphic that indicates an opening in the side wall of the cylinder graphic.

OpenSide takes values {startangle, finishangle} or False.

OpticalLength

OpticalLength is a rule of Ray that gives the total optical path length of the ray segment from the beginning of its creation.

OpticalMedium

OpticalMedium is a rule of Ray that identifies the optical material medium traversed by each ray segment.

The value of
OpticalMedium is typically used by ModelRefractiveIndex for selecting a refractive index model of the region. See also: ComponentMedium, IntrinsicMedium, and RefractiveIndex.

OpticalSystem

OpticalSystem[{listofrays}, {listofcomponents}, GraphicalOutput[...]] is an object containing an ordered listing of Ray objects, Component objects, and GraphicalOutput.

OpticalSystem doubles as a value of OutputType.

OriginalRay

OriginalRay is a value of TakeFrom and denotes that the original incoming Ray object is passed to DeflectionFunction.

OriginalRay can also be used with AddTo and ReplaceFor, but only in rare instances. Normally ChangedRay is used with AddTo and ReplaceFor instead. OriginalRay contains the original Ray object parameters of the ray incident on the surface from the previous generation. See also: NewRay, CreatedRay, ChangedRay, AddTo, and TakeFrom.

OtherShape

OtherShape is a value of SurfaceLabel within Component that designates that the SurfaceFunction is something other than planar, spherical, parabolic, or cylindrical.

OutputType

OutputType is an option of ShowSystem and DrawSystem, and indicates the final output form from ShowSystem and DrawSystem.

OutputType uses word values OpticalSystem and StandardGraphics. If StandardGraphics mode is indicated, then ShowSystem and DrawSystem return a graphics object in the standard Mathematica format. In the default OpticalSystem mode, ShowSystem and DrawSystem return component and ray information that can be analyzed and manipulated by LensLab. See also: RayChoice and PlotType.

Go to list of topics

PAN

PAN specifies the use of the polyacrylonitrile polymer medium.

The refractive index model for
PAN is most suitable for the wavelength range of .46 microns to 1.06 microns.

ParabolicLensSurface

ParabolicLensSurface[focus, aperture, options] designates a spherical component that has a given radius of curvature that models the refractive index boundary at a lens surface.

ParabolicLensSurface is always used in combination with one or more additional LensSurface component types to create a complete lens object. ParabolicLensSurface is created with its surface centered about the origin. The aperture parameter may specify a circle, rectangle, or polygon depending on the number and type of elements listed by it. LensSurface, ParabolicLensSurface, CylindricalLensSurface, ParabolicLensSurface, and CustomLensSurface are all related components.

ParabolicMirror

ParabolicMirror[focallength, aperture, thickness, options] designates a double-surfaced mirror that has a parabolic reflective side and a planar refractive side.

ParabolicMirror is created with its first surface centered about the origin and its second surface positioned down the positive x axis. The aperture parameter may denote a circle, rectangle, or polygon depending on the number and type of elements listed by it.

ParabolicMirrorWithHole

ParabolicMirrorWithHole[focallength, aperture, holeaperture, thickness, options] designates a double-surfaced mirror that has a parabolic reflective side and a planar refractive side, with a hole cut in its center.

ParabolicMirrorWithHole is created with its first surface centered about the origin and its second surface positioned down the positive x axis. The aperture and holeaperture arguments may denote a circle, rectangle, or polygon depending on the number and type of elements listed by it.

ParabolicShape

ParabolicShape is a value of SurfaceLabel within Component that indicates the parabolic SurfaceFunction.

PinHole

PinHole[aperture, holeaperture, options] denotes a thin planar component with a hole created in its middle.

PinHole is created with its surface centered about the origin. The aperture and holeaperture arguments may denote a circle, rectangle, or polygon depending on the number and type of elements listed by it.

Pipe

Pipe[outerdiameter, wallthickness, height, options] designates a cylindrical pipe that has a given diameter and wall thickness that models the optical properties of a transparent, thick-walled cylinder.

Pipe may be filled with an index medium other than Air by having the interior intrinsic index of refraction given by the option InsideMedium. The refractive index of the pipe walls is given by the ComponentMedium option. Pipe is created with its center located at the origin and its length (height) oriented vertically.

PlanarShape

PlanarShape is a value of SurfaceLabel within Component that designates a planar SurfaceFunction.

PlanoConcaveCylindricalLens

PlanoConcaveCylindricalLens[focallength, aperture, thickness, options] indicates a lens with a planar surface on one side and a concave cylindrical surface on the other side.

PlanoConcaveCylindricalLens is created with its first surface centered about the origin and its second surface positioned down the positive x axis. The aperture parameter may designate a circle, rectangle, or polygon depending on the number and type of elements listed by it.

PlanoConcaveLens

PlanoConcaveLens[focallength, aperture, thickness, options] denotes a lens with a planar surface on one side and a concave spherical surface on the other side.

PlanoConcaveLens is created with its first surface centered about the origin and its second surface positioned down the positive x axis. The aperture parameter may indicate a circle, rectangle, or polygon depending on the number and type of elements listed by it.

PlanoConvexCylindricalLens

PlanoConvexCylindricalLens[focallength, aperture, thickness, options] denotes a lens with a planar surface on one side and a convex cylindrical surface on the other side.

PlanoConvexCylindricalLens is created with its first surface centered about the origin and its second surface positioned down the positive x axis. The aperture parameter may indicate a circle, rectangle, or polygon depending on the number and type of elements listed by it.

Go to list of topics

PlanoConvexLens

PlanoConvexLens[focallength, aperture, thickness, options] denotes a lens with a planar surface on one side and a convex spherical surface on the other side.

PlanoConvexLens is created with its first surface centered about the origin and its second surface positioned down the positive x axis. The aperture parameter may designate a circle, rectangle, or polygon depending on the number and type of elements listed by it.

PlotType

PlotType is an option of DrawSystem and ShowSystem that designates the display form of the graphics rendering.

PlotType takes TopView, FrontView, SideView, Full3D, Off, Surface, and ShadowProject as values.

PMMA

PMMA designates the use of the poly(methyl methacrylate) polymer medium.

The refractive index model for
PMMA is most suitable for the wavelength range of .46 microns to 1.06 microns.

Polarization

Polarization -> {horizontal, vertical, phaseangle} is a rule of Ray that specifies the direction of polarization of the ray segment as measured in the plane transverse to the axis of propagation.

In general,
horizontal and vertical and phaseangle are real numbers, with phaseangle indicating a phase-difference between the two transverse directions of polarization. The absolute directions of polarization are given by the second and third vector elements listed in the RotationMatrix ray parameter. Polarization, Intensity, RayTilt, and RotationMatrix are all related parameters. Note that Polarization is a field quantity, while Intensity is an energy quantity. Polarization is not fully implemented at this time.

PolygonalMirror

PolygonalMirror[numberofsides, diameter, height, options] indicates a polygonal mirror having radial symmetry and vertical surfaces.

PolygonalMirror is initially placed with its axis of symmetry located vertically at the origin. The diameter parameter specifies the diameter of a circle circumscribing the polygon.

PolygonGraphic

PolygonGraphic[numberofsides, diameter, options] designates a two-dimensional equilateral polygon lying in the horizontal x-y plane with its center placed at the origin of the coordinate system.

PolygonGraphic does not interact with rays in any way, but can be listed with active components or with other graphics components for creating passive three-dimensional shapes. The diameter parameter specifies the diameter of a circle circumscribing the polygon.

Prism

Prism[{alpha, side, beta}, height, options] designates a triangular refractive prism specified by two angles, alpha and beta, a side between the two angles, and a height.

Prism is created with its triangle lying in the horizontal x-y plane and its height pointing vertically. The specified side is bisected by the origin, pointing in line with the x axis. See also: DovePrism and DovePrismMirrored.

PropagateSystem

PropagateSystem[objectset, options] takes an object set, containing a mixed list of Ray, Component, and OpticalSystem objects, traces the rays through the components, and returns the ray tracing as an OpticalSystem object carrying a divided listing of Ray and Component objects.

PropagateSystem works in the following way. PropagateSystem takes the input object set and separates the Ray objects from the Component objects, storing each Ray object's original position index as a parameter within the Ray object's shell (since the relative ordering of the Ray objects within the mixed Ray/Component object set determines the propagation starting position of each ray within the component list). Each time a ray intersects a component surface, a new Ray object is created containing new Ray parameter values that are either updated from old parameters or introduced as new parameters, according to the component's ray-tracing functions. If only Ray objects, Component objects, or a single OpticalSystem object exist at the input, then PropagateSystem returns them without change. For each object headed by OpticalSystem present in the object set (that denotes a previous ray-trace result), PropagateSystem separates and propagates only the last generation of Ray objects present, using all Component objects present. PropagateSystem is called up internally by DrawSystem.

PS

PS specifies the use of the polystyrene polymer medium.

The refractive index model for
PS is most suitable for the wavelength range of .46 microns to 1.06 microns.

PVA

PVA denotes the use of the poly(vinyl alcohol) polymer medium.

The refractive index model for
PVA is most suitable for the wavelength range of .46 microns to 1.06 microns.

PVB

PVB indicates the use of the poly(vinyl benzoate) polymer medium.

The refractive index model for
PVB is most suitable for the wavelength range of .46 microns to 1.06 microns.

PVF

PVF indicates the use of the poly(vinylformal) polymer medium.

The refractive index model for
PVF is most suitable for the wavelength range of .46 microns to 1.06 microns.

PVP

PVP designates the use of the poly(vinyl pyrrolidone) polymer medium.

The refractive index model for
PVP is most suitable for the wavelength range of .46 microns to 1.06 microns.

Pyrex

Pyrex denotes the use of low-expansion borosilicate glass medium.

The refractive index model for
Pyrex is most suitable for the wavelength range of .49 microns to .64 microns.

Go to list of topics

Quartz

Quartz specifies the use of a quartz medium.

The refractive index model for
Quartz is most suitable for the wavelength range of .46 microns to 1.06 microns.

QuickSurfaceSort

QuickSurfaceSort is an option of DrawSystem and PropagateSystem that selects between two competing methods for determining ray-tracing trajectories.

QuickSurfaceSort->True determines the ray-tracing order through each of the Component object's surfaces by using an efficient, but occasionally fallible method. QuickSurfaceSort->False uses a slower, but more exacting approach.

RadialSymmetry

RadialSymmetry is a value of FresnelSymmetry that implies that the surface grooves are radially symmetric.

RainbowOfRays

RainbowOfRays[{minwavelength, maxwavelength}, options] creates a set of overlapping rays equally distributed over the specified range of wavelengths given in microns, starting at the origin and directed down the positive x axis.

See also:
NumberOfRays.

Ray

Ray[options] contains rules that characterize a single ray of light as it propagates through component surfaces and creates a single Ray object with its starting position at the origin and directed down the positive x axis.

The wavelength is determined by the option
WaveLength -> # from Options[Ray]. Any of the Move functions may be nested around Ray to change its starting position and direction of propagation. Each time a ray intersects a new component surface, a new Ray is created made up of new Ray rule values that are either updated from old parameters or introduced as new parameters according to the new surface's ray-tracing functions. There are six built-in ray source functions: CircleOfRays, ConeOfRays, WedgeOfRays, LineOfRays, GridOfRays, and RainbowOfRays. See Options[Ray] for a partial listing of the parameters embedded within Ray.

RayChoice

RayChoice -> selectionproperties uses selectionproperties to selectively display ray segments in DrawSystem and ShowSystem.

A typical option value of
RayChoice would be RayChoice -> {ComponentNumber -> 1, ConfinedPosition -> 2}. See RaySelect about how selectionproperties can be structured.

RayCurve

RayCurve is a rule of Ray composed of a list of three-dimensional points composing a curved ray trajectory in space.

RayEnd

RayEnd is a rule of Ray that gives the spatial ending coordinate of a ray showing the three-dimensional coordinate point where the ray intersects with the next component surface.

RayLabel

RayLabel -> raylabel is a rule of Ray used to assign a descriptive label to the ray.

RayLength

RayLength is a rule of Ray that gives the geometric length of the ray segment running between two optical surfaces.

RayLineRGB

RayLineRGB is an option of Ray, DrawSystem, and ShowSystem that denotes the color used in rendering the rays.

If
RayLineRGB -> Automatic is used, then the RGB value is determined using the value of WaveLength with ModelRayColor. Note that RayLineRGB will not affect the graphical rendering of rays unless the DrawSystem option ColorView -> Automatic is used. See also: ColorView and ModelRayColor.

RayLineStyle

RayLineStyle is an option of Ray, DrawSystem, and ShowSystem that carries a list of user-expressed graphics styles for the rendering of ray lines.

RayLineThickness

RayLineThickness -> # is an option of Ray, DrawSystem, and ShowSystem that supplies AbsoluteThickness[#] thickness values for rendering the ray.

RayPointRGB

RayPointRGB is an option of Ray, DrawSystem, and ShowSystem that designates the color used in rendering the ray/surface intersection points.

RayPointSize

RayPointSize is an option of Ray, DrawSystem, and ShowSystem that passes information to AbsolutePointSize for the rendering of ray/surface intersection points.

RayPointStyle

RayPointStyle is an option of Ray, DrawSystem, and ShowSystem that carries a list of user-expressed graphics styles for the rendering of ray/surface intersection points.

RaySelect

RaySelect[objectset, selectionproperties] takes an object set composed of Ray objects, and returns a filtered list of Ray objects that shares the common set of traits specified in selectionproperties.

There are two ways of specifying
selectionproperties: the first way is to give a list of Ray options selected. The second way is to give a function that takes Ray options as inputs and returns True or False. An example of the first method is {IntersectionNumber -> 3, ComponentNumber->2}. An example of the second method is Function[{ComponentNumber, IntersectionNumber}, ComponentNumber == 2 && IntersectionNumber > 10]. If selectionproperties === All or selectionproperties is left out, then all Ray objects are passed back. RaySelect does not use any options. RaySelect[objectset] returns an unfiltered list of Ray objects.

Go to list of topics

RayStart

RayStart is a rule of Ray that gives the spatial starting coordinate of a ray showing the three-dimensional coordinate point where the ray intersected with a component surface.

RayTilt

RayTilt is a rule of Ray that is a three-dimensional coordinate that designates the direction in which the ray segment is pointing in space.

ReadRays

ReadRays[objectset, rayparameters, selectionproperties, options] is an advanced function that takes an object set composed of Ray objects and returns a list of values for rayparameters given.

ReadRays first obtains a filtered set of Ray objects by calling RaySelect and using the given selectionproperties. Use Options[Ray] for a listing of the ray parameters available. See also: RaySelect for more about selectionproperties.

RectangleGraphic

RectangleGraphic[{xmin, ymin}, {xmax, ymax}, options] refers to a two-dimensional rectangle lying in the horizontal x-y plane with its diagonal corners placed at {xmin, ymin} and {xmax, ymax}.

RectangleGraphic does not interact with rays in any way, but it can be listed with active components or with other graphics components for creating passive three-dimensional shapes.

Reflectance

Reflectance is an option of Reflection that specifies the percentage of the incident ray segment intensity that is reflected in the outgoing ray segment.

Reflectance usually takes values running between 0 and 100. Reflectance is also an option used by mirrors and beam splitters.

Reflection

Reflection[component, options] is a genetic building block that uses DeflectionFunction[Reflection, {reflectionvariables}] to produce reflected rays from optical surfaces.

Refraction

Refraction[component, options] is a genetic building block that uses DeflectionFunction[Refraction, {refractionvariables}] to produce refracted rays through optical surfaces.

RefractiveIndex

RefractiveIndex is a rule of Ray that gives the refractive index value for the ray segment in the local environment and uses ModelRefractiveIndex to calculate its value.

ModelRefractiveIndex uses the model's associated labels supplied by IntrinsicMedium and ComponentMedium. IntrinsicMedium, ComponentMedium, OpticalMedium, and ModelRefractiveIndex are other options involving the refractive index.

RenderedPolygons

RenderedPolygons is a rule of Component that directs the rendering of one or more planes whose polygonal shapes are defined by connecting surfaces given by SurfaceNumber.

RenderedPolygons contains nested lists carrying SurfaceNumber, StartPoint, FinishPoint, and RenderType rules.

RenderedSurfaces

RenderedSurfaces is a rule of Component that denotes a nested list of rules that defines the graphical rendering of simple surfaces.

RenderedSurfaces contains lists containing SurfaceNumber, HoleBoundary, and RenderType rules.

RenderSystem

RenderSystem[objectset, options] takes an object set carrying Component and Ray objects, and renders the object set. These graphics primitives have the head GraphicalOutput.

RenderType

RenderType is a rule nested within the RenderedSurfaces and RenderedPolygons of Component that specifies the type of rendering to be performed.

RenderType uses one or more of the following command words: Empty, Fill, Trace, and Mesh.

ReplaceFor

ReplaceFor -> objecttypes is a rule within Deflections of Component that indicates which types of objects are replaced by the new parameter results of the ray-tracing function calculation.

ReplaceFor supplants the entire contents of an object type regardless of its prior contents. For this reason, the command option AddTo is usually preferred over ReplaceFor. Possible object types of ReplaceFor include NewRay, ChangedRay, OriginalRay, CreatedRay, AllCreatedRays, ChangedSurface, and ChangedComponent. Note that the OriginalRay object type is rarely changed. Modifications to the past Ray object type are generally made using ReplaceFor instead. ReplaceFor can point to a list of object types, but is often a single value. See also: DeflectionFunction, TakeFrom, and AddTo.

Resonate

Resonate[listofcomponents, objectname, options] is a genetic building block, labeled by objectname that causes a ray to resonate within the surfaces originally specified by an encapsulated list of components for successive propagation generations until the ray is not intercepted by any surface within the synthesized Component.

Resonate takes a list of Component objects and creates a single Component object from the list. Once the resonant component is no longer in its trajectory, the ray is allowed to continue propagating to other components. This effect enables repeated nonsequential ray interactions with a number of surfaces to occur. Resonate is also used as an unauthorized option of Ray. A Ray object carrying Resonate -> True will loop through surface targets within the resonant component until no surface intersection can be found within the component. See also: Confine and Unconfine.

ReverseMigration

ReverseMigration[component, options] is a genetic building block that switches the sign of SurfaceIncrement.

RodLens

RodLens[diameter, length, options] designates an entire cylindrical refractive surface.

RodLens is created with one side at the origin of the coordinate system.

RodMirror

RodMirror[diameter, length, options] denotes an entire cylindrical mirror.

RodMirror is created with one side at the origin of the coordinate system.

RotationMatrix

RotationMatrix is a rule that gives a 3 x 3 matrix of spatial rotations invoked on the original object coordinate system by Move functions.

Both
Ray and SurfaceFunction use RotationMatrix. See also: TranslationVector.

RunningCommentary

RunningCommentary is an option of PropagateSystem where RunningCommentary->True results in a printed report of the ray-trace calculation process.

Go to list of topics

Sapphire

Sapphire indicates the use of a sapphire crystal medium.

The refractive index model for
Sapphire is most suitable for the wavelength range of .27 microns to .82 microns.

Screen

Screen[aperture, options] refers to a planar component that intersects rays without disturbing them.

Although
Screen is usually not rendered, the ray/screen intersections can be rendered by using the DrawSystem option, PlotType->Surface. Screen is created with its surface centered about the origin. The aperture parameter may indicate a circle, rectangle, or polygon depending on the number and type of elements listed by it.

ScreenPosition

ScreenPosition labels the parametric surface coordinates for the center of the locus of ray/surface intersections.

See also:
FindSpotSize.

SF11

SF11 designates the use of the SF11 glass medium.

The refractive index model for
SF11 is most suitable for the wavelength range of .35 microns to 2.3 microns.

SF5

SF5 designates the use of the SF5 glass medium.

The refractive index model for
SF5 is most suitable for the wavelength range of .35 microns to 2.3 microns.

ShadowProject

ShadowProject is a value of PlotType that gives a three-dimensional rendering of the optical system along with two-dimensional projections of the system onto the sides of a box.

See
Shadow in the standard Mathematica packages. See also: Surface, TopView, SideView, FrontView, Off, and Full3D.

ShowRange

ShowRange -> values uses ComponentNumber values to select the components and ray segments displayed by DrawSystem and ShowSystem.

ShowRange can take either the value All or a list of the ComponentNumber values. See also: RayChoice and PlotType.

ShowSystem

ShowSystem[objectset, options] takes an object set containing Ray, Component, and OpticalSystem objects and renders them according to PlotType, RayChoice, ShowRange, and ColorView options.

If a
GraphicalOutput head is present, then ShowSystem presents the graphics according to the DrawSystem options. If a GraphicalOutput head is not present in the input, then ShowSystem calls RenderSystem first. ShowSystem renders the rays selected from the RayChoice and ShowRange options. The PlotType option determines whether ShowSystem displays the rendered graphics three-dimensionally, with two-dimensional projections, or as surface projections with points that specify where selected rays intersect with the surface. See also: PlotType, RayChoice, ShowRange, and ColorView.

SideOfObject

SideOfObject is an option of MoveDirected and MoveDirected3D that denotes the direction of the axis point, {xaxis, yaxis, zaxis}, from the object.

If
Before is used, then the object is oriented such that the point position is upstream from the object. If After is used, then the object is oriented such that the point position is downstream from the object.

SideView

SideView is a value of PlotType that gives a two-dimensional orthoscopic rendering showing a projection onto the x-z plane of the optical system.

See also:
Surface, TopView, FrontView, ShadowProject, Off, and Full3D.

Silicon

Silicon designates the use of a silicon crystal medium.

The refractive index model for
Silicon is most suitable for the wavelength range of 1.25 microns to 2.0 microns.

Sketch

Sketch is a value of GraphicDesign.

See also:
SurfaceRendering, EdgeRendering, and CrossRendering.

SK11

SK11 indicates the use of the SK11 glass medium.

The refractive index model for
SK11 is most suitable for the wavelength range of .35 microns to 2.3 microns.

Solid

Solid is a value of GraphicDesign.

See also:
SurfaceRendering, EdgeRendering, and CrossRendering.

SphereGraphic

SphereGraphic[diameter, options] denotes a three-dimensional sphere with its center placed at the origin of the coordinate system.

SphereGraphic can be rendered with opened quadrant sides by changing the SurfaceRendering option. SphereGraphic does not interact with rays in any way, but can be listed with active components or with other graphics components for creating passive three-dimensional shapes.

SphericalBaffle

SphericalBaffle[radius, aperture, options] refers to a spherical, single-surfaced component that absorbs light.

SphericalBaffle is created with its surface centered about the origin. The aperture parameter may indicate a circle, rectangle, or polygon depending on the number and type of elements listed by it.

SphericalGratingMirror

SphericalGratingMirror[radius, gratingfunction, aperture, options] denotes a spherical, diffractive, reflective, component that splits incoming rays into multiple diffracted, reflected orders according to the gratingfunction parameter and the DiffractedOrders option.

The
gratingfunction parameter specifies a grating vector either as a one-dimensional value, a two-dimensional list of values, a three-dimensional list of values, or a three-dimensional Function[{horizontal, vertical, perp}], where horizontal, vertical, and perp specify the indicated grating directions with the grating surface initially oriented parallel to the y-z plane. These vector quantities have units of spatial frequency and are given in line pairs per millimeter. A single number used in the grating parameter denotes a uniformly distributed grating vector pointing in the direction of the y axis. A list of two numbers indicates a uniformly distributed grating vector whose direction lies within the surface plane. SphericalGratingMirror returns DiffractionMismatch and DiffractionOrderNumber as ray parameters. For other options of SphericalGratingMirror, see EfficiencyFunction and MismatchCutOff. See also: GratingSurface, Diffraction, and Reflection.

Go to list of topics

SphericalLens

SphericalLens[r1, r2, aperture, thickness, objectlabel, options] denotes a lens having spherical surfaces and a user-named objectlabel.

The radii of curvatures are specified by
r1 and r2 where Infinity is used to specify planar surfaces. SphericalLens is created with its first surface centered about the origin and its second surface positioned down the x axis. The aperture parameter may specify a circle, rectangle, or polygon depending on the number and type of elements listed by it.

SphericalLensSurface

SphericalLensSurface[radius, aperture, options] designates a spherical component that has a given radius of curvature that models the refractive index boundary at a lens surface.

SphericalLensSurface is always used in combination with one or more additional LensSurface component types to create a complete lens object. SphericalLensSurface is created with its surface centered about the origin. The aperture parameter may specify a circle, rectangle, or polygon depending on the number and type of elements listed by it. LensSurface, SphericalLensSurface, CylindricalLensSurface, ParabolicLensSurface, and CustomLensSurface are all related components.

SphericalMirror

SphericalMirror[radius, aperture, thickness, options] specifies a double-surfaced mirror that has a spherical reflective side and a planar refractive side.

SphericalMirror is created with its first surface centered about the origin and its second surface positioned down the positive x axis. The aperture parameter may designate a circle, rectangle, or polygon depending on the number and type of elements listed by it.

SphericalScreen

SphericalScreen[radius, aperture, options] designates a spherical component that intersects rays without disturbing them.

Although SphericalScreen is usually not rendered, the ray/screen intersections can be rendered by using the DrawSystem option, PlotType->Surface. SphericalScreen is created with its surface centered about the origin. The aperture parameter may specify a circle, rectangle, or polygon depending on the number and type of elements listed by it.

SphericalShape

SphericalShape is a value of SurfaceLabel within Component that specifies the spherical SurfaceFunction.

SpotPosition

SpotPosition labels the three-dimensional point in space lying at the center of the locus of ray/surface intersections.

See also:
FindSpotSize.

SpotSize

SpotSize labels the minimum diameter of a circle that encloses the locus of ray/surface intersections on a given planar surface.

See also:
FindFocus and FindSpotSize.

StandardGraphics

StandardGraphics is a value of OutputType.

If
StandardGraphics mode is indicated, then ShowSystem and DrawSystem return a standard graphics object that is recognized by the standard graphics packages.

StartPoint

StartPoint is a rule nested within RenderedPolygons of Component that gives the two-dimensional starting coordinate on a surface indicated by SurfaceNumber.

StartPoint is used for creating the sides of a polygon that span several surfaces.

StartValue

StartValue is an option of FindFocus that gives a starting number to help FindRoot begin its search.

Suprasil

Suprasil denotes the use of the Suprasil glass medium.

Surface

Surface is a value of PlotType giving a two-dimensional plot that shows selected intersection points between rays and one or more optical surfaces.

The
RayChoice option is used in selecting rays to be displayed. See also: TopView, SideView, FrontView, ShadowProject, Off, and Full3D.

SurfaceBoundary

SurfaceBoundary -> aperture is a Component parameter that gives a list of numbers describing the surface boundary.

Depending on the form of
aperture, either a circular, elliptical, rectangular, or polygonal boundary is defined: a single number indicates a circular boundary having the indicated diameter; a list of two positive numbers indicates a rectangular boundary that has a length and a width; a list of two negative numbers indicates an elliptical boundary having the indicated major and minor axis; a list of paired numbers designates a polygonal boundary having the indicated vertex points. SurfaceBoundary is also a ray parameter rule that gives the aperture dimensions of the last surface to intercept the ray.

SurfaceCenter

SurfaceCenter is a rule embedded within the Surfaces rule of Component that gives the three-dimensional surface center coordinates.

See also:
EntranceCoordinates and FunctionCenter.

SurfaceCoordinates

SurfaceCoordinates is a rule of Ray that gives the parametric coordinate of the last surface function to intersect with the ray.

SurfaceFunction

SurfaceFunction is a rule embedded within Surfaces of Component giving a list of three parametric pure function equations {fx, fy, fz} that describe a particular optical surface in three-dimensional space.

SurfaceIncrement

SurfaceIncrement -> increment is a rule of Ray that gives the rate of increment used to step through component surfaces.

SurfaceIncrement -> +1 increments ConfinedPosition by 1, while SurfaceIncrement -> -1 increments ConfinedPosition by -1. ConfinedPosition locations can be skipped by forcing SurfaceIncrement to be some integer >1 or <1. By setting SurfaceIncrement -> 0, Ray remains at the same ConfinedPosition location for an iteration. SurfaceIncrement will always revert to Sign[increment] after one propagation iteration. A related parameter is ComponentIncrement. See also: ConfinedPosition, ComponentNumber, IntersectionNumber, GenerationNumber, ConfinedNumber, and SurfaceNumber.

SurfaceLabel

SurfaceLabel is an option of ComponentFoundation and Component that designates the shapes of surfaces created by ComponentFoundation.

SurfaceLabel contains one or more elements of SphericalShape, ParabolicShape, PlanarShape, CylindricalShape, and OtherShape. SurfaceLabel usually has as many elements as there are related surfaces. If only shape element is indicated, all surfaces are assigned the same type of shape. A user-defined value for SurfaceLabel may also be used. SurfaceLabel is also a rule embedded within Surfaces of Component that gives a single-word description of a particular optical surface. See also: ModelSurfaceShape.

SurfaceNormalCalculations

SurfaceNormalCalculations is an option of ComponentFoundation and specifies whether calculations are based on symbolic or direct numerical solutions for the SurfaceNormalFunction parameter.

For some discontinuous and ill-behaved surface functions,
SurfaceNormalCalculations -> Numeric may be necessary. Generally, SurfaceNormalCalculations -> Automatic is used for well-behaved functions.

SurfaceNormalFunction

SurfaceNormalFunction is a rule embedded within Surfaces of Component that describes the normals of the surface functions.

SurfaceNormalFunction is not initially present in the unevaluated Component object, but is calculated and added by PropagateSystem to Component when requested by ray-tracing functions. SurfaceNormalFunction is used by ray-tracing functions such as Refraction and Reflection, or where ChangedSurface is included in the TakeForm rule within Deflections.

SurfaceNormalMatrix

SurfaceNormalMatrix is a rule of Ray that gives a matrix containing a unit normal vector of the surface as its first element, as well as the two unit-tangent vectors for the point at the ray/surface intersection.

SurfaceNumber

SurfaceNumber is a rule of both Ray and Component that denotes the slot positions used within Surfaces of Component.

SurfaceNumber, ComponentNumber, ConfinedPosition, UnconfinedPosition, IntersectionNumber, GenerationNumber, and ConfinedNumber are all pointer parameters stored in Ray.

SurfaceRayIntersections

SurfaceRayIntersections is an option of ComponentFoundation and is also embedded within Surfaces of Component that denotes whether calculations are symbolic or direct numerical solutions for the ray/surface intersection points.

For some discontinuous and ill-behaved surface functions,
SurfaceRayIntersections -> Numeric may be necessary. Generally, SurfaceRayIntersections -> Automatic yields the most encompassing solutions for well-behaved functions.

SurfaceRendering

SurfaceRendering is an option of ComponentRendering that denotes the surface graphical rendering of single-surfaced and multisurfaced components.

SurfaceRendering uses a list composed of: Fill, Trace, Mesh, Empty, and {Fill, Mesh}. See also: ComponentRendering, EdgeRendering, CrossRendering, and RenderType.

Surfaces

Surfaces -> {...} is a rule within Component giving a list of elements that defines component surfaces.

SurfaceValue

SurfaceValue -> # is a rule within Surfaces of Component that specifies the curvature characteristics of the function given in SurfaceFunction.

SurfaceValue is interpreted differently by LensLab according to the accompanying SurfaceLabel option.

SwitchDirectionOnReflection

SwitchDirectionOnReflection is an option of Refraction and refractive components that determines whether the direction of propagation is reversed by an internal reflection.

SwitchIntrinsicMedium

SwitchIntrinsicMedium[component, medium1, medium2, options] is a genetic building block used for changing the values of IntrinsicMedium between medium1 and medium2.

SwitchIntrinsicMedium uses parameters medium1 and medium2 to obtain intrinsic index functions. If the ray is coming from an environment that has an intrinsic index given by medium1, then the value of IntrinsicMedium of Ray is replaced by medium2. Likewise, if the ray is coming from an environment that has an intrinsic index given by medium2, then the value of IntrinsicMedium of Ray is replaced by medium1. Note that either medium1 or medium2 must correspond with the value of IntrinsicMedium of the incident Ray object. If the Ray object of the incident ray does not already contain one of the two intrinsic index values, then the ray's propagation is terminated by setting its Intensity to zero, which specifies a design entry error. See also: IntrinsicMedium, ComponentMedium, and RefractiveIndex.

Go to list of topics

TakeFrom

TakeFrom -> objecttypes is a rule within Deflections in Component that designates which types of objects are used as inputs to the ray-tracing function calculation.

Possible object types of
TakeFrom include OriginalRay, ChangedRay, CreatedRay, AllCreatedRays, ChangedSurface, and ChangedComponent. TakeFrom often uses a list of object types. See also: DeflectionFunction, AddTo, and ReplaceFor.

Temperature

Temperature is an option of Ray that denotes the temperature of a component surface given in degrees Celsius.

Temperature is an option of refractive components and the Refraction genetic building block. Note that although Temperature is an option of all refractive components, not all refractive materials have temperature-dependent properties incorporated into their working model.

ThickLens

ThickLens[focallength, aperture, principleplanespacing, options] behaves as an ideal thick lens for two-dimensional, paraxial ray traces by using the ABCD matrix representations for a thick lens.

See also:
ThinLens, ABCDOptic, and ABCDMatrix.

ThinBaffle

ThinBaffle[aperture, options] refers to a planar, single-surfaced component that absorbs light.

ThinBaffle is created with its surface centered about the origin. The aperture parameter may indicate a circle, rectangle, or polygon depending on the number and type of elements listed by it.

ThinBeamSplitter

ThinBeamSplitter[{percentreflected, percenttransmitted}, aperture, options] denotes a planar, single-surfaced component that partially reflects and partially transmits rays of light.

ThinBeamSplitter is created with its splitting surface centered about the origin. The aperture parameter may indicate a circle, rectangle, or polygon depending on the number and type of elements listed by it.

ThinLens

ThinLens[focallength, aperture, options] behaves as an ideal thin lens for two-dimensional, paraxial ray traces by using the ABCD matrix representation for a thin lens.

See also:
ThickLens, ABCDOptic, and ABCDMatrix.

ThinMirror

ThinMirror[aperture, options] designates a planar mirror.

ThinMirror is created with its surface centered about the origin. The reflectivity of ThinMirror is specified with the Reflectance option. The aperture parameter may denote a circle, rectangle, or polygon depending on the number and type of elements listed by it.

ThinParabolicMirror

ThinParabolicMirror[radius, aperture, options] refers to a spherical mirror.

ThinParabolicMirror is created with its surface centered about the origin. The aperture parameter may denote a circle, rectangle, or polygon depending on the number and type of elements listed by it.

ThinSphericalMirror

ThinSphericalMirror[radius, aperture, options] denotes a spherical mirror.

ThinSphericalMirror is created with its surface centered about the origin. The aperture parameter may indicate a circle, rectangle, or polygon depending on the number and type of elements listed by it.

ThresholdIntensity

ThresholdIntensity is an option of PropagateSystem and DrawSystem that dictates the value of the ray intensity, above which the ray will continue to be propagated and below which the ray's propagation through optical surfaces is terminated.

See also:
Intensity and GenerationLimit.

TiltVector

TiltVector labels the unit vector that denotes the direction of the ray bundle optical axis.

See also:
FindSpotSize.

Toluene

Toluene denotes the use of a toluene liquid medium at 20 degrees Celsius.

The refractive index model for
Toluene is most suitable for the wavelength range of .43 microns to .66 microns. Toluene has a density of 0.86, relative to the density of water.

TopView

TopView is a value of PlotType that gives a two-dimensional orthoscopic rendering showing a projection onto the x-y plane of the optical system.

See also:
Surface, SideView, FrontView, ShadowProject, Off, and Full3D.

Trace

Trace is a value of RenderType within Component that specifies that surfaces are rendered with outlined borders and no shading.

TranslationVector

TranslationVector is a rule that denotes a three-dimensional vector for spatial translations invoked on the original surface coordinate system by the Move functions.

Each
SurfaceFunction has a corresponding TranslationVector listed with it. See also: RotationMatrix.

Transmission

Transmission[component, options] is a genetic building block that creates a ray-tracing function to pass rays through optical surfaces while preserving ray tilts.

Transmission modifies Intensity according to the option Transmittance -> # in Options[Transmission].

Transmittance

Transmittance is an option of Refraction and Transmission that denotes the percent of the incident ray segment intensity that is transmitted in the outgoing ray segment.

Transmittance usually takes values running between 0 and 100. Transmittance is also an option used by mirrors, lenses and beam splitters.

Turpentine

Turpentine designates the use of a turpentine liquid medium at 20 degrees Celsius.

The refractive index model for
Turpentine is most suitable for the wavelength range of .4 microns to .66 microns. Turpentine has a density of 0.87, relative to the density of water.

TwistAngle

TwistAngle is an option that relates to an amount of rotation around an axis, given in degrees.

TwistAngle is used by Move, MoveLinear, MoveDirected, and MoveReflected.

Go to list of topics

Ultran30

Ultran30 specifies the use of the Ultran30 glass medium.

Ultran30 is a UV-transmittant glass produced by Schott.

Unconfine

Unconfine[listofcomponents, options] is a genetic building block that takes one or more Component objects and creates a single Component object that allows rays to enter the component through any surface.

Unconfine passes options to BuildComponent. See also: Resonate and Confine.

UnconfinedPath

UnconfinedPath is a ray parameter that gives the slot positions for entrance surfaces within ConfinedPaths.

UnconfinedPath is determined dynamically during the ray-tracing operation and is updated each time Ray is incremented to a new component. See also: ConfinedNumber.

UnconfinedPosition

UnconfinedPosition is a rule of Ray that specifies the present slot position used within the UnconfinedPath parameter stored in Ray.

SurfaceNumber, ComponentNumber, ConfinedPosition, UnconfinedPosition, IntersectionNumber, GenerationNumber, and ConfinedNumber are all pointer parameters stored in Ray.

Go to list of topics

Vacuum

Vacuum specifies the use of a vacuum medium (i.e., refractive index = 1.0).

VerticalSymmetry

VerticalSymmetry is a value of FresnelSymmetry that implies that the surface grooves are symmetric about the component's horizontal axis.

Go to list of topics

Water

Water denotes the use of a water medium at 20 degrees Celsius.

The refractive index model for
Water is most suitable for the wavelength range of .4 microns to .66 microns.

WaveLength

WaveLength is a rule of Ray describing the ray's optical wavelength (in microns).

WedgeOfRays

WedgeOfRays[wedgeangle, options] creates a set of rays, starting at the origin of the coordinate system, equally distributed across a horizontal wedge, and fanned symmetrically about the positive x axis.

See also:
NumberOfRays.

Window

Window[aperture, thickness, options] refers to a planar, refractive component that has a specified thickness.

Window is created with its first surface centered about the origin and its second surface positioned down the x axis. The aperture parameter may specify a circle, rectangle, or polygon depending on the number and type of elements listed by it.

Wire

Wire is a value of GraphicDesign.

See also:
SurfaceRendering, EdgeRendering, and CrossRendering.

Go to list of topics

ZincSelenide

ZincSelenide denotes the use of a zinc selenide medium.

The refractive index model for
ZincSelenide is most suitable for the wavelength range of .5 microns to 10.6 microns.

Go to list of topics

Copyright Statement

LensLab is a trademark of Optica Software.
Mathematica ® is a registered trademark of Wolfram Research, Inc. All other product names mentioned are trademarks of their producers. Mathematica is not associated with Mathematica Policy Research, Inc. or MathTech, Inc.
Copyright ©1995-2005 by Optica Software, Urbana, Illinois, Champaign, Illinois.

All rights reserved. No part of this document may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without prior written permission of the author, Optica Software.

Optica Software is the holder of the copyright to the LensLab package software and documentation ("Product") described in this document, including without limitation such aspects of the Product as its code, structure, sequence, organization, "look and feel", programming language and compilation of command names. Use of the Product, unless pursuant to the terms of a license granted by Wolfram Research, Inc. or as otherwise authorized by law, is an infringement of the copyright.

The author, Optica Software, and publisher, Wolfram Research, Inc., make no representations, express or implied, with respect to this Product, including without limitations, any implied warranties of merchantability or fitness for a particular purpose, all of which are expressly disclaimed. Users should be aware that included in the terms and conditions under which Wolfram Research is willing to license the Product is a provision that the author, Optica Software, publisher, Wolfram Research, Inc., and distribution licensees, distributors and dealers shall in no event be liable for any indirect, incidental or consequential damages, and that liability for direct damages shall be limited to the amount of the purchase price paid for the Product.

In addition to the foregoing, users should recognize that all complex software systems and their documentation contain errors and omissions. The author, Optica Software, and publisher, Wolfram Research, Inc., shall not be responsible under any circumstances for providing information on or corrections to errors and omissions discovered at any time in this document or the package software it describes, whether or not they are aware of the errors or omissions. The author, Optica Software, and publisher, Wolfram Research, Inc., do not recommend the use of the software described in this document for applications in which errors or omissions could threaten life, injury or significant loss.

Go to list of topics


Created by Mathematica  (November 4, 2005)