POV-Ray : Newsgroups : povray.advanced-users : Pattern showing *change* in slope Server Time
3 Jul 2024 05:27:00 EDT (-0400)
  Pattern showing *change* in slope (Message 21 to 26 of 26)  
<<< Previous 10 Messages Goto Initial 10 Messages
From: SharkD
Subject: Re: Pattern showing *change* in slope
Date: 28 Aug 2009 23:54:11
Message: <4a98a663@news.povray.org>
Reactor wrote:
> Also, isn't that the first derivative (i.e. slope), not the second?  The
> function is roughly analogous to what you would want to do with, say, the
> surface normal of the object (i.e. measure the normal's rate of change), or the
> values that are returned from the slope pattern.
> 
> If you use this directly as a pigment, you should clip it between 0 and 1.
> Personally, I would also probably rotate the image and evaluate in the xz plane
> because it is easier for me to think of, but either way will work.
> 
> 
> -Reactor


There are unfortunately some weird striations in the resulting image:

http://i421.photobucket.com/albums/pp292/SharkD2161/Support/hf_striations.png

At least I can *see* something. :)

-Mike


Post a reply to this message

From: clipka
Subject: Re: Pattern showing *change* in slope
Date: 29 Aug 2009 00:09:47
Message: <4a98aa0b@news.povray.org>
SharkD schrieb:
> There are unfortunately some weird striations in the resulting image:
> 
> http://i421.photobucket.com/albums/pp292/SharkD2161/Support/hf_striations.png 

The factor to multiply the sqrt() term with is obviously too high, 
leading to the banded pattern.

In addition, it appears to me that your input file is suffering from 
JPEG artifacts, causing those regular-spaced vertical stripes.


Post a reply to this message

From: Reactor
Subject: Re: Pattern showing *change* in slope
Date: 29 Aug 2009 00:15:29
Message: <web.4a98aa4038d8f2bb16a06750@news.povray.org>
SharkD <mik### [at] gmailcom> wrote:
> Reactor wrote:
> > Also, isn't that the first derivative (i.e. slope), not the second?  The
> > function is roughly analogous to what you would want to do with, say, the
> > surface normal of the object (i.e. measure the normal's rate of change), or the
> > values that are returned from the slope pattern.
> >
> > If you use this directly as a pigment, you should clip it between 0 and 1.
> > Personally, I would also probably rotate the image and evaluate in the xz plane
> > because it is easier for me to think of, but either way will work.
> >
> >
> > -Reactor
>
>
> There are unfortunately some weird striations in the resulting image:
>
> http://i421.photobucket.com/albums/pp292/SharkD2161/Support/hf_striations.png
>
> At least I can *see* something. :)
>
> -Mike

The striations are do to the values going outside of the 0...1 range.  It can be
clipped using min() and max().

Are you using the change in slope to decide where to place objects?  I've been
working on a macro for that, trying to get it to decide where to place rocks
for stream beds.  It works ok, but I think it needs to average the normals in a
small radius for each point to get a more accurate test of concavity.

-Reactor


Post a reply to this message

From: SharkD
Subject: Re: Pattern showing *change* in slope
Date: 29 Aug 2009 18:04:34
Message: <4a99a5f2@news.povray.org>
clipka wrote:
> In addition, it appears to me that your input file is suffering from 
> JPEG artifacts, causing those regular-spaced vertical stripes.

Not JPEG artifacts, but artifacts from increasing the dimensions of a 
low resolution heightfield. I thought L3DT had eliminated them, but it 
didn't. Thanks.

-Mike


Post a reply to this message

From: SharkD
Subject: Re: Pattern showing *change* in slope
Date: 29 Aug 2009 19:40:53
Message: <4a99bc85$1@news.povray.org>
Reactor wrote:
> Are you using the change in slope to decide where to place objects?  I've been
> working on a macro for that, trying to get it to decide where to place rocks
> for stream beds.  It works ok, but I think it needs to average the normals in a
> small radius for each point to get a more accurate test of concavity.
> 
> -Reactor

Sort of. I am rendering the image to act as a guide. Based on the guide 
I place the objects manually in a separate application.

-Mike


Post a reply to this message

From: Tim Attwood
Subject: Re: Pattern showing *change* in slope
Date: 8 Sep 2009 16:59:01
Message: <4aa6c595$1@news.povray.org>
> Please point me to the part where it describes POV SDL.

The derivative of a surface is really 2D, but here's the
x component. It's just the change in the slope (dx) with
the interval xstep. With an image it really isn't smooth up
close, so you need to make sure that the interval is large 
enough to avoid the artefacts, and small enough to still
get an accurate slope.

camera {
  orthographic
  location <0,0,1>   
  look_at  <0,0,0>
  right 1*x 
  up 1*y
}

// input heightfield image
#declare fn1 = function {pigment {image_map {png "plasma3.png"}}};

// derivative 
#declare xstep = 0.01; 
#declare dx = function { (fn1(x,y,z).grey-fn1(x-xstep,y,z).grey) -
                         (fn1(x+xstep,y,z).grey-fn1(x,y,z).grey) };

// remap to drawable colors
#declare fcolor = function { select( dx(x,y,z)+0.5, 0, 
                             select( dx(x,y,z)-0.5, dx(x,y,z)+0.5,1))};

box { // this box fits exactly in view
  <-0.5, -0.5, 0>, <0.5, 0.5, 0>
  texture {
    pigment { 
       image_map {
          function 200,200 {fcolor(x-0.5,y-0.5,z)}
       }    
    }
  }
}


Post a reply to this message

<<< Previous 10 Messages Goto Initial 10 Messages

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