goptical
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Goptical] spot analysis problems


From: Alexandre Becoulet
Subject: Re: [Goptical] spot analysis problems
Date: Tue, 19 Feb 2013 00:55:55 +0100
User-agent: KMail/4.9.5 (Linux/3.7.4-1-ARCH; KDE/4.9.5; x86_64; ; )

On Monday 18 February 2013 12:12:45 Richard Graham wrote:

Hi Richard,

> You were right about needing to call one of the analysis functions to
> trigger the trace. I had assumed that the initial trace would be done
> when the object is constructed. It would be good to explain how this
> works in the documentation.

You are right, there are several improvments which can be done here:

 - Throw an exception when trying to get non-existing results.
 - Prevent access to analysis internal Tracer object and provide separate 
accessors for the Trace::Result (const) and for the the Trace::Params (non-
const).
 - Add a function to trigger the trace directly on Analysis objects.

> In any case, I can now proceed to debugging the underlying problem. It
> turns out that the rays are being generated and intercepted by the image
> surface. I can loop over the intercepted rays and look at their
> positions. For values of the density parameter that don't work, I see
> the first few rays generated all have NaN's in the positions.

What about parent rays generated by previous surfaces? You can use the 
get_parent function to check this:

http://www.gnu.org/software/goptical/manual/Trace_Ray_class_reference.html#__1439

> I have one other thing I would like to point out which may be related --
> or may be an unrelated bug. My imaging plane is larger than strictly
> necessary. In my layout rays propogate through the system to the right,
> then the right-most component is a parabolic mirror which the rays
> strike off axis and are reflected 90 deg down to the image plane. For
> some reason I have to make the image plane wide enough such that it
> extends to the right further than the right most point of the parabolic
> mirror. If I don't do that the rays will not be reflected by the mirror.
> I am using sequential analysis.

Maybe the ray is reflected but is not retained when rendered because it does 
not intersect with the image plane?

Best,

-- 
Alexandre




reply via email to

[Prev in Thread] Current Thread [Next in Thread]