POV-Ray : Newsgroups : povray.binaries.images : Holes in isosurface Server Time
7 Nov 2024 04:52:34 EST (-0500)
  Holes in isosurface (Message 1 to 10 of 16)  
Goto Latest 10 Messages Next 6 Messages >>>
From: Mike Horvath
Subject: Holes in isosurface
Date: 7 Mar 2017 12:21:33
Message: <58beec1d@news.povray.org>
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.


Mike


Post a reply to this message


Attachments:
Download 'ciexyz_color_solid_cube_isosurface10.png' (56 KB)

Preview of image 'ciexyz_color_solid_cube_isosurface10.png'
ciexyz_color_solid_cube_isosurface10.png


 

From: omniverse
Subject: Re: Holes in isosurface
Date: 7 Mar 2017 16:10:00
Message: <web.58bf2172bd2eb8ad9c5d6c810@news.povray.org>
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.


Post a reply to this message

From: Mike Horvath
Subject: Re: Holes in isosurface
Date: 8 Mar 2017 00:30:05
Message: <58bf96dd$1@news.povray.org>
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


Post a reply to this message

From: Mike Horvath
Subject: Re: Holes in isosurface
Date: 8 Mar 2017 02:08:38
Message: <58bfadf6$1@news.povray.org>
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


Post a reply to this message

From: Thomas de Groot
Subject: Re: Holes in isosurface
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

From: Mike Horvath
Subject: Re: Holes in isosurface
Date: 8 Mar 2017 03:11:52
Message: <58bfbcc8$1@news.povray.org>
On 3/8/2017 2:52 AM, Thomas de Groot wrote:
> To test this I need the fFinal() fInpX() fInpY() fInpZ() functions too.
>

I posted a new thread in p.t.s-f.

Mike


Post a reply to this message

From: omniverse
Subject: Re: Holes in isosurface
Date: 8 Mar 2017 04:45:01
Message: <web.58bfd1e0bd2eb8ad9c5d6c810@news.povray.org>
Thomas de Groot <tho### [at] degrootorg> wrote:
>
> To test this I need the fFinal() fInpX() fInpY() fInpZ() functions too.

Okay, maybe Thomas has figured this out too. I was just trying to think it out
using other functions and got nowhere but I did suspect something I had happen
before:

I ran your files as animation and found nothing wrong...
except after about clock=0.52 and until about clock=0.72

What's going on is simply a case of max_gradient 50 being too low for that
particular segment of frames.

That isosurface requires up to max_gradient 60 from what I found during that
part of the animation.

Try this instead of max_gradient:

evaluate 15,4,0.7

That will give a minimum gradient value with a multiple of 4 (=60) and change
rate.
Better yet, read about that at:

http://wiki.povray.org/content/Reference:Isosurface


Post a reply to this message

From: Mike Horvath
Subject: Re: Holes in isosurface
Date: 8 Mar 2017 06:52:12
Message: <58bff06c$1@news.povray.org>
On 3/8/2017 4:41 AM, omniverse wrote:
> Thomas de Groot <tho### [at] degrootorg> wrote:
>>
>> To test this I need the fFinal() fInpX() fInpY() fInpZ() functions too.
>
> Okay, maybe Thomas has figured this out too. I was just trying to think it out
> using other functions and got nowhere but I did suspect something I had happen
> before:
>
> I ran your files as animation and found nothing wrong...
> except after about clock=0.52 and until about clock=0.72
>
> What's going on is simply a case of max_gradient 50 being too low for that
> particular segment of frames.
>
> That isosurface requires up to max_gradient 60 from what I found during that
> part of the animation.
>
> Try this instead of max_gradient:
>
> evaluate 15,4,0.7
>
> That will give a minimum gradient value with a multiple of 4 (=60) and change
> rate.
> Better yet, read about that at:
>
> http://wiki.povray.org/content/Reference:Isosurface
>
>

That seems to work. Thank you!

Mike


Post a reply to this message

From: Thomas de Groot
Subject: Re: Holes in isosurface
Date: 8 Mar 2017 07:12:02
Message: <58bff512$1@news.povray.org>
On 8-3-2017 12:52, Mike Horvath wrote:
> On 3/8/2017 4:41 AM, omniverse wrote:
>> Thomas de Groot <tho### [at] degrootorg> wrote:
>>>
>>> To test this I need the fFinal() fInpX() fInpY() fInpZ() functions too.
>>
>> Okay, maybe Thomas has figured this out too. I was just trying to
>> think it out
>> using other functions and got nowhere but I did suspect something I
>> had happen
>> before:
>>
>> I ran your files as animation and found nothing wrong...
>> except after about clock=0.52 and until about clock=0.72
>>
>> What's going on is simply a case of max_gradient 50 being too low for
>> that
>> particular segment of frames.
>>
>> That isosurface requires up to max_gradient 60 from what I found
>> during that
>> part of the animation.
>>
>> Try this instead of max_gradient:
>>
>> evaluate 15,4,0.7
>>
>> That will give a minimum gradient value with a multiple of 4 (=60) and
>> change
>> rate.
>> Better yet, read about that at:
>>
>> http://wiki.povray.org/content/Reference:Isosurface
>>
>>
>
> That seems to work. Thank you!
>
> Mike

I was not yet that far, but I was thinking in the same direction. 
Evaluate is a good tool to use in this context.

-- 
Thomas


Post a reply to this message

From: Bald Eagle
Subject: Re: Holes in isosurface
Date: 8 Mar 2017 10:05:00
Message: <web.58c01d15bd2eb8adc437ac910@news.povray.org>
I haven't had a chance to look over the isosurface functions, but it looks like
the final shape is a parallelpiped.
If so, couldn't you just make a box and shear it in all 3 directions?
Simpler and lots faster, if that's the case.

I enjoy these color models you work on.
They are very pleasing to my eye.
Keep up the good work!  :)


Post a reply to this message

Goto Latest 10 Messages Next 6 Messages >>>

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