POV-Ray : Newsgroups : povray.newusers : Merging Isosurfaces : Re: Merging Isosurfaces Server Time
28 Jul 2024 18:15:16 EDT (-0400)
  Re: Merging Isosurfaces  
From: Mike Williams
Date: 28 Jan 2008 11:46:22
Message: <EzwqOgCYPgnHFw8H@econym.demon.co.uk>
Wasn't it Basiclife who wrote:
>Hi,
>
>I wonder if anyone can help me, I'm trying to create an isosurface which from
>above will be shaped as a T. My first idea was to do a rectangle and then cut
>off the bits I didn't want with a difference{} but this still calculates the
>whole isosurface which seems inefficient. My next plan was to have 2 isosurface
>with the same function to create the T shape. The problem is, I need the
>isosurface to reflect/refract and allow light to pass through it. My
>understanding is that instead of union{}ing the 2 isosurfaces, I simply needed
>to merge{} them - but unfortunately, thsi leaves strange artifacts visible
>(vertical black lines) I've tried overlapping the 2 isosurfaces in case it was
>due to a rounding error on the boundary to no effect. I've increased max_trace
>by an order of magnitude which hasn't helped either.
>
>Can someone please point me in the right direction?

One possible approach is to produce a single isosurface that has the
required shape


global_settings { max_trace_level 10 }

#declare Box = function { max((y*y-1),(x*x-1),(z*z-1)) }

isosurface {
  function {  min(
                Box(x,y*4-4,z*4),
                Box(x*4,y,z*4)
              )
           }
           max_gradient 45
           contained_by{sphere{0,2}}
           pigment {rgbt .9}
           interior {ior 1.3}
}

See: http://www.econym.demon.co.uk/isotut/combine.htm

-- 
Mike Williams
Gentleman of Leisure


Post a reply to this message

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