Abstract
We have developed a fast algorithm to design two-dimensional reflector surfaces that ties together the supporting paraboloids, linear programming, and numerical integration methods. The algorithm builds upon the properties of conics and is shown to be several orders of magnitude faster than the supporting paraboloids and linear programming methods. The scalability and ease of implementation of the algorithm are discussed.
© 2012 Optical Society of America
There are multiple tools available for designers to derive the two-dimensional (2D) curve that describes an extruded or rotationally symmetric reflector. In general, the approach consists of discretizing the given source and desired target distributions, and applying an algorithm to obtain the reflector shape. The Oliker supporting paraboloids method [1] and the linear programming algorithm, proposed independently by Oliker and Wang [2,3], construct the reflector from sections of paraboloids, each of which directs light from the source to a discrete target. These two methods stitch together conic sections, but do not make assumptions about the mapping between the source and target rays. With the more classic numerical integration approach, the curve is generated by calculating the tangents to the reflector at selected points and interpolating the result to obtain a smooth curve [4]. Numerical integration uses predetermined mapping between the source and target rays. In this Letter, we show an algorithm that builds the reflector by stitching together conic sections, but assumes a predetermined source to target mapping.
The supporting paraboloids and linear programming methods both rely on the properties of conics, but their approach is significantly different. The supporting paraboloids method proceeds iteratively by evaluating the flux collected by the reflector and adjusting the shape accordingly until the desired target distribution is obtained, while the linear programming method solves a maximization problem. When the number of rays used to set up the problem is large, supporting paraboloids and linear programming converge to similar solutions. However, when the number of rays is minimized in order to reduce algorithm calculation time, the solutions obtained with the two methods can be quite different. This is illustrated in Fig. 1, which shows a comparison between the reflectors obtained for three target directions with the supporting paraboloids algorithm and with the linear programming method. Both methods were run with the minimum viable number of rays. The supporting ellipsoids method run with only three rays (one ray per reflector) produces a solution, shown in Fig. 1(a), in which the three paraboloids each collect one of those three input rays, but are far from collecting the same number of rays once evaluated with a larger number of source rays. On the other hand, the linear programming algorithm run with four rays produces a solution, shown in Fig. 1(b), in which the three paraboloids collect the same amount of flux from the source.
A limitation of the supporting ellipsoid and linear programming methods is computation speed, which increases quadratically with the complexity of the problem [5]. We recently uncovered a relationship between the number of rays and the number of target directions that allows us to run the linear programming algorithm with a low number of rays, as shown in Fig. 1(b) [6]. In fact, the linear programming method was shown to provide a solution consisting of paraboloids that intersect along the given source directions, if the number of source rays is chosen to be equal to the number of target directions plus one. The linear programming approach is still limited by computation speed as the number of targets increases, but the intersection property of the linear programming algorithm inspired a direct approach that reduces computation time. For the direct approach, we assume a mapping between source and target and build the reflector by directly calculating the focal parameters of the conics that intersect along the given ray directions.
In the following, we describe the procedure to derive the reflector that directs light uniformly from an isotropic source located at the origin to the target; if a nonuniform distribution is desired, the source rays and target directions must be chosen to sample the source and target distributions in regions of equal flux. To illustrate how the algorithm works, we solve as an example a far-field problem, in which the conics to be used to direct light from the source to the target are paraboloids. We refer to the equation of a parabola in the form
with and , where is the distance to the th paraboloid along the th ray direction, is the focal parameter of the th paraboloid, and and are unit vectors that describe the source and target directions, as shown in Fig. 2. The vector represents the axis along which the th paraboloid is oriented. The focus of the parabola is at the origin.The only assumption made is that the mapping between source and target rays is monotonic. The number of source rays is chosen to be , as suggested by the intersection property of the linear programming. To select a unique set among the family of paraboloids that solve the far-field problem, the distance to the reflector along a certain source ray has to be fixed (for example, we can set ). Once the correspondence between the first ray and the first target has been chosen according to the source-target mapping, determining the monotonic ordering of rays and targets, the focal parameter of the first paraboloid is calculated from Eq. (1) to give the desired distance to the reflector, . Next, the distance to the first paraboloid along the second ray direction is evaluated, and the focal parameter of the second paraboloid is set to give . The procedure is then repeated: once has been calculated, evaluate and determine accordingly to give . The steps of the algorithm are summarized in Fig. 3. Once all the focal parameters have been calculated, the paraboloids are trimmed along the directions of intersection to give the final reflector. The procedure can be easily modified to apply to curves other than parabolas, as long as they can be expressed as a function of a single parameter.
An example of the construction is shown in Fig. 4 for and . The source distribution is isotropic over 0–90°, and the target directions are 0°, 22.5°, and 45°. The solution obtained consists of three paraboloids that collect an equal amount of flux from the source, by design.
When compared with the reflector produced by the linear programming method with , the direct calculation algorithm produced the same focal parameters (within the numerical precision of the machine), in times that are orders of magnitude faster, as shown in Fig. 5. As demonstrated by the slope in the log-scale plot, not only is the algorithm proposed significantly faster than the linear programming approach, but it also has excellent scalability, calculating a solution for 1000 target directions in a few milliseconds.
A significant advantage other than fast computation time over the supporting paraboloids method is that the location of the intersections between neighboring paraboloids is known, making it unnecessary to use ray tracing or other methods to identify them.
Additionally, the direct calculation algorithm proposed exhibits greater versatility. While the linear programming formulation provides reflectors made of patches of paraboloids, the direct calculation method is applicable to paraboloids, ellipsoids, and many other curves described by an analytic expression with a single input parameter. An example of the reflector obtained for a near-field target using the direct calculation method is shown in Fig. 6 for the case of ellipsoids, and four equally spaced targets. The source distribution was isotropic over 0–90°. The reflector was evaluated in LightTools® with 40 rays and each ellipsoid patch collected the same amount of flux.
In a comparison with a standard numerical integration technique using a second-order Runge–Kutta method, the direct calculation algorithm produced results comparable with those obtained following the curve calculation procedure described by Elmer [4].
In conclusion, we have developed a fast and simple algorithm to derive a 2D reflector by forcing the conics to intersect along given ray directions and directly calculating their focal parameters. The algorithm ties together the fundamental properties of three different reflector design methods: supporting paraboloids, linear programming, and numerical integration. A significant advantage of the direct calculation algorithm is its versatility and ease of implementation. When compared to the linear programming method, the directcalculation algorithm produced the same result and proved to be at least three orders of magnitude faster, and is scalable.
The extension of the algorithm to 3D is not straightforward, since the source-target mapping in this case is not uniquely determined and it has notable effects in the solution [7], but we believe that, with its appealing characteristics of speed and scalability, this approach may offer useful insight to solve the 3D reflector problem.
The authors acknowledge Synopsys, Inc. for the educational license of LightTools. This work was funded under a fellowship from Synopsys, Inc., the National Science Foundation (EECS-1002179), and the New York State Foundation for Science, Technology and Innovation (NYSTAR) Foundation (C050070).
References
1. L. A. Caffarelli, S. A. Kochengin, and V. I. Oliker, Contemp Math. 226, 13 (1999). [CrossRef]
2. X.-J. Wang, Calc. Var. 20, 329 (2004). [CrossRef]
3. T. Glimm and V. Oliker, J. Math. Sci. 117, 4096 (2003). [CrossRef]
4. W. B. Elmer, The Optical Design of Reflectors, 2nd ed.(Wiley, 1980).
5. F. R. Fournier, W. J. Cassarly, and J. P. Rolland, Proc. SPIE 7423, 742302 (2009). [CrossRef]
6. C. Canavesi, W. J. Cassarly, and J. P. Rolland, Opt. Express 20, 4050 (2012). [CrossRef]
7. F. R. Fournier, W. J. Cassarly, and J. P. Rolland, Opt. Express 18, 5295 (2010). [CrossRef]