POV-Ray : Newsgroups : povray.newusers : isosurface in mirror Server Time
29 Jul 2024 08:10:42 EDT (-0400)
  isosurface in mirror (Message 24 to 33 of 33)  
<<< Previous 10 Messages Goto Initial 10 Messages
From: Urs Holzer
Subject: Re: isosurface in mirror
Date: 10 Oct 2006 12:53:37
Message: <452bd011@news.povray.org>
marabou wrote:

> hello,
> 
> currently I render a scene with an isosurface and a mirror showing
> that isosurface. isosurface is created like:
> difference{
> object { isosurface1_containedby_box }
> object {
> isosurface2_containedby_box
> translate y*-value
> }
> rotate x*90
> }
> the result is a nearly planar surface.
> the mirror has reflection 0.8.
> [...]

Could you give us the code (i.e. the function) of the isosurfaces? Could
you also post an image of one of those isosurfaces (without using CSG)?
Probably someone can then see the problem.
I don't know much about isosurfaces. So I make now a last guess about
what could be the problem and then I'll give up: Some functions are
bad, because they have infinite max_gradient. POV-Ray won't detect
that. But it should report high max_gradient values, so this is rather
not the case.

Good luck in solving the problem!


Post a reply to this message

From: marabou
Subject: Re: isosurface in mirror
Date: 10 Oct 2006 13:16:43
Message: <20061010191611.e0fefa2b.not@available.yet>
On Tue, 10 Oct 2006 18:56:58 +0200
Urs Holzer <urs### [at] andonyarcom> wrote:

> marabou wrote:
> 
> > hello,
> > 
> > currently I render a scene with an isosurface and a mirror showing
> > that isosurface. isosurface is created like:
> > difference{
> > object { isosurface1_containedby_box }
> > object {
> > isosurface2_containedby_box
> > translate y*-value
> > }
> > rotate x*90
> > }
> > the result is a nearly planar surface.
> > the mirror has reflection 0.8.
> > [...]
> 
> Could you give us the code (i.e. the function) of the isosurfaces? Could
> you also post an image of one of those isosurfaces (without using CSG)?
> Probably someone can then see the problem.
> I don't know much about isosurfaces. So I make now a last guess about
> what could be the problem and then I'll give up: Some functions are
> bad, because they have infinite max_gradient. POV-Ray won't detect
> that. But it should report high max_gradient values, so this is rather
> not the case.
> 
> Good luck in solving the problem!
> 
it is only one CSG in image; please see p.b.images.

little explanation of code:
two arrays hold the clock steps and the spline points and are processed in macro
create_spline(...). 
variable createdsplinepath holds the spline and is used in a function f_myspline. this
function is used to create the iso contained_by box.
in macro draw_object(...) the iso is differenced by itself with a little translate to
get only the surface of iso.
then object is placed. the call to draw_object(...) gets references to the two arrays
i mentioned above.

parts of code follow (read from buttom to top):

#macro create_iso(isosteps, isopoints)
//====================================
create_spline(isosteps, isopoints, 0) //returns createdsplinepath
#undef f_myspline
#declare f_myspline = function {
   spline{
      createdsplinepath	// is the created spline
   }
}
#declare iso =
isosurface {
   function { y - f_myspline(x).x - f_myspline(z).z }
   accuracy 0.001
// max_gradient 4
   max_gradient 2.038
   contained_by { 
	box { -1,1 } 
   }
   pigment { rgb <255,255,255>/255 }
   finish {
      phong 0.5
      phong_size 10
   }
}
#end //macro create_iso

#macro draw_object(objsteps, objspline)
//=====================================
   create_iso(objsteps, objspline)
   difference {
      object { iso }
      object { iso scale <1.001,1,1.001> translate y*-0.02 }
   }
#end

#declare splsteps_m = array[]{}
#declare spl_m = array[]{}

object{
draw_object(splsteps_m, spl_m)
translate <0,-0.5,-2.5>
}


Post a reply to this message

