Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

automatically propose stop #9

Open
MaximilianHoffmann opened this issue Jun 10, 2016 · 3 comments
Open

automatically propose stop #9

MaximilianHoffmann opened this issue Jun 10, 2016 · 3 comments

Comments

@MaximilianHoffmann
Copy link

MaximilianHoffmann commented Jun 10, 2016

In paraxial_trace you write:

# TODO
    # * introduce aperture at argmax(abs(y_axial)/radius)
    #   or at argmin(abs(u_axial))

could this be done in an instance method e.g. paraxial_ray.find_stop or .find_aperture ?

@jordens
Copy link
Member

jordens commented Jun 10, 2016

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...

@MaximilianHoffmann
Copy link
Author

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?

@jordens
Copy link
Member

jordens commented Jun 13, 2016

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.

@jordens jordens changed the title find stop automatically propose stop Jun 15, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants