POV-Ray : Newsgroups : povray.binaries.images : Exponential blobs Server Time
18 Nov 2024 02:20:14 EST (-0500)
  Exponential blobs (Message 1 to 7 of 7)  
From: John Williamson
Subject: Exponential blobs
Date: 13 Oct 2002 16:32:16
Message: <3DA9D90D.C4E190B6@dcs.gla.ac.uk>
Hi,

Here is an isosurface blob using a exponential density function. Shown 
is the same blob at different thresholds. Seems relatively smooth --
can anyone suggest a good test that causes non-smooth areas on
normal blobs?

(oh, the noise is just some f_noise3d to add interest to the 
 image, the blobs really are smooth)

--John


Post a reply to this message


Attachments:
Download 'blobs.jpg' (30 KB)

Preview of image 'blobs.jpg'
blobs.jpg


 

From: Johannes Dahlstrom
Subject: Re: Exponential blobs
Date: 13 Oct 2002 17:29:26
Message: <3da9e5b5@news.povray.org>
John Williamson wrote:
> Hi,
> 
> Here is an isosurface blob using a exponential density function. Shown
> is the same blob at different thresholds. Seems relatively smooth --
> can anyone suggest a good test that causes non-smooth areas on
> normal blobs?

Wow, they are very smooth indeed. This seems quite promising. What was the 
render time?

It is really quite easy to get non-smooth results with blobs. The attached 
image shows the 2nd-derivative artifact quite clearly, especially in the 
shading. Here's the source

// --- --- ---

global_settings { assumed_gamma 1 }

camera { location <0,12,0> look_at 0 }

light_source { <100,300,-100> 1 }

#declare i = 0;
#while(i < 3)
        
        blob {
                threshold i/6+0.1
                sphere { <-2,0,-1>,3,0.6 }
                sphere { <3,0,-0>,3,0.7 }
                sphere { <1,0,-2>,2,0.9 }

                pigment { rgb 1 }
                finish { phong 0.9 diffuse 0.8 }
                
                scale 0.6
                rotate 90*y
                translate (i*4-4)*x
        }
        
        #declare i = i + 1;
#end


sky_sphere {
        pigment {
                planar
                color_map {
                        [0 rgb <0.1,0.1,0.5> ]
                        [1 rgb 1 ]
                }
        }
}


Post a reply to this message


Attachments:
Download 'blob_artifact.jpg' (19 KB)

Preview of image 'blob_artifact.jpg'
blob_artifact.jpg


 

From: John Williamson
Subject: Re: Exponential blobs
Date: 13 Oct 2002 17:32:27
Message: <3DA9E72C.F441E25F@dcs.gla.ac.uk>
Hi,

> Wow, they are very smooth indeed. This seems quite promising. 
> What was the render time?

About 30s on a 1.4Ghz Athlon. I'll have a go at reproducing something
similar to the scene you sent with exponential blobs.

--John


Post a reply to this message

From: John Williamson
Subject: Re: Exponential blobs
Date: 13 Oct 2002 17:46:39
Message: <3DA9EA7F.CA390ACB@dcs.gla.ac.uk>
Hi again,

> I'll have a go at reproducing something
> similar to the scene you sent with exponential blobs.

Right, just stuck in the values from the scene you provided (doesn't 
necessarily make sense, but still), here's the result. Rendered in
40s on 1.4Ghz Athlon. Source below.

global_settings { assumed_gamma 1 }

camera { location <0,12,0> look_at 0 }

light_source { <100,300,-100> 1 }                                    

#declare fn_gauss = function(x,y,z,r) { - exp(-(x*x + z*z + y*y)/r) }
#declare fn_blob = function(x,y,z) { (fn_gauss(x+2, y, z+1, 3) * 0.6 + 
                                     fn_gauss(x-3, y, z, 3) * 0.7 + 
                                     fn_gauss(x-1, y, z+2, 2) * 0.9)/4 }
#declare i = 0;
#while(i < 3)
        
  isosurface {
                function { fn_blob(x, y, z)  }        // alternative
declared function
                contained_by { box { -5, 5 } }  // container shape
                threshold -0.095 + i*0.02
                accuracy 0.01                      // accuracy of
calculation [0.001]
                max_gradient 0.3                      // maximum
gradient the function can have [1.1]

                pigment { rgb 1 }
                finish { phong 0.9 diffuse 0.8 }
                
                scale 0.6
                rotate 90*y
                translate (i*4-4)*x
        }
        
        #declare i = i + 1;
#end


sky_sphere {
        pigment {
                planar
                color_map {
                        [0 rgb <0.1,0.1,0.5> ]
                        [1 rgb 1 ]
                }
        }
}


Post a reply to this message


Attachments:
Download 'gausstest.jpg' (12 KB)

Preview of image 'gausstest.jpg'
gausstest.jpg


 

From: Glen Berry
Subject: Re: Exponential blobs
Date: 19 Oct 2002 02:36:02
Message: <JfuwPf6uxcNTXG+poLwMfLxYjmPk@4ax.com>
On Sun, 13 Oct 2002 21:35:25 +0100, John Williamson
<wil### [at] dcsglaacuk> wrote:

I'm attaching a POV file to this message. It isn't really an example
of a non-smooth blob, but it is one of the more unusual blob shapes I
have come up with. It really seems counter-intuitive to the way that
blobs were supposed to work. I'd be curious to see what you can do
with an exponential blob render, using my scene file.


thanks,
Glen Berry


Later,
Glen

7no### [at] ezwvcom     (Remove the numeral "7")


Post a reply to this message


Attachments:
Download 'GB_Strange_Blob.jpg' (10 KB) Download 'GB_Strange_Blob.pov.txt' (1 KB)

Preview of image 'GB_Strange_Blob.jpg'
GB_Strange_Blob.jpg

From: John Williamson
Subject: Re: Exponential blobs
Date: 19 Oct 2002 08:03:23
Message: <3DB14ACC.DC82D0CD@dcs.gla.ac.uk>
Hi,

> 
> I'm attaching a POV file to this message. It isn't really an example
> of a non-smooth blob, but it is one of the more unusual blob shapes I
> have come up with. It really seems counter-intuitive to the way that
> blobs were supposed to work. I'd be curious to see what you can do
> with an exponential blob render, using my scene file.

Hmm, that's _very_ counterintuitive with standard blobs! Here's a quick
replacement with exp blobs. I just copied the values straight in, and it
seems to work fairly sensibly. I had to fake the texture with a x
gradient
though.

Scene and image below.

--John

#global_settings { assumed_gamma 1.0 }

background { color rgb 0.667 }

camera { perspective 
         angle 15
         location <0, 0, -10>
         look_at  <0, 0, 0>
       }

light_source { <10, 20, -30> color rgb 1 }

#declare SB_Fin = finish { ambient 0.01 diffuse 0.99 } 

#declare fn_gauss = function(x,y,z,r) { - exp(-(x*x + z*z + y*y)/r) }

#declare fn_blob = function(x,y,z) { (fn_gauss(x+1, y, z, 1.9) * 0.68 + 
                                      fn_gauss(x-1, y, z, 1.9) * 0.68) 
}
                                      
                isosurface {
                  function { fn_blob(x, y, z)  }       
                  contained_by { box { -5, 5 } }  
                  threshold -(2/3)
                  accuracy 0.001                      
                  max_gradient 2.0                      
                  finish { SB_Fin }
                  pigment { gradient x 
                    color_map {
                                [0.0 color rgb <1.0, 0.85, 0.7>] 
                                [1.0 color rgb <0.7, 0.85, 1.0>]
                              }           
                    scale 3
                    translate -1.5*x
                 }               
                scale 0.9  // compensate for exp func.                
        }


Post a reply to this message


Attachments:
Download 'gb_strange_blob_exp.jpg' (9 KB)

Preview of image 'gb_strange_blob_exp.jpg'
gb_strange_blob_exp.jpg


 

From: Christopher James Huff
Subject: Re: Exponential blobs - attached files (1/1)
Date: 20 Oct 2002 21:27:20
Message: <chrishuff-00C10E.21163820102002@netplex.aussie.org>
In article <3DB14ACC.DC82D0CD@dcs.gla.ac.uk>,
 John Williamson <wil### [at] dcsglaacuk> wrote:

> Hmm, that's _very_ counterintuitive with standard blobs! Here's a quick
> replacement with exp blobs. I just copied the values straight in, and it
> seems to work fairly sensibly. I had to fake the texture with a x
> gradient though.

Here's two versions with the new polynomial (and a tweaked threshold, 
the blobs didn't connect with the one given). It doesn't have the odd 
bulge in the middle (see my other example image for another example), 
but it isn't as smoothed over as the exponential blobs (with some 
adjustment, it can get closer to that shape...see the second image, 
which had radii of 2 and strengths of 1). I didn't bother trying to fake 
the texture.

I'll be adding support for both versions to my patch. (the exponential 
blobs will be slower because they are unbounded, but still faster than a 
user defined function)

-- 
Christopher James Huff <cja### [at] earthlinknet>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tagpovrayorg
http://tag.povray.org/


Post a reply to this message


Attachments:
Download 'newblob1.jpg' (4 KB) Download 'newblob2.jpg' (3 KB)

Preview of image 'newblob1.jpg'
newblob1.jpg

Preview of image 'newblob2.jpg'
newblob2.jpg


 

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