From: St 
Subject: Re: isosurface in mirror
Date: 10 Oct 2006 13:21:44
Message: <452bd6a8@news.povray.org>
"marabou" <not### [at] availableyet> wrote in message 
news:200### [at] availableyet...
> On Tue, 10 Oct 2006 17:38:54 +0100
> "St." <dot### [at] dotcom> wrote:
>
> [..]
>>
>>    Well, basically, it will turn an object 'inside out', (not sure if it
>> works with iso's). I'm just thinking/wondering what would happen if you 
>> used
>> 'inverse'  - would your original 'invisible' side now be visible in the
>> mirror, and vice verse?
>>
> it does not work with isos.

   Gah, I had a sneaky feeling it didn't.


>
>>     If that's not viable, have you tried giving your object some
>> thickness/depth to see if the problem is still there?
>>
> yes

  Hmm, then you have an interesting problem. I'll keep thinking on it.

   ~Steve~




>
> [..]


Post a reply to this message

From: marabou
Subject: Re: isosurface in mirror
Date: 10 Oct 2006 13:27:02
Message: <20061010192630.8d23b14c.not@available.yet>
On Tue, 10 Oct 2006 18:17:07 +0100
"St." <dot### [at] dotcom> wrote:

> 
> "marabou" <not### [at] availableyet> wrote in message 
> news:200### [at] availableyet...
> > On Tue, 10 Oct 2006 17:38:54 +0100
> > "St." <dot### [at] dotcom> wrote:
[..]
> >>     If that's not viable, have you tried giving your object some
> >> thickness/depth to see if the problem is still there?
> >>
> > yes
> 
>   Hmm, then you have an interesting problem. I'll keep thinking on it.
> 
[..]
have you read this:?
news.povray.org povray.newusers:14442


Post a reply to this message

From: Mike Williams
Subject: Re: isosurface in mirror
Date: 10 Oct 2006 13:33:54
Message: <nKLKtPA7l9KFFwKz@econym.demon.co.uk>
Wasn't it marabou who wrote:
>
>parts of code follow (read from buttom to top):

As I said earlier, you need to specify a sensible max_trace count, or
use all_intersections, in any isosurface that's involved in CSG
operations (like your "difference").

The default max_trace is too low for the CSG.

-- 
Mike (why does nobody ever listen to me) Williams


Post a reply to this message

From: marabou
Subject: Re: isosurface in mirror; solved
Date: 10 Oct 2006 14:18:08
Message: <20061010201734.b26d471a.not@available.yet>
heureka!
it was not the keyword "hollow", it was "open"!
thank you for all the good tipps and ideas!


Post a reply to this message

From: Chris B
Subject: Re: isosurface in mirror
Date: 10 Oct 2006 15:48:59
Message: <452bf92b@news.povray.org>
"Mike Williams" <nos### [at] econymdemoncouk> wrote in message 
news:nKL### [at] econymdemoncouk...
> Wasn't it marabou who wrote:
>>
>>isosurface is invisible
>>
> As I said earlier, you need to specify a sensible max_trace count>
> ...
> Mike (why does nobody ever listen to me) Williams

D'you think sometimes maybe you're invisible too.

;o)
Chris B.


Post a reply to this message

From: Mike Williams
Subject: Re: isosurface in mirror; solved
Date: 10 Oct 2006 16:18:09
Message: <94gsRBAU8$KFFwLI@econym.demon.co.uk>
Wasn't it marabou who wrote:
>heureka!
>it was not the keyword "hollow", it was "open"!
>thank you for all the good tipps and ideas!

Well "open" will reduce the number of intersections in certain
directions making it possible to get away with the default max_trace
setting sometimes, but if the problem comes back even with "open" you
can fix it with "all_intersections".

-- 
Mike Williams
Gentleman of Leisure


Post a reply to this message

From: marabou
Subject: Re: isosurface in mirror; solved
Date: 11 Oct 2006 09:54:57
Message: <20061011155424.e2a86c42.not@available.yet>
On Tue, 10 Oct 2006 21:14:12 +0100
Mike Williams <nos### [at] econymdemoncouk> wrote:

[..]
> setting sometimes, but if the problem comes back even with "open" you
> can fix it with "all_intersections".
> 
[..]

recognized. thank you


Post a reply to this message

From: marabou
Subject: Re: isosurface in mirror
Date: 11 Oct 2006 09:56:04
Message: <20061011155531.ff5301b2.not@available.yet>
On Tue, 10 Oct 2006 18:33:47 +0100
Mike Williams <nos### [at] econymdemoncouk> wrote:

[..]
> -- 
> Mike (why does nobody ever listen to me) Williams
sorry, it was not meant so.


Post a reply to this message

<<< Previous 10 Messages Goto Initial 10 Messages

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