|
|
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
|
|