pyoptools.raytrace.surface.aspherical module

Module that defines support for Aspherical optical surfaces

class pyoptools.raytrace.surface.aspherical.Aspherical

Bases: pyoptools.raytrace.surface.surface.Surface

Class that defines a high order aspherical surface

An aspherical surface is defined as:

Z=(Ax*x**2+Ay*y**2)/(1+sqrt(1-(1+Kx)*Ax**2*x**2-(1+Ky)*Ay**2*y**2))+ poly2d()

The poly2d is defined by a array in the same way as it is defined in the TaylorPoly Class

Example
>>> cs=Aspherical(shape=Rectangle(size=(5,5)),Ax=.5,Ay=.3,Kx=.1, Ky=.1                            poly =poly2d((0,1,1)))
Ax
Ay
Kx
Ky
normal()

Return the vector normal to the surface

This method returns the vector normal to the asphere at a point int_p=(x,y,z).

Note: It uses x and y to calculate the z value and the normal.

poly
topo()

Returns the Z value for a given X and Y

This method returns the topography of the aspherical surface to be used to plot the surface.

zmax
zmin