POV-Ray : Newsgroups : povray.general : isosurface function conversion : isosurface function conversion Server Time
30 Jul 2024 12:19:06 EDT (-0400)
  isosurface function conversion  
From: [GDS|Entropy]
Date: 8 Feb 2009 05:46:16
Message: <498eb7f8$1@news.povray.org>
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:

#declare GridCubeOn = true;
#declare use_photons = false;

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

#declare GridCube =
 isosurface {
  function {
   Foo
   }
   threshold 0.0001
   scale 1.6
   bounded_by {
    box {
     -4, 4
     }
    }
    texture {
     pigment {color rgb 0}
    }
     #if (use_photons)
     photons {
      separation 0.02*phd
      #if(refl)
      reflection on
      #end
      ignore_photons
      }
      #end
     }

#declare GridCube1 =
 isosurface {
  function {
   Foo1
   }
   threshold 0.0001
   scale 1.6
   bounded_by {
    box {
     -4, 4
     }
    }
    texture {
     pigment {color rgb 0}
     }
     #if (use_photons)
     photons {
      separation 0.02*phd
      #if(refl)
      reflection on
      #end
      ignore_photons
      }
      #end
     }

#declare GridCube2 =
 isosurface {
  function {
   Foo2
   }
   threshold 0.0001
   scale 1.6
   bounded_by {
    box {
     -4, 4
     }
    }
    texture {
     pigment {color rgb 0}
    }
     #if (use_photons)
     photons {
      separation 0.02*phd
      #if(refl)
      reflection on
      #end
      ignore_photons
      }
      #end
      rotate 90*y
     }

object {
 GridCube
  scale 1000
  translate <0,0,5000>
  }

object {
 GridCube1
  scale 1000
  translate <2000,0,5000>
  }

object {
 GridCube2
  scale 1000
  translate <-2000,0,5000>
  }

#debug "\nFinished Parse Of GridCube:"
#end


Post a reply to this message

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