POV-Ray : Newsgroups : povray.general : isosurface function conversion : Re: isosurface function conversion Server Time
30 Jul 2024 12:19:06 EDT (-0400)
  Re: isosurface function conversion  
From: Mike Williams
Date: 9 Feb 2009 01:22:49
Message: <rlOsvXByt8jJFwhJ@econym.demon.co.uk>
Wasn't it [GDS|Entropy] who wrote:
>Greetings,
>
>Going through my old files, I found an isosurface that I used to produce a
>very interesting shape in an old version of MegaPov I think, but using the
>functions.inc and f_noise3d I get literally nothing. I've tried installing
>old versions of pov and megapov, but I can't seem to locate the correct one,
>maybe someone will recognize the syntax and be able to convert the
>following:

The problem is that that particular function relies on a feature of the
old noise generator which was later considered to be undesirable, and
got fixed. You can resurrect the old noise generator by using
global_settings {noise_generator 1} but even so the details of the
structure aren't identical to what you would have seen with MegaPov 0.3


global_settings {noise_generator 1}
#include "functions.inc"

#if (GridCubeOn)
#declare Foo =
 function {(f_noise3d(8*x, 12*y, .01)*f_noise3d(12*x, .01,
8*z)*f_noise3d(.01,8*y, 12*z))/3}
#declare Foo1 =
      function {f_noise3d(8*x, 12*y, .01)/3*f_noise3d(12*x,
8*y,.01)/3*f_noise3d(8*y, 12*z, .01)/3}
#declare Foo2 =
 function {f_noise3d(8*x, 12*y, .01)/3*f_noise3d(12*x,
8*y,.01)/3*f_noise3d(8*y, 12*z, .01)/3}

#declare GridCube =
 isosurface {
  function {
   Foo(x/1.6,y/1.6,z/1.6)
   }
   threshold 0.0001
   max_gradient 2
   contained_by {
    box {-4, 4}
    }
    texture {
     pigment {color rgb 1}
    }
 }


[I changed the pigment from rgb 0, because otherwise I get nothing but
black in both MegaPov 0.3 and PovRay 3.6]

-- 
Mike Williams
Gentleman of Leisure


Post a reply to this message

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