POV-Ray : Newsgroups : povray.binaries.images : Le Forgeron: experiments : Re: Le Forgeron: experiments Server Time
6 Oct 2024 15:22:26 EDT (-0400)
  Re: Le Forgeron: experiments  
From: Le Forgeron
Date: 6 Sep 2014 10:17:57
Message: <540b1795$1@news.povray.org>
On 03/09/2014 20:34, Le_Forgeron wrote:
> On 03/09/2014 18:39, LanuHum wrote:
>> Le_Forgeron <jgr### [at] freefr> wrote:
>>
>>> Will have to get a set of freshly compiled binaries to go further, so do
>>> not hold your breath today.
>>
>> Great!
>> The mistake disappeared.
>> Thanks a lot!
>>
> I have not yet changed anything... so it's probably just luck and some
> non-initialised memory... or something else.
> 
> The bug-hunt is scheduled for this week-end.
> 
Ok, I found the source of the issue (propagation of NaN).

Now I wonder how to fix it.

Notice that your original spline, a cubic_spline, is repeating 3 times
the first point's coordinates: the first one is for the slope at start,
the second one is for the first actual point (start), but what is the
third one for ?

That's also happening at the end of your spline (last point is repeated
3 times).

So, a fast workaround would be to avoid triplicated extremities (and
probably duplicated intermediates), but that's

The NaN is created when two consecutive points (of the actual spline
segments) are strictly identical, so their difference is exactly a null
vector. (due to noise and numerical computation, it does not always
happens as easy as it seems). As that vector, once normalized is used as
part of the base with local U & V vector, having a degenerated 3D-base
is not a good thing to compute the new U & V vectors. Current code is
like Roman arithmetic: no expectation or notion of zero. Need some
Indian's innovation to fix it, sort of.


-- 
IQ of crossposters with FU: 100 / (number of groups)
IQ of crossposters without FU: 100 / (1 + number of groups)
IQ of multiposters: 100 / ( (number of groups) * (number of groups))


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.