POV-Ray : Newsgroups : povray.binaries.images : isofunction problem (~10kbbu) : Re: isofunction problem (~10kbbu) Server Time
1 Oct 2024 07:20:59 EDT (-0400)
  Re: isofunction problem (~10kbbu)  
From: Mike Williams
Date: 7 Sep 2000 16:55:19
Message: <Bvr7GDAcN9t5EwH$@econym.demon.co.uk>
Wasn't it Richard Dault who wrote:
>Okay, here is the problem I was referring to in my last post.  I have an
>iso-sphere which I intersected with an iso-y plane.  So this should give me
>a half sphere right?  Well, it does, as long as I keep it at the origin.  As
>soon as I translate it away from the origin, I get a strange result.
>
>In the first picture of the three spheres, they should be identical, but
>they are not.  Only the green one has the expected result.  Notice something
>else that is really strange?  Look at the shadow of the middle sphere.  The
>light source is directly above it in the x-direction, but yet the shadow is
>of a complete sphere?!?
>
>The second image shows only the middle sphere but moved over by 1 unit.
>
>Anyone know why this is happening?
>

It does appear to be a bug. You can get a clearer idea of what is
happening if you add a line like

  sphere {0,2.3 pigment {rgbf <1,.5,.5,1>}}

This is a semitransparent copy of where the contained_by sphere would be
before the translation. Once you can see the unstranslated contained_by
sphere, it becomes clear (particularly in the second image) that the
parts of the isosurface outside the untranslated contained_by sphere are
missing.

It seems that the isosurface function obeys the translate x*1, but its
contained_by sphere gets left behind.

If you just take an isosurface object and translate it, then it takes
its contained_by sphere with it (e.g. object {broken rotate z*90
translate x*-1 pigment {rgb 1}} works as expected) and so do CSG unions,
but CSG differences and intersections leave the contained_by sphere
behind.


-- 
Mike Williams
Gentleman of Leisure


Post a reply to this message

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