POV-Ray : Newsgroups : povray.binaries.images : Holes in isosurface : Re: Holes in isosurface Server Time
19 Apr 2024 01:36:00 EDT (-0400)
  Re: Holes in isosurface  
From: Thomas de Groot
Date: 8 Mar 2017 02:52:37
Message: <58bfb845$1@news.povray.org>
On 8-3-2017 8:08, Mike Horvath wrote:
> On 3/8/2017 12:30 AM, Mike Horvath wrote:
>> On 3/7/2017 4:09 PM, omniverse wrote:
>>> Mike Horvath <mik### [at] gmailcom> wrote:
>>>> I am trying to render the following isosurface.
>>>>
>>>> isosurface
>>>> {
>>>>  function {fFinal(fInpX(x,y,z),fInpY(x,y,z),fInpZ(x,y,z))}
>>>>  threshold 0
>>>>  accuracy 0.001
>>>>  contained_by
>>>>  {
>>>>   box {0,1}
>>>>  }
>>>>  max_gradient 50 // was 20000
>>>> }
>>>>
>>>> However, from certain angles there appear gaps or cuts in the surface,
>>>> and you can see inside. The gaps disappear when viewed from other
>>>> angles.
>>>>
>>>> Does anyone have any tips on how to fix this? I already tried
>>>> scaling by
>>>> 200 but it does not help.
>>>
>>> The outer box isn't there but I'm guessing your isosurface is part of
>>> CSG, so
>>> maybe if you add all_intersections or max_trace 3 (or whatever
>>> integer) might
>>> fix it.
>>>
>>
>> I tried your suggestion and took the isosurface out of the union it
>> belonged to:
>>
>> isosurface
>> {
>>     function {fFinal(fInpX(x,y,z),fInpY(x,y,z),fInpZ(x,y,z))}
>>     threshold    0
>>     accuracy    0.001
>>     contained_by
>>     {
>>         box {0,2}
>>     }
>>     max_gradient    50    // was 20000
>>     all_intersections
>>     max_trace 3
>> }
>>
>> But it did not solve the problem. I still get the jagged looking
>> artifacts.
>>
>>
>> Mike
>
> Here it is again with pigment and scaling:
>
> #declare ScaleAmount = 400;
>
> isosurface
> {
>     function {fFinal(fInpX(x,y,z),fInpY(x,y,z),fInpZ(x,y,z))}
>     threshold    0
>     accuracy    0.001
>     contained_by
>     {
>         box {0,2}
>     }
>     max_gradient    50    // was 20000
>     all_intersections
>     max_trace 3
>     pigment {pigmentRGB}
>     translate    <-1/2,-1/2,-1/2>
>     rotate        y * clock * 360
>     scale        ScaleAmount
> }
>
> Mike

To test this I need the fFinal() fInpX() fInpY() fInpZ() functions too.

-- 
Thomas


Post a reply to this message

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