-
prysm
physical optics: integrated modeling, phase retrieval, segmented systems, polynomials and fitting, sequential raytracing... (by brandondube)
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Meshes I won't touch with a ten foot pole, but most every type of polynomial has derivatives in prysm. Even the abomination that is a Q2D freeform with an off-axis conic base surface.
Tracing meshes is something I've just started tackling in raypier (https://github.com/bryancole/raypier_optics). This is a spatial-search problem and a Oriented Bounding Box tree structure (OBB-tree) is a decent approach. Once you can trace a mesh, this provides the starting points for tracing freeform surfaces like NURBS. The approach is to split a NURBS surface into a set of B-spline patches. Each patch is defines by a coarse mesh of control points and discretised into a finer mesh which we trace with a OBB-tree to get close to the correct intersection. Then employ Newton-Raphson to get the final intersection. Once we can trace NURBS / Spline surfaces, we can then generalize the code to handle anything a CAD model can contain: the ultimate prize!