Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Modeling optical surfaces by
Non-Uniform Rational B-Splines (NURBS)[1] Davide Bianchi, Claudio Ferrero and Manuel Sánchez del Río*
ESRF European Synchrotron Radiation Facility, B.P.220, F-38043 Grenoble Cedex, France *[email protected]
The ray-tracing method and NURBS
MotivationSeveral mathematical approaches are possible for
describing optical surfaces in ray tracing applications. Primitive mathematical surfaces, such as quadrics and
tori, are often used to define ideal optical surfaces used for most synchrotron optics elements (mirrors, crystals, lenses). SHADOW (Cerrina et al.)[4], the most extended
ray-tracing program for synchrotron radiation, incorporates all these primitives as intrinsic optical
surfaces. However, the use of these ideal surfaces often limits the applicability of the ray tracing calculations to
simple ideal cases. The simulation of surface errors (figure, slope and roughness) needs to go beyond these ideal models and must include algorithms able to allow for data from real surfaces, such as surface meshes and
statistical parameters (slope and roughness RMS values). The use of B-splines for defining surface
imperfections has proved its efficiency in SHADOW, using the PRESURFACE tool. This B-spline description of
the surface can be superposed to the mathematical primitive, providing a flexible way to separate mirror
shape and surface errors in a simulation.
The B-spline model in SHADOW has some practical limitations due to the restricted number of points used to create the splines. It has some intrinsic limitations
like the use of an iterative algorithm for calculating the intersection of the ray with the surface defined by the
spline, and the impossibility to exactly represent a quadric surface. Also, the nature of the method makes impossible to represent closed surfaces, that may be
interesting in some particular cases, like capillaries, x-ray guides, tubes, etc.
The aim of this work is to explore new methods for representing numerically an optical surface in a suitable way that could be easily incorporated in accurate optical
calculations (ray-tracing).
NURBS
We propose to apply the NURBS approach for describing the optical surfaces in ray tracing. The NURBS surfaces have, among many other useful
characteristics, the possibility to reproduce exactly all quadric surfaces with the peculiarity of being
treated locally.
Examples
Spherical mirror Mirror defined by a mesh
ABSTRACTWe present a study of the applicability of NURBS to accurate ray-tracing of x-ray beams, and describe how to represent the most typical optical surfaces by NURBS as well as compute the
intersection point between a ray and a NURBS-surface. We draw some conclusions from a prototype algorithmic implementation in IDL and a comparison with the classical algorithms in SHADOW.
The intersection algorithmIt’s not possible to solve the intersection points between a ray and a NURBS surface using an analytical approach. To find the intersection points we have used the Bézier Clipping algorithm proposed by Nishita et al. [1990][2]. It is based in clipping the NURBS surface by Bézier surfaces, and iteratively finding the intersection of the ray (straight line) with the Bézier surface.
MAIN REMARKS
•It is an approximated iterative method.
•This is the Achilles' heel of the method.
•This method it’s divided in 4 main steps
NURBS surface (left), NURBS surface divided in Bézier patches (right), each patch is represented in a different color
2) Patch extraction
3) 4) Control points projection and iterative search
Rotation around diameter:
Sphere
Description of optical surfaces with NURBS
We want to represent:
•Intrinsic quadrics (including planes) and toroids. They are generated by revolving, translating and shrinking
simple primitives (like circles)
Mesh surfaces, defined by a set of points. The surface itself must contain these points (interpolated surfaces)
Control points
Weights
Knots points
Rotation around external point:
Thoroid
Translation along the center axis:
Cylinder
Random generated flat surface:
Interpolation of a wavy surface
0
0
x x tv
z
= +=
r r r
α
p
yz
xq
z
x
iθ
x
y
z
( )2o i ik k k n n= − ᅲr r r r r
0 0 0( , ,0)
( , , 1)x y
x x y
v v v
== ᅲ
r
r
Energy, Intensity
NURBS Fundamentals[3]
Polynomial parametric curves and surfaces
Bernstein polynomials and Bézier curves:
NURB curves
NURB surfaces
Rational Bézier curves
Compact defined set of polynomial curve of order n
bi the curve control points which unicaly defines the Bézier curve of order n
Generalisetion of the Bezier Curves:
Piecewise curves
Support polynom N: polynom of degree p is dependet from the previous order p-1.
ui set (knots vector U) defines the compact domain of influence of the parametric value u for a specific order p
Given a set of control point Pi (control polygone), it’s possible to define
Example of 3° order Bézier curve
3° order Bernstein polynomes
ConclusionsoNURBS methodology can be used for ray-tracing optical surfaces.
oThey can be used to model accurately most ideal surfaces, and also surfaces defined from a numerical mesh
oThey can overcome some problems of traditional methods, like the definition of closed surfaces (like tubes).
oA Bézier clipping algorithm has been implemented for finding the ray-surface intersection. At the moment this is the weak point of the method, as the method is not exact, and it occasionally fails (when finding multiple solutions).
oThe method has been implemented in IDL and successfully compared with SHADOW
Future work•Test, document and release the NURBS library in IDL
•Investigate possible alternatives to the intersection algorithm. Improve the implementation of the Bézier clipping algorithm to make it more rapid and robust.
•Evaluate the possible incorporation of this method into SHADOW.
•Possible implementation in C or Fortran 2005
Kirkpatrick-Baez horizontal mirror (left) vertical mirror (right)
[1]Ray tracing of optical systems using NURBS surfaces, D. Bianchi, M. Sánchez del Río, C. Ferrero, 2010,Physica Scripta 82 (1), p. 015403
[2] Curve intersection using Bézier clipping, Computer-Aided Design, T.W. Sederberg, T. Nishita, 1990, 22, (9), 538-549
[3] The NURBS book WT Les Piegl - 1997 - Springer, Berlin; New York
[4]SHADOW: A synchrotron radiation ray tracing program, Nuclear Instruments and Methods in Physics Research Section A: Accelerators, Spectrometers, Detectors and Associated Equipment, B. Lai, F. Cerrina, 1986 246, (1-3), 337-341
1) Conversion from NURBS to Bézier patches