POV-Ray : Newsgroups : povray.unofficial.patches : Re: Feature requests Server Time
2 Nov 2024 17:21:46 EDT (-0400)
  Re: Feature requests (Message 1 to 1 of 1)  
From: R  Suzuki
Subject: Re: Feature requests
Date: 10 Sep 2002 21:18:19
Message: <3d7e99db@news.povray.org>
"Rohan Bernett" <rox### [at] yahoocom> wrote in message
news:web.3d7d48acdc16a7ab18ccf4f70@news.povray.org...
> http://astronomy.swin.edu.au/~pbourke/curves/

I think the interpolation method of that link is not appropriate
for images or multi-dimensional data.   I implemented another
cubic interpolation method in my patch.
  http://staff.aist.go.jp/r-suzuki/e/povray/iso/df_body.htm

The current version (V03) of my patch has both interpolation methods.
Try following code with different 'interpolate' number.
'interpolate 3' is the method of that link.
'interpolate 2' is the method I implemented for density data.
-----------------------------------------------
#version unofficial dfe 3.5;
#include "functions.inc"

camera { location  <25, 20, -40.0> look_at <0,0,0> direction 45.*z}
light_source { <1,1.4,-1>*5 color rgb <1.4,1.2,1.0>*1.7 }

#declare Density_File=on;
#declare Make_Density_File=on;

#declare DATA3D1=function{
f_noise3d(x*8,y*8,z*8)/4+f_sphere(x-0.5,y-0.5,z-0.5,0)}
#declare DATA3D2= function{ pattern{
    density_file
  #if (Make_Density_File=on)
      function 40,40,40 {DATA3D1(x,y,z)}
      save_file "povdat1.df"
  #else
      df3 "povdat1.df"
  #end
      interpolate 2 // or 3
  }
}

isosurface{
#if (Density_File=on)
   function{ DATA3D2(x,y,z) }
#else
   function{ DATA3D1(x,y,z) }
#end
   contained_by{box{0.05,0.95}}
   max_gradient 3
   threshold 0.4

   texture{ pigment{color rgb 0.7}  finish{phong 0.30 phong_size 90}  }
   translate <-0.5,-0.5,-0.5>
}
-----------------------
R. Suzuki


Post a reply to this message

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