+ All Categories
Home > Documents > Modeling optical surfaces by Non-Uniform Rational B ... · Non-Uniform Rational B-Splines...

Modeling optical surfaces by Non-Uniform Rational B ... · Non-Uniform Rational B-Splines...

Date post: 16-Jul-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
1
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 Motivation Several 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 ABSTRACT We 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 algorithm It’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 y z x q z x i θ x y z ( 29 2 o i i k k k nn = - r r r rr 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 Conclusions o NURBS methodology can be used for ray-tracing optical surfaces. o They can be used to model accurately most ideal surfaces, and also surfaces defined from a numerical mesh o They can overcome some problems of traditional methods, like the definition of closed surfaces (like tubes). o A 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). o The 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
Transcript
Page 1: Modeling optical surfaces by Non-Uniform Rational B ... · Non-Uniform Rational B-Splines (NURBS)[1] Davide Bianchi, Claudio Ferrero and Manuel Sánchez del Río* ESRF European Synchrotron

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

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

Recommended