Trace the rays rin through abcd. If do_plot is true, create also a plot with the trace.
The following code
s = abcd ("propagation", 10, "thin-lens", 5, "propagation", 12, "thin-lens", 10, "propagation", 15); rin = [1 0.5 0 -0.5 -1; 0 0 0 0 0]; rout = trace(s, rin, true)
Produces the following output
rout = -2.30000 -1.15000 0.00000 1.15000 2.30000 -0.06000 -0.03000 0.00000 0.03000 0.06000
and the following figure
Figure 1 |
---|
The following code
s = abcd ("propagation", 8, "thin-lens", 8, "propagation", 3, "flat-mirror", [], "propagation", 15); rin = [1 0.5 0 -0.5 -1; 0 0 0 0 0]; rout = trace(s, rin, true)
Produces the following output
rout = -1.25000 -0.62500 0.00000 0.62500 1.25000 -0.12500 -0.06250 0.00000 0.06250 0.12500
and the following figure
Figure 1 |
---|
The following code
s = abcd ("propagation", 2, "flat-refraction", [1, 1.4], "propagation", 1, "flat-refraction", [1.4, 1], "propagation", 2); rin = [-1 -1 -1 -1 -1; 0.0 0.1 0.2 0.3 0.4]; rout = trace(s, rin, true)
Produces the following output
rout = -1.00000 -0.52857 -0.05714 0.41429 0.88571 0.00000 0.10000 0.20000 0.30000 0.40000
and the following figure
Figure 1 |
---|
The following code
s = abcd ("propagation", 6, "thick-lens", [1, 1.4, 5, -4, 2], "propagation", 4); rin = [0 0 0 0 0; 0.0 0.1 0.2 0.3 0.4]; rout = trace(s, rin, true) axis([0 12 -2 4])
Produces the following output
rout = 0.00000 0.61257 1.22514 1.83771 2.45029 0.00000 -0.01543 -0.03086 -0.04629 -0.06171
and the following figure
Figure 1 |
---|
Package: optics