Have you enabled Ray Splitting feature in System Options? This option is turned off by default. There are two modes of Ray Splitting available. The first only splits rays at surfaces which are defined as beam splitters. The second performs Ray Splitting on every surface according to Fresnel equations. You can look at section 11 of the full user manual for more details. The user manual is now available for download from the top menu of this site. ]]>

I cannot get the beam. ]]>

You should be able to do this already by using Power and Shape Factor fields of the lens.

Power is simply 1 over Focal Length. And Shape Factor determines the symmetry.

If you set Shape Factor to 0, then adjusting Power will calculate the radius of both faces of the lens symmetrically.

With Shape Factor = -1, you get a lens which is planar on one side, while power simply calculates radius for the other side.

With Shape Factor = +1, the opposite side will be planar.

Here is a diagram showing shape factor:

Note that these calculations depend on the index of refraction of the lens.

Regards,

Kamyar

The basic ABCD formulation is quite common and you can find many references for it including Wikipedia: Ray Transfer Matrix Analysis.

The case with Tilt/Decenter is only slightly more complicated. While I had seen the ABCDEF approach somewhere, I worked it out for myself when creating Raylab.

I can’t immediately find a reference which describes it now. I have not looked at the paper “Generalized beam matrices: Gaussian beam propagation in misaligned complex optical systems” by Anthony A. Tovar and Lee W. Casperson. But the abstract suggests it might provide the precise details of this approach. Note that the matrices used in Gaussian Beam Propagation are the same as the matrices used in Ray Transfer Analysis.

The basic idea is that in addition to (x2;u2) = [A B; C D] * (x1; u1) there can also be constant terms added by various optical components. We handle this by growing the matrix to include E, F, and adding a 1 at the end of the x,u vector… So:

(x2; u2; 1) = [A B E; C D F; 0 0 1] * (x1; u1; 1)

If something adds a slight offset to the ray, it will have an E term: [1 0 E; 0 1 0; 0 0 0]

If something adds a slight tilt to the ray, it will have an F term: [1 0 0; 0 1 F; 0 0 0]

To handle a standard optical element (say a lens) which is off-center, we combine several matrices:

1. Matrix to offset the ray by an amount corresponding to the off-center position of the lens.

2. Matrix for the lens.

3. Matrix to change back the offset.

In effect, this is changing reference frames… We start in our global frame, transition to the lens frame, apply the lens matrix, and transition back to the global frame.

You do something similar for tilt.

The 3rd option in Raylab for Ray Transfer Matrix Relative to a Reference Ray is much more complicated. My reference for this was “Ray Techniques in Electromagnetics” by George A. Deschamps. Particularly section III.A. “Tracing of a Pencil” which culminates in equations 42-45. The notation in this paper was quite different than what I was familiar with. So I followed his approach while rederiving the equations in notation I could understand and relate to Raylab. The final result involves the angle of incidence and local curvature of the surface at the point where the reference ray hits it.

With all of these approaches, you also have to pay attention to some signs getting flipped when you encounter mirrors and when rays are traveling backward.

Hope this helps.

Kamyar

I am wondering, is it possible to get a short overview of the calculation method (formulas) used in Axial Analysis with Tilt/Decenter where you calculate the (E and F) when a tilt or a decenter is added.

I have gone through different books but couldn’t grasp the idea of how you are implementing it in your Matrix analysis. It would be really helpful if you could provide some insight.

Thanks in advance

]]>As for editing the prescription, I’d like it edit it in the spreadsheet mode rather than per surface.

]]>I have looked at MTF before and was not quite sure how to compute it for arbitrary lens systems. It would need further study on my part.

I am unclear what you mean by editing the prescription. RayLab already lets you edit all the lens surface parameters. ]]>

… What you say is indeed quite logical.

.

MichaelG. ]]>