POV-Ray : Newsgroups : povray.beta-test.binaries : Documenting some inside test (object pattern) issues. : Re: Documenting some inside test (object pattern) issues. Server Time
3 May 2024 09:31:22 EDT (-0400)
  Re: Documenting some inside test (object pattern) issues.  
From: William F Pokorny
Date: 18 Mar 2019 19:24:47
Message: <5c9028bf$1@news.povray.org>
On 3/17/19 8:11 AM, William F Pokorny wrote:
> On 2/12/19 12:52 PM, William F Pokorny wrote:
...
> 
> So... The one remaining object inside test issue - which I still think 
> real - is the spindle torus union case. The object inside test is acting 
> like the merge variant. Image attached.
> 

On taking a deeper look at this last torus union test, I think it OK too 
- or at least consistent with current generic union media behavior with 
one defined interior.

If three spheres are nested Matryoshka doll style as a union, the media 
based on ray intervals is different and never consistent with the inside 
object test today.

In the attached image the sphere union cases are shown in the left 
column. The inside sphere test results in the middle column. Differences 
in the right column as usual.

In the top row of the image the union is set up with the form:

#declare Union00 = union {
   object { Sphere00 }
   object { Sphere01 }
   object { Sphere02 }
   hollow
   material {
...
   }
}

Which I take to be like the torus union case and the behavior is 
consistent. In the bottom row the union is set up with the form:

#declare Sphere00 = sphere { <0,0,0>, 0.45 hollow
   material { Material00 }
}
#declare Sphere01 = sphere { <0,0,0>, 0.20 hollow
   material { Material00 }
}
#declare Sphere02 = sphere { <0,0,0>, 0.07 hollow
   material { Material00 }
}

#declare Union00 = union {
   object { Sphere00 }
   object { Sphere01 }
   object { Sphere02 }
}

Interesting result, eh?

I've always avoided unions with media where shapes overlap. Still, I 
thought only surfaces would be ignored - should they have a non-clear 
texture - and that we'd always get multiple, end to end, surface to 
surface media intervals instead of one. Instead, what happens media wise 
looks more complicated. I see here too behavior that could be very 
useful - if solidly defined and understood.

Why the different union media behavior - I'm not sure. My first guess is 
that when the interior is defined on each sphere the parser can flatten 
the spheres scene wise and it cannot where the interior has been applied 
to the union alone. If right, the intervals are what they are media wise 
and I can see how the result comes about.

Anyone better understand what is going on with unions and media here?

Wonder what happens if we use either of these union forms in further 
csg. Also now wondering what really happens with semi-transparent 
textures, IORs and union surfaces.

Aside: If using merge instead of union, results are always consistent 
with the object inside test.

Bill P.


Post a reply to this message


Attachments:
Download 'unionmediabehavior.png' (146 KB)

Preview of image 'unionmediabehavior.png'
unionmediabehavior.png


 

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