POV-Ray : Newsgroups : povray.binaries.images : A new way of blobbing isosurfaces... - blob isosurface.jpg (1/1) : A new way of blobbing isosurfaces... - blob isosurface.jpg (1/1) Server Time
3 Oct 2024 09:23:29 EDT (-0400)
  A new way of blobbing isosurfaces... - blob isosurface.jpg (1/1)  
From: Chris Huff
Date: 30 Jan 2000 21:43:49
Message: <chrishuff_99-DDFE71.21442030012000@news.povray.org>
Since MegaPOV 0.4 includes my blob pattern, it is quite simple to make 
blobs using isosurfaces. Of course, they are currently limited to 
cylinders and spheres, but I am still planning to add additional types 
of components, and the "blobs" used in the pattern are a bit more 
flexible than standard ones. Also, you can use turbulence or other warps 
more easily than you could if you make the blob out of functions. And it 
might be a little faster, I haven't checked.
My object and proximity patterns are also included in this version, the 
object pattern doesn't work very well in isosurfaces(because of the 
sharp boundary between it's two values instead of a smoothly changing 
value, it is harder to find the intersection point) and I haven't even 
tried the proximity pattern with isosurfaces yet.

Here is the code for this isosurface:
#declare DensityFunc = 0;
#declare falloffAmt = 3;

#declare TestFunction =
function {
   pigment {
      blob {
         cylinder {<3, 2.4, 0>, < -3, 2.4, 0>, 1.0, 1 
            density_function DensityFunc,falloffAmt
         }
         cylinder {<3, 2.4, 0>, < -3, 2.4, 0>, 1.0, 1
            rotate z*1*120
            density_function DensityFunc,falloffAmt
         }
         cylinder {<3, 2.4, 0>, < -3, 2.4, 0>, 1.0, 1
            rotate z*2*120
            density_function DensityFunc,falloffAmt
         }
         sphere {< 0, 0, 0>, 2.75, 1
            density_function DensityFunc,  falloffAmt
         }
         threshold 1
         max_density 0
      }
      ramp_wave
      color_map {
         [0 color Black]
         [1 color White]
      }
      warp {turbulence 0.2}
      scale 0.25
   }
}

isosurface {
   normal on
   function {
      TestFunction(x, y, z)
   }
   accuracy 0.01
   threshold 0.1
   contained_by {box {<-1.5, -1.5, -1>, <1.5, 1.5, 1>}}
   open
   eval
   texture {
      pigment {color White}
      finish {brilliance 3}
   }
   translate y*1.2
}

-- 
Chris Huff
e-mail: chr### [at] yahoocom
Web page: http://chrishuff.dhs.org/


Post a reply to this message


Attachments:
Download 'blob isosurface.jpg' (22 KB)

Preview of image 'blob isosurface.jpg'
blob isosurface.jpg


 

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