
Eric G. H. Mobsby published his version of the inverse Ronchi grating test in the November 1974 issue of Sky & Telescope^{1}. D. Malacara and A. Cornejo published a more precise method for calculating the gratings in the August 1974 issue of Applied Optics^{2,3}. Mobsby's article gives a much more complete description of the production and use of the gratings. If you are interested in using this test, I strongly suggest you get and read a copy of Mobsby's article. Any public library should be able to help you get a copy. (They can get a loan, or a photocopy from another library even if they don't have it locally.)
Although all of the inverse gratings are based on the same principles, Mobsby, Malacara and Cornejo, and I all use different mathematical approaches to calculating the gratings. Mobsby uses an approximate method. His method requires little computation, but is limited to use with mirrors of moderate to long focal lengths, and fairly small diameters. In 1974, before the advent of personal computers, simplicity of computation was important.
Malacara and Cornejo use a precise method based on abberation theory. Their method is applicable to a wider range of mirrors, including figures other than paraboloids. Malacara and Cornejo's method, as well as Mobsby's, assume that the tester light source and image are both onaxis. This assumption simplifies the math significantly, however, Malacara and Cornejo's math was sufficiently complex to scare off most amateurs. For most test setups, the onaxis assumtion is probably adequate, but for faster and larger mirrors, significant errors may be introduced.
InvRon calculates by ray tracing. Ray tracing is at least as precise as Malacara and Cornejo's method. It requires more computation, but offaxis source and image placement are easily included, as are different line positions and widths. The amount of computation is easily handled by modern personal computers. My relatively obsolete 100MHz Pentium gets through the numbers in a second or two.
In the descriptions that follow, the axes are defined as follows. The mirror is assumed to be placed vertically, that is with the plane tangent to the mirror vertex vertical.
ZAzis: The horizontal axis passing through the mirror vertex, normal to the plane which is tangent to the mirror vertex. This is the same as the mirror's axis of rotational symmetry. The positive Z direction is from the mirror toward the tester.
Xaxis: The horizontal axis perpendicular to the Zaxis. This is the horizontal axis parallel to the plane tangent to the mirror vertex. The positive X direction is toward the right as seen from the tester looking toward the mirror.
Yaxis: The vertical axis perpendicular to the Zaxis. This is the vertical axis parallel to the plane tangent to the mirror vertex. The positive Y direction is up.
The coordinate system origin (0,0,0) is at the mirror vertex.
My method works as follows. A pattern of straight lines is defined on the face of the mirror. For a series of points on the boundaries of the lines, a ray is traced from the light source to each point on the mirror and from that point to the grating position. The light source is modeled as a single point, approximating a pinhole. The angle of the incoming ray is calculated from the source  mirror distance (including the mirror z coordinate), the X and Y coordinates of the mirror point and any X and Y offsets of the source. The angle of the mirror surface at each point is found from the slope at that point which is equal to the partial derivatives of the mirror surface equation with respect to X and Y. The angle of the reflected ray is found from the well known condition that the angle of reflection equals the angle of incidence. Then the reflected ray is traced to the grating position.
Calculating the grating position is a bit complicated. First, we find the Zdistance from the mirror at which light from one mirror zone converges. Then the user specified grating Z offset is added to the convergence point. The grating is placed in the X,Y plane at the resulting Z position.
In order to find the convergence point I use an iterative method. Two points on opposite sides of the mirror are chosen. The points lie on the X axis with X coordinates = ± r * zone. A convergence distance is estimated. Rays are traced from the source to each mirror point and from the mirror points to the estimated convergance distance. The algorithm iterates, adjusting the convergence distance until the difference in X coordinates of the traced rays is arbitrarily small. This method is analogous to finding the Foucault crossing point of a zone.
At first, I tried to do the ray tracing with trigonometric functions. Although this should be feasable, I was not able to make it work correctly for off axis source placements. Jim Burrows suggested I try a vector method. After much patient help from Jim, I was able to get this working well. What follows is the result of collaboration between Jim and myself, with Jim's contribution definitely being the more significant.
The vectors are defined as follows:
V_{1}, V_{2}, and V_{3}
represent the x, y and z components of a vector V.
# denotes the vector cross product operation.
norm denotes the length of a vector found by the Pythagorean theorum.
norm(V) = (V_{1}^{2} + V_{2}^{2}
+ V_{3}^{2})^{1/2}
ROC is the mirror's central Radius of Curvature (= 2 * mirror Focal Length).
x,y,z are the coordinates of a point on the mirror surface.
dz/dx and dz/dy are the partial derivatives of z with respect to x and y.
r^{2} = x^{2} + y^{2}
for a paraboloid:
z = r^{2} / (2 * ROC), dz/dx = x / ROC, dz/dy = y / ROC
for any conic:
k = e^{2}, where e is the eccentricity. (k is the Schwarzchild constant, also called
the conic constant.)
p = k + 1
z = r^{2} / (ROC + (ROC^{2}  p * r^{2})^{1/2}),
dz/dx = x / (ROC^{2}  p * r^{2})^{1/2},
dz/dy = y / (ROC^{2}  p * r^{2})^{1/2}
I the unit vector parallel to the incident ray.
N the vector normal to the mirror surface at x,y,z.
C the vector result of the crossproduct I # N.
R the unit vector parallel to the reflected ray.
With R in hand, we scale R_{1} and R_{2} by the Z distance from the
mirror point to the grating plane:
R_{1} = R_{1} * (ConvergenceDistance  z + GratingOffset) / R_{3}
R_{2} = R_{2} * (ConvergenceDistance  z + GratingOffset) / R_{3}
In a final step, image x and y offsets from the z axis are removed so that the calculated grating
is displayed centered on 0,0. The image x and y offsets are calculated simply by ray tracing
the center of the mirror 0,0 using zero offsets and storing the resulting x and y values as the
offsets.
In practice, the grating z position is measured from the specified zone crossing point, and the grating x and y positions are adjusted until the grating is centered in the light cone.
^{2} "Null Ronchi Test for Aspherical Surfaces", D. Malacara and A Cornejo, Applied Optics, Vol. 13, No. 8, August 1974.
^{3} A web page based on the Malacara and Cornejo article^{2} is at http://www.fortunecity.com/marina/manatee/1879/mosby.htm
Copyright © 2001 Mark D. Holm
The following list of words and phrases is for the benefit of search engines that ignore the META keywords tag.
Inverse Ronchi Grating, Mobsby null test, Mosby null test, Ronchi, Ronchi test, InvRon, Cornejo, Malacara, Mobsby, Mosby, mirror, test, telescope, paraboloid, parabola, paraboloidal, ray trace, vector, figure, program, Windows