POV-Ray : Newsgroups : povray.bugreports : Blobs: Error 1: Negative Values: Holes! / Error 2: Alpha Value Overwriting? : Re: Blobs: Error 1: Negative Values: Holes!/Error2:AlphaValueOverwriting? Server Time
25 Apr 2024 08:54:27 EDT (-0400)
  Re: Blobs: Error 1: Negative Values: Holes!/Error2:AlphaValueOverwriting?  
From: clipka
Date: 23 Dec 2015 11:00:47
Message: <567ac52f$1@news.povray.org>
Am 23.12.2015 um 16:29 schrieb William F Pokorny:

> For what it is worth, I was following the same numerical accuracy trail.
> Leaving things at Sven's current scale ad changing the following in
> blob.cpp from
> 
> /* Minimal intersection depth for a valid intersection. */
> const DBL DEPTH_TOLERANCE = 1.0e-2;
> 
> to
> 
> /* Minimal intersection depth for a valid intersection. */
> const DBL DEPTH_TOLERANCE = 1.0e-3;
> 
> was enough to clean up the solution.
> 
> I am not an expert at numerical algorithms but I look at these two
> settings in blob.cpp and I wonder if the values are not perhaps set for
> the old single precision days?

Maybe. Maybe not.

> /* Minimal intersection depth for a valid intersection. */
> const DBL DEPTH_TOLERANCE = 1.0e-6;      // previous value 1.0e-2
> 
> /* Tolerance for inside test. */
> const DBL INSIDE_TOLERANCE = 1.0e-12;    // previous value 1.0e-6
> 
> I'd think values such as those updated above not unreasonable these
> days. The above runs OK on the few blobs I have. I don't understand
> enough of the algorithm to know if there are other implications for
> moving to much tighter tolerances.

That's the problem: I don't know anyone familiar enough with the
algorithm to say for sure whether stuff will work or whether it'll break.

Also, if we do touch these things, rather than a fixed "epsilon" for the
precision stuff I think we should instead make the tolerances dependent
on the absolute values involved; to all of my knowledge that's a cleaner
way to handle these things.


> Aside: AA was tending to hide the numerical artifacts which happen in
> quite a few places other than the most obvious in Sven's example.
> Thinking we have perhaps we've been living with some of these accuracy
> issues for a while with AA often cleaning things up to where we don't
> notice?

I doubt that. These artifacts obviously aren't stray random speckle
artifacts. AA blurs them out a bit, but there would still be enough of a
pattern remaining to be noticed.


Post a reply to this message

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