Complex is a class that provides complex numbers and a number of mathematical
functions (dynamic and static) such as sqrt() and exp() for complex numbers.
Default constructor which sets dummy parameters for the Gaussian beam:
lambda = 1064nm, wavelength of a Nd:YAG laser nr = 1, index of refraction
of vacuum (or air) beam waist of w0=1mm at z0=0
Additional constructor that sets the beam parameters via beam waist radius
and beam waist position, now allowing different parameters in x- and
y-direction.
This function calls the callback object set during the constructor, and
applies the equation is represents to each of the points, relating graph
space to world space for correctly position traces.
Graph constructor that requires you to define the dimensions of the graph,
whether the axes should cross at the 0 and the parent PApplet object which
is rendering the graph.
This enum is used by the Axis2D object to decide whether the axis laebls
should be plotted at the beginning, middle, end of the axis, or outside the
plotting area.
The rolling 2D trace object was created to act in a similar way to a
Seismometer works, where the previous values on the graph move to the left
and new values are added to the right.
Use this to set a surface to automatically set the min and max values of
the Z-axis to match the computed values, resulting in no clipping of
surface points.
To generate a surface trace all 3 cartesian axis that the trace is mapped
onto need to be supplied, also the resolution of the grid in both X and Y
directions.