pyoptools.raytrace.surface.powell module

Module that defines support for Aspherical optical surfaces

class pyoptools.raytrace.surface.powell.Powell

Bases: pyoptools.raytrace.surface.surface.Surface

Class that defines a Powell lens surface

A Powell lens surface is defined as:

Z=sqrt((1+K)*x**2- 2*R*x+y**2)

without an additional poly2d definition like in the aspherical surface case The values K and R correspond to the conicity and curvature respectively

Example
>>> cs=Powell(shape=Circular(radius=2.5), K=-4.302, R=3.00)
K
R
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 Powell lens surface to be used to plot the surface.

zmax
zmin