POV-Ray : Newsgroups : povray.general : Object scale : Re: Object scale Server Time
2 Dec 2022 10:24:31 EST (-0500)
  Re: Object scale  
From: William F Pokorny
Date: 3 Feb 2022 08:41:20
Message: <61fbdb80$1@news.povray.org>
On 1/31/22 10:50, Chris R wrote:
> Is there anything inherent to the way POV processes isosurfaces (and radiosity
> for that matter) that would make the scale of scene objects relevant to the
> results, or are any differences in scaling just a matter of floating point
> rounding errors?  For SSLT, it does seem that units matter, because there is the
> global mm_per_unit setting to tune SSLT.
> 
> I have seen suggestions from time to time in the newsgroups about scaling up
> isosurface objects if you are having difficulty cleaning up holes, or speeding
> up the rendering, but again, is that because of the way isosurfaces are
> processed or just the rounding errors?
> 
> In my own scenes, I have created macros to declare unit-based sizes, and never
> use unit-less declarations any more.  I tend to model scenes I find in the real
> world, so I use the units based on my measuring device at the time, and/or known
> sizes of real-world instances of those objects.  I grew tired of trying to
> remember whether I used metric or English measurements and doing the
> conversions, so I created the macros.  In addition, I set things up so I can
> change the base unit used when rendering the scene.  By default I work in 1cm =
> 1 POV unit, but if FP errors are getting in the way, I can easily change it to
> meters or millimeters as needed.
> 
> -- Chris R.
> 
> 

:-) Questions like these I find hard to answer. Completely reasonable, 
but the answers go on for as far as I can see!

In all official POV-Ray it's a good idea to keeps everything defined 
within a 1e-2 to 1e+5 numerical space if you can. This just where things 
work best numerically in official POV-Ray today.

The recommendation to scale up, I think has come about over time because 
new users tend to set up symmetrically around 0.0 and POV-Ray's good 
numerical space isn't centered about zero. Scaling up often helps - you 
can get into numerical trouble that way too...

The numerical reality is immensely complicated in a tool like POV-Ray. 
For example, some surfaces, shapes can support a larger numerical range. 
Triangle meshes,  spheres and boxes are effectively low order numerical 
problems and these often work over a larger numerical range. The 
distance rays are traveling between source and intersections matters to 
the resultant numerical accuracy.

There is nothing particular to isosurfaces about centering your scenes 
numerically where POV-Ray generally works best.

What is true about isosurfaces is the accuracy keyword value matters and 
the default (0.001) is often too small for the image size of scenes 
today(1). I start now at 0.0005 and tune if need be. The very best 
accuracy achievable with an isosurface tends to be about 1e-6. This a 
result of the solver technique and practical performance. Performance 
degrades as accuracy goes up. I almost always define isosurfaces 
somewhat closely around the origin for size(2) and scale as needed into 
the scene.

Bill P.

(1) - Most shapes control accuracy internally to some preset value which 
is - almost always - smaller than 1e-3.

(2) - The isosurface shape itself is reasonably centered numerically and 
that accuracy value is a local, solver space, value.


Post a reply to this message

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