You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Yes. But the usefulness is very questionable. Everything depends so heavily on the stop location that just putting it where "the bulge is widest" (or flattest) is rather arbitrary. Do you do argmax(abs(y_marginal)) (would break for e.g. infinite object systems) or argmax(abs(y_marginal)/radius) which may also break for e.g. infinite objects and weirdly depends on potentially uncertain radii, or argmin(abs(u_marginal)) which would break for e.g. afocal systems or doubke-bulge systems...
Ok. But why can't one use the aiming routine , which finds the marginal ray, to finde the first aperture one hits by increasing the angle?
And if object is InfiniteConjugate aim in the reversed system?
The aperture is not just chosen by some notion of "where the rays are clipped". That would just be related to the marginal ray. It is also where the chief ray crosses the axis. That's of crucial importance for aberrations and many paraxial quantities (special planes etc). Especially for e.g. slightly more wideangle systems.
And then there are afocal and telecentric systems which also need special aiming.
But yes. This can be done. Though I haven't seen something like this in commercial packages (IIRC) and I suspect this is a bit too arbitrary to be generally useful.
In paraxial_trace you write:
could this be done in an instance method e.g. paraxial_ray.find_stop or .find_aperture ?
The text was updated successfully, but these errors were encountered: