POV-Ray : Newsgroups : povray.newusers : Interface artefacts in merging transparent isosurface objects : Re: Interface artefacts in merging transparent isosurface objects Server Time
29 Jul 2024 08:22:22 EDT (-0400)
  Re: Interface artefacts in merging transparent isosurface objects  
From: Mike Williams
Date: 27 Mar 2006 18:42:03
Message: <aAclfGAkaHKEFwJZ@econym.demon.co.uk>
Wasn't it Timm who wrote:
>Hi everybody,
>
>I am new in using povray. Yet, I would like to use transparent isosurface
>objects with some absorption. In order to form the object I want I need to
>merge different isosurface objects.
>Now it happens always that the interface is still visible between two object
>that touch each other in a plane. But these internal interfaces should be
>removed by using merge, should'nt they?

There's something strange going on that I don't quite understand.

If I experiment with simple isosurfaces, like spheres, I can get them to
merge correctly.

merge {
  isosurface {
  function { f_sphere(x-1,y,z,1.7) }
  contained_by { box {<0,-3,-3>,3 } }
  threshold 0
  max_gradient 2
  all_intersections
  }
  isosurface {
  function { f_sphere(x+1,y,z,1.7) }
  contained_by { box {-3,<0,3,3> } }
  threshold 0
  max_gradient 2
  all_intersections
  }
  hollow
  texture { myTexture }
} 

To see it go wrong, remove one or both of the "all_intersections"
keywords.

However, I can't seem to get the same method to work with your
particular shape.

One thing you can do is to write the whole thing as a single isosurface. 

isosurface {
  function {
    min(
     max(-1/8*(x-5)*(x-5)+y, -y-1, 1-x),
     max(-3+x+y, -y-1, x-1, z-4)
    ) 
  }
  contained_by { box {<-2,0,-1>,<4,5,10> } }
  threshold 0
  max_gradient 2
  hollow
  texture { myTexture }
  interior { myInterior }
}



-- 
Mike Williams
Gentleman of Leisure


Post a reply to this message

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