POV-Ray : Newsgroups : povray.documentation.inbuilt : Issues with sor tutorial example. Server Time
10 Nov 2025 08:05:59 EST (-0500)
  Issues with sor tutorial example. (Message 1 to 8 of 8)  
From: William F Pokorny
Subject: Issues with sor tutorial example.
Date: 29 Oct 2025 06:56:24
Message: <6901f2d8$1@news.povray.org>
Documenting long standing exposures with the sor tutorial example.

Ref:

https://wiki.povray.org/content/Documentation:Tutorial_Section_3#Index_Entry_sor_tutorial

---
The cocktail outline has a flattish portions which are difficult for the 
solvers to handle. Similar to the lathe, the sor likes curvature in the 
spline used (excepting linear splines with the lathe).

In the attached image, the blue results come from v3.8 beta 2, the 
yellow from R20 of yuqk. No AA to better see the issues.

The two columns for each version of POV-Ray represent the non-sturmian 
solver and then the sturmian solver.

The bottom two rows put the camera into the cocktail. The very bottom 
row adds caps and the results 'should be' completely black.

Notes:

a) The non-sturmian solver has difficultly in both v3.8 beta 2 and 
yuqk(R20) given certain ray approaches.

b) The sturmian solver has trouble too in v3.8 b2 - in the shadow 
regions of the top row, for example.

c) The sturmian solver in yuqk returns clean results for all the 
examples run.

d) The yellow pixels at the very top of the yuqk results in the lower 
right are due the intersections hitting deep in the crevice between the 
lip of the cocktail form and the cap.

When the intersection is closer to the cap plane than the internal 
shadow tolerance value (1e-3) shadow rays see through to lights. The 
artifacts exist in both v3.8 and yuqk at larger image sizes.

The yuqk fork has the 'shadow_tolerance' global setting which allows the 
default 1e-3 value to be reduced - greatly reducing the likelihood 
shadow rays will see through the cap due the shadow tolerance value. The 
exposure never goes completely away in situations like this. AA often 
helps hide these issues when they come up.

Bill P.


Post a reply to this message


Attachments:
Download 'tutorialsorissues.png' (75 KB)

Preview of image 'tutorialsorissues.png'
tutorialsorissues.png


 

From: Kenneth
Subject: Re: Issues with sor tutorial example.
Date: 2 Nov 2025 14:10:00
Message: <web.6907ac496548eb0ee83955656e066e29@news.povray.org>
William F Pokorny <ano### [at] anonymousorg> wrote:
> Documenting long standing exposures with the sor tutorial example.
>
> Ref:
>
>
https://wiki.povray.org/content/Documentation:Tutorial_Section_3#Index_Entry_sor_tutorial
>

[running v3.7.0 and 3.8 beta 1-- the results are essentially the same]
Windows 10

I ran a lot of animation tests, moving the scene elements around in relation to
one another, and this is how the situation appears to me when using 'sturm':

1) For the OUTSIDE surface of the SOR that *faces* the light source (whether or
not 'open' is also used):
     sturm OFF: lots of noise and artifacts
     sturm ON: no noise that I can see

2) For the 'open' INSIDE surface, in the *shadow* areas:
     sturm OFF: no noise that I can see
     sturm ON: lots of noise etc.

So I wonder if the problem is just shadow artifacts: sturm on/off has the
opposite effect on the inside and outside-- and on the lighted surface vs.
shadowed surface(!)

The appearance of the noise and the artifacts on the *outside* depends on the
the camera position, its look_at point, the position of the light(s) and the
orientation of the SOR-- all of which interact, unfortunately. It looks the
worst to me  when the y-positions of all three are the same (and not just when
the camera is looking straight into +z).

Since the SOR when 'open' is really just an infinitely thin shell, it seems to
me that using it this way is not a good idea anyway, as  the walls have no
thickness at all and look unrealistic. (The docs also mention that it shouldn't
be used in CSG this way.)

(BTW: I tried using 'inverse' in the SOR, just to see if it made any difference
at all. It does not.)

I'll follow up here with a few of the test animations I made.


Post a reply to this message


Attachments:
Download 'sor_sturm_tests_1_kw.jpg' (190 KB)

Preview of image 'sor_sturm_tests_1_kw.jpg'
sor_sturm_tests_1_kw.jpg


 

