|
|
Mike Williams wrote:
> Wasn't it Richard Kline who wrote:
>
>>When I attempted to render the gravitation equipotential surface of two
>>bodies (i.e the surfaces of the double planet in Robert Forward's
>>"Flight of the Dragonfly"). The iso_surface object behaved oddly with
>>these three behaviors:
>>
>>1) If the contained_by shape is larger than the true surface for the
>>given threshold value, the entire contained_by shape (either box or
>>sphere) is rendered as part of the surface.
>>
>>2) If parts of the surface extend beyond the contained_by shape, you get
>>the difference of the contained_by shape and the true surface. (this is
>>shown in POVRay Example 1 below)
>>
>>3) If the contained_by shape is made large enough to contain the true
>>surface, camera, and light_source, you get the correct results for the
>>iso_surface, but it takes a long time to render since every point in the
>>scene has to be tested.
>>
>
>
> I confess to not having tried all your examples, but what you describe
> sounds exactly like rendering the isosurface inside out.
>
> See <http://www.econym.demon.co.uk/isotut/insideout.htm>
>
> The "inside" of an isosurface is the region where the function minus the
> threshold is less than zero and the outside is where it's greater than
> zero. For some functions this may be different from what common sense
> tells you should be the inside and outside.
>
> Try using "isosurface {function {0 - Roche(x,y,z) }" and
> "threshold -2.0" to flip the thing right side out.
>
Negating the function and threshold worked. Thanks. Also to the other
respondents, I did add 0.0001 to the denominator of the function to
avoid having a singularity. I just didn't mention it up top.
Richard Kline
Post a reply to this message
|
|