From: Kenneth
Subject: Re: Issues with sor tutorial example.
Date: 2 Nov 2025 14:20:00
Message: <web.6907ae1f6548eb0ee83955656e066e29@news.povray.org>
"Kenneth" <kdw### [at] gmailcom> wrote:
>
> It looks the
> worst to me when the y-positions of all three are the same (and not just when
> the camera is looking straight into +z).
>

That was not clear, sorry: the y-positions of the camera location, its look_at
point, and the light.


Post a reply to this message

From: Kenneth
Subject: Re: Issues with sor tutorial example.
Date: 2 Nov 2025 14:30:01
Message: <web.6907b0fd6548eb0ee83955656e066e29@news.povray.org>
"Kenneth" <kdw### [at] gmailcom> wrote:
>
> I'll follow up here with a few of the test animations I made.

Animation #1


Post a reply to this message


Attachments:
Download 'sor_docs_example_1_kw.mp4.dat' (4009 KB)

From: Kenneth
Subject: Re: Issues with sor tutorial example.
Date: 2 Nov 2025 14:40:01
Message: <web.6907b2706548eb0ee83955656e066e29@news.povray.org>
Animation #2


Post a reply to this message


Attachments:
Download 'sor_docs_example_2_kw.mp4.dat' (4026 KB)

From: Kenneth
Subject: Re: Issues with sor tutorial example.
Date: 2 Nov 2025 14:50:00
Message: <web.6907b4dc6548eb0ee83955656e066e29@news.povray.org>
Animation #3


Post a reply to this message


Attachments:
Download 'sor_docs_example_3_kw.mp4.dat' (1567 KB)

From: Kenneth
Subject: Re: Issues with sor tutorial example.
Date: 2 Nov 2025 15:30:01
Message: <web.6907be806548eb0ee83955656e066e29@news.povray.org>
Animation #4


Post a reply to this message


Attachments:
Download 'sor_docs_example_4_inside_surface_kw.mp4.dat' (2609 KB)

From: William F Pokorny
Subject: Re: Issues with sor tutorial example.
Date: 3 Nov 2025 03:21:48
Message: <6908661c$1@news.povray.org>
On 11/2/25 14:08, Kenneth wrote:

Thanks for confirming on windows.

> So I wonder if the problem is just shadow artifacts: sturm on/off has the
> opposite effect on the inside and outside-- and on the lighted surface vs.
> shadowed surface(!)
> 

I agree. The bad sturm results for official are shadow related.

However, I believe this due the sturm results, sometimes, not being that 
accurate - by position. Specifically, I'd bet here on a 'quicker exit' 
bug in the regula-falsi code - fixed in yuqk - which finishes off the 
root calculation once an interval with a single root has been found by 
the sturmian portion of 'sturm'(*).

> The appearance of the noise and the artifacts on the*outside* depends on the
> the camera position, its look_at point, the position of the light(s) and the
> orientation of the SOR-- all of which interact, unfortunately. It looks the
> worst to me  when the y-positions of all three are the same (and not just when
> the camera is looking straight into +z).
> 
> Since the SOR when 'open' is really just an infinitely thin shell, it seems to
> me that using it this way is not a good idea anyway, as  the walls have no
> thickness at all and look unrealistic. (The docs also mention that it shouldn't
> be used in CSG this way.)

No... :-) The sor{}s are more like cylinders/cones in having well 
defined inside regions always with two surfaces when using caps and, 
potentially, only a single surface - with the same, well defined, inside 
region - depending on the ray path when not using caps.

In playing more with the sor{} shape recently, I've come to think it 
more useful due potential use in CSG! The sor{} doesn't have the fuzzy 
issues with defining an inside regions which Cousin Ricky highlighted 
recently for the lathe{} at fold-backs, for example.

Bill P.

(*) - I have more sturmian solver work years now on the todo list; 
Including replacing the regula-falsi code with a dedicated 
newton-raphson solver I wrote from scratch that always resolves to the 
root once given an interval known to have a root. That work though is 
tangled in also wanting to remove a re-ordering of coefficients into the 
sturmian part of 'sturm' that I suspect was long ago done for 
convenience, but which burns time.

I have too another solver approach which, for accuracy is much better 
than 'sturm'. However, it requires even more re-working of code because 
it merges the per shape polynomial generation and solver into one 
method. Maybe someday...


Post a reply to this message

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