POV-Ray : Newsgroups : povray.unofficial.patches : isosurface(Pov3.5 to Mega0.7) Server Time
1 Nov 2024 01:21:42 EDT (-0400)
  isosurface(Pov3.5 to Mega0.7) (Message 1 to 5 of 5)  
From: Y Tanabe
Subject: isosurface(Pov3.5 to Mega0.7)
Date: 20 Feb 2002 20:27:15
Message: <3C744CDD.F8BA3290@kh.rim.or.jp>
Pov-Ray3.5 beta 11 isosurface converts to Mega0.7

Y.Tanabe
Kobe,Japan

//***  START OF FILE  *************************************************/
// Mega Persistence of Vision Ray Tracer 0.7 Scene Description File
#version unofficial MegaPov 0.7;

//number is from 1 to 78 except 7,8,53
#declare number = 25;

global_settings{ambient_light 0}

camera
{
 location <0,8,-10>
 look_at <0,0,0>
 angle 60
 rotate y*-30
}

light_source
{
 <50,100,-25>,<1.4 1.4 1.1>
 spotlight
 point_at<0,0,0>
 radius 4
 falloff 8
}

light_source{<-1000,1000,500>,<.1 .4 .7>}

#declare IsoTexture = texture {pigment{rgb <.8, 1, 1>}}
#declare ContTexture = texture {pigment {rgb 0.65} finish {ambient 0.35 phong 1.0 
phong_size 40}}

//***  FRAME 1  ***************************************************
#if(number = 1)
 //** f_algbr_cyl1 : lathe form  ************************
 isosurface
 {
  //TFC function  {f_algbr_cyl1(x,y,z,1,1.5,1,0,0)}
  function  {"Algbr_Cyl1", <1,1.5,1,0,0>, library "i_algbr"}
   //P0= Field Strength
   //P1= Field limit
   //P2= SOR switch
   //P3= SOR offset
   //P4= SOR angle
  contained_by {sphere {0,1.1}}
  max_gradient 1.5
  texture {IsoTexture}
  no_shadow
  scale 3  rotate x*-25 translate <3.5,-1,0>
 }
 //** f_algbr_cyl1 : extruded form  ************************
 intersection
 {
  isosurface
  {
   //TFC function  {f_algbr_cyl1(x,y,z,1,1.5,0,0,0)}
   function  {"Algbr_Cyl1", <1,1.5,0,0,0>, library "i_algbr"}
    //P0= Field Strength
    //P1= Field limit
    //P2= SOR switch
    //P3= SOR offset
    //P4= SOR angle
   contained_by {box {<-1.05,-0.4,-0.01>,<1.05,0.4,3>}}
   max_gradient 1.2
   texture {IsoTexture}
   no_shadow
  }
  box {<-1.05,-0.4,-0.01>*0.9999,<1.05,0.4,3>*0.9999  texture {ContTexture}}
  scale 3  rotate x*-10 translate <-3,-1,0>
 }
#end

//***  FRAME 2  ***************************************************
#if(number = 2)
 //** f_algbr_cyl2 : lathe form  ************************
 isosurface
 {
  //TFC function  {-(f_algbr_cyl2(x,y,z,0.3,5,1,0,0))}
  function  {"Algbr_Cyl2",<0.3,5,1,0,0>, library "i_algbr"}
   //P0= Field Strength
   //P1= Field limit
   //P2= SOR switch
   //P3= SOR offset
   //P4= SOR angle
  sign -1
  contained_by {box {<-1.6,-0.01,-1.6>,<1.6,2.4,1.6>}}
  max_gradient 9
  texture {IsoTexture}
  no_shadow
  scale 1.9  rotate x*-15 translate <3.2,-4,0>
 }
 //** f_algbr_cyl2 : extruded form  ************************
 intersection
 {
  isosurface
  {
   //TFC function  {f_algbr_cyl2(x,y,z,-0.3,5,0,0,0)}
   function  {"Algbr_Cyl2", <-0.3,5,0,0,0>, library "i_algbr"}
    //P0= Field Strength
    //P1= Field limit
    //P2= SOR switch
    //P3= SOR offset
    //P4= SOR angle
   sign 1
   accuracy  0.0001
   contained_by {box {<-1.6,-0.01,-0.01>,<1.6,2.4,3>}}
   max_gradient 5.4
   texture {IsoTexture}
   no_shadow
  }
  box {<-1.6,-0.01,-0.01>*0.9999,<1.6,2.4,3>*0.9999  texture {ContTexture}}
  scale 1.9  rotate x*-15 translate <-3.2,-4,0>
 }
#end

//***  FRAME 3  ***************************************************
#if(number = 3)
 //** f_algbr_cyl3 : lathe form  ************************
 isosurface
 {
  //TFC function  {f_algbr_cyl3(x,y,z,-1,3,1,0,0)}
  function  {"Algbr_Cyl3",<-1,3,1,0,0>, library "i_algbr"}
   //P0= Field Strength
   //P1= Field limit
   //P2= SOR switch
   //P3= SOR offset
   //P4= SOR angle
  sign 1
  contained_by {box {<-1.05,-0.01,-1.05>,<1.05,1.3,1.05>}}
  max_gradient 6.5
  texture {IsoTexture}
  no_shadow
  scale 3.2  rotate x*-20  translate <2.7,-3.5,0>
 }
 //** f_algbr_cyl3 : extruded form  ************************
 #declare LCorner = <-1.05,-0.01,-0.01>;
 #declare RCorner = <1.05,1.3,3> ;
 intersection
 {
  isosurface
  {
   //TFC function  {f_algbr_cyl3(x,y,z,-1,3,0,0,0)}
   function  {"Algbr_Cyl3",<-1,3,0,0,0>, library "i_algbr"}
    //P0= Field Strength
    //P1= Field limit
    //P2= SOR switch
    //P3= SOR offset
    //P4= SOR angle
   sign 1
   contained_by {box {LCorner,RCorner }}
   max_gradient 2
   texture {IsoTexture}
   no_shadow
  }
  box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
  scale 3.2  rotate y*-5  rotate x*-10  translate <-4.8,-3.5,0>
 }
 light_source {<-10,4,-0> rgb 0.5 shadowless}
#end

//***  FRAME 4  ***************************************************
#if(number = 4)
 //** f_algbr_cyl4 : lathe form  ************************
 isosurface
 {
  //TFC function  {f_algbr_cyl4(x,y,z,-0.4,5,1,0,0)}
  function  {"Algbr_Cyl4",<-0.4,5,1,0,0>, library "i_algbr"}
   //P0= Field Strength
   //P1= Field limit
   //P2= SOR switch
   //P3= SOR offset
   //P4= SOR angle
  contained_by {sphere {0,1.2}}
  max_gradient 7.1
  texture {IsoTexture}
  no_shadow
  scale 3.3  rotate x*-10  translate <3.5,-0.8,0>
 }
 //** f_algbr_cyl4 : extruded form  ************************
 #declare LCorner = <-0.9,-0.55,-0.01>;
 #declare RCorner = <0.9,1.0,6>;
 intersection
 {
  isosurface
  {
   //TFC function  {f_algbr_cyl4(x,y,z,-0.4,5,0,0,0)}
   function  {"Algbr_Cyl4",<-0.4,5,0,0,0>, library "i_algbr"}
    //P0= Field Strength
    //P1= Field limit
    //P2= SOR switch
    //P3= SOR offset
    //P4= SOR angle
   contained_by {box {LCorner,RCorner}}
   max_gradient 4
   texture {IsoTexture}
   no_shadow
  }
  box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
  scale 3.3  translate <-3.3,-0.8,0>
 }
#end

//***  FRAME 5  ***************************************************
#if(number = 5)
isosurface
{
 //TFC function  {f_bicorn(x,y,z,-0.01,3)}
 function  {"Bicorn",<-0.01,3>,library "i_algbr"}
  //P0= Field strength
  //P1= Y Scale (inverse).
  //The surface is always the same shape. Setting the scale to 1 gives a surface with
a radius of about 1 unit
 contained_by {sphere {0,3}}
 max_gradient 5.0
 texture {IsoTexture}
 no_shadow
 scale 1.5  rotate x*-20
}
#end

//***  FRAME 6  ***************************************************
#if(number = 6)
isosurface
{
 //TFC function  {f_bifolia(x,y,z,-1,3)}
 function  {"Bifolia",<-1,3>,library "i_algbr"}
  //P0= Field Strength
  //P1= Scale. Setting the scale to 3 gives a surface with a radius of about 1 unit
 contained_by {box {<-1.0,-0.01,-1.0>,<1.0,0.8,1.0>}}
 max_gradient 7.3
 texture {IsoTexture}
 no_shadow
 scale 4.5  rotate x*-20
}
#end

//***  FRAME 7  ***************************************************
#if(number = 7)
 #declare LCorner = <-1.9,-1.3,-1.3>;
 #declare RCorner = <1.8,1.3,1.3>;
 isosurface
 {
  function  { f_blob(x,y,z,1.4,1,0.8,1.2,1)}
   //P0= X distance between the 2 components
   //P1= Strength of component 1
   //P2= Radius component 1 (inv)
   //P3= Strength of component 2
   //P4= Radius component 2 (inv)
  threshold  -0.3
  contained_by {box {LCorner,RCorner}}
  max_gradient 1.8
  texture {IsoTexture}
  no_shadow
  scale 4
 }
#end


//***  FRAME 8  ***************************************************
#if(number = 8)
 #declare LCorner = <-0.5,-0.5,-0.5>;
 #declare RCorner = <1.4,0.5,0.5>;
 isosurface
 {
  function  {f_blob2(x,y,z,1,1/0.2,2,1)}
   //P0= Separation (One comp at origin)
   //P1= Size (inv)
   //P2= Strength
   //P3= Threshold
  contained_by {box {LCorner,RCorner}}
  max_gradient 3.9
  texture {IsoTexture}
  no_shadow
  scale 7  translate x*-3.5
 }
#end //number = 51

//***  FRAME 9  ***************************************************
#if(number = 9)
isosurface
{
 //TFC function  {f_boy_surface(x,y,z,-0.001,0.01)}
 function  {"Boy_surface",<-0.001,0.01>,library "i_algbr"}
  //P0= Field Strength. Set extremely low to avoid that the shape breaks up.
  //P1= Scale. The surface is always the same shape.
 contained_by {box {<-1.0,-1.45,-0.1>,<1.5,1.2,2.2>}}
 max_gradient 2.0
 texture {IsoTexture}
 no_shadow
 scale 3  rotate y*15  rotate x*-20
}
#end

//***  FRAME 10  ***************************************************
#if(number = 10)
 #declare LCorner = <-1.0,-0.5,-0.55>;
 #declare RCorner = <1.0,0.6,1.1>;
 isosurface
 {
  //TFC function  {f_comma(x,y,z,1)}
  function {"func_13",<1.0>}
   //P0= size
  contained_by {box {LCorner,RCorner}}
  max_gradient 1.4
  texture {IsoTexture}
  scale 5  rotate y*-30  rotate x*-35  translate y*-1.8
 }
#end

//***  FRAME 11  ***************************************************
#if(number = 11)
 #declare Radius = 2.4;
 isosurface
 {
  //TFC function  {f_cross_ellipsoids(x,y,z,0.05,8,8,1)}
  function {"func_3",<0.1,8,4,1>}
   //P0= Eccentricity
   //P1= Size (inv)
   //P2= Diameter
   //P3= Threshold
  contained_by {sphere {0,Radius}}
  max_gradient 12
  texture {IsoTexture}
  no_shadow
  scale 2  rotate y*25  rotate x*-20
 }
#end

//***  FRAME 12  ***************************************************
#if(number = 12)
 #declare LCorner = <-3.2,-0.1,-2.5>;
 #declare RCorner = <3.2,2,2.5>;
 intersection
 {
  isosurface
  {
   //TFC function  {f_crossed_trough(x,y,z,-0.05)}
   function  {"Crossed_Trough",<-0.05>,library "i_algbr"}
    //P0= Field Strength
   contained_by {box {LCorner,RCorner}}
   max_gradient 0.5
   texture {IsoTexture}
   no_shadow
  }
  box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
  scale 1.8  rotate x*-90
 }
#end

//***  FRAME 13  ***************************************************
#if(number = 13)
 #declare Radius = 8;
 intersection
 {
  isosurface
  {
   //TFC function  {f_cubic_saddle(x,y,z,-0.5)}
   function  {"Cubic_saddle",<-0.5>,library "i_algbr"}
    //P0= Field Strength
   contained_by {sphere {0,Radius}}
   max_gradient 38.1
   texture {IsoTexture}
   no_shadow
  }
  sphere {0,Radius-0.00001  texture {ContTexture}}
  scale 0.8  rotate z*135  rotate x*-20  translate y*1.2
 }
#end

//***  FRAME 14  ***************************************************
#if(number = 14)
isosurface
{
 //TFC function  {f_cushion(x,y,z,-0.25)}
 function  {"Cushion",<-0.25>,library "i_algbr"}
  //P0= Field Strength
 contained_by {box {<-1.1,-1.3,-0.45>,<1.1,1.3,1.2>}}
 max_gradient 2.9
 texture {IsoTexture}
 no_shadow
 scale 3  rotate y*-145
}
#end

//***  FRAME 15  ***************************************************
#if(number = 15)
isosurface
{
 //TFC function  {f_devils_curve(x,y,z,-0.2)}
 function  {"Devils_curve",<-0.2>,library "i_algbr"}
  //P0= Field Strength
 contained_by {box {<-1.2,-1.2,-1.2>,<1.2,1.2,1.2>}}
 max_gradient 2.5
 texture {IsoTexture}
 no_shadow
 scale 4  rotate x*5
}
#end

//***  FRAME 16  ***************************************************
#if(number = 16)
 //**  f_devils_curve_2d  : lathe form  ***********************************
 isosurface
 {
  //TFC function  {f_devils_curve_2d(x,y,z,-1,0.25,0.3,1,0,0)}
  function  {"Devils_curve2D",<-1,0.25,0.3,1,0,0>,library "i_algbr"}
   //P0= Field Strength
   //P1= X factor. The X and Y factors control the size of the central feature
   //P2= Y factor
   //   If the X factor is slightly stronger than the Y factor,then the side pieces
   //   are linked to the central piece by a horizontal bridge at each corner.
   //   If the Y factor is slightly greater than the X factor,then there is a vertical
   //   gap between the side pieces and the central piece at each corner.
   //   If the X and Y factors are equal each of the four corners meets at a point.
   //P3= SOR switch
   //P4= SOR offset
   //P5= SOR angle
  contained_by {box {<-0.7,-0.8,-0.8>,<0.7,0.7,0.7>}}
  max_gradient 3.3
  texture {IsoTexture}
  no_shadow
  scale 4.2  rotate x*-2 translate <3.3,-0.5,0>
 }
 //**  f_devils_curve_2d  : extruded form  **********************************
 #declare LCorner = <-0.7,-0.8,-0.01>;
 #declare RCorner = <0.7,0.7,6>;
 intersection
 {
  isosurface
  {
   //TFC function  {f_devils_curve_2d(x,y,z,-1,0.25,0.3,0,0,0)}
   function  {"Devils_curve2D",<-1,0.25,0.3,0,0,0>,library "i_algbr"}
    //P0= Field Strength
    //P1= X factor. The X and Y factors control the size of the central feature
    //P2= Y factor
    //   If the X factor is slightly stronger than the Y factor,then the side pieces
    //   are linked to the central piece by a horizontal bridge at each corner.
    //   If the Y factor is slightly greater than the X factor,then there is a
vertical
    //   gap between the side pieces and the central piece at each corner.
    //   If the X and Y factors are equal each of the four corners meets at a point.
    //P3= SOR switch
    //P4= SOR offset
    //P5= SOR angle
   contained_by {box {LCorner,RCorner}}
   max_gradient 1.5
   texture {IsoTexture}
   no_shadow
  }
  box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
  scale 4.2  rotate x*-2 translate <-3.3,-0.5,0>
  no_shadow
 }
#end

//***  FRAME 17  ***************************************************
#if(number = 17)
isosurface
{
 //TFC function  {f_dupin_cyclid(x,y,z,-.05,0.27,0.04,0.55,0.0,1.0)}
 function  {"Dupin_Cyclid",<-0.05,0.27,0.04,0.55,0.0,1.0>,library "i_algbr"}
  //P0= Field Strength
  //P1= Major radius of torus
  //P2= Minor radius of torus
  //P3= X displacement of torus
  //P4= Y displacement of torus
  //P5= radius of inversion
 contained_by {box {<1.0,-0.6,-1.6>,<4.3,0.6,1.6>}}
 max_gradient 2.1
 texture {IsoTexture}
 no_shadow
 scale 1.5  rotate x*-90
}
#end

//***  FRAME 18  ***************************************************
#if(number = 18)
 #declare Radius = 1.0;
 isosurface
 {
  //TFC function  {f_ellipsoid(x,y,z,1/0.95,1/0.3,1/0.95)}
  function {"func_0",<1/0.95,1/0.3,1/0.95>}
   //P0= X scale (inv)
   //P1= Y scale (inv)
   //P2= Z scale (inv)
  threshold  1
  contained_by {sphere {0,Radius}}
  max_gradient 2.7
  texture {IsoTexture}
  no_shadow
  scale 5.5  rotate x*-25  translate y*-1
 }
#end

//***  FRAME 19  ***************************************************
#if(number = 19)
isosurface
{
 //TFC function  {f_enneper(x,y,z,-0.1)}
 function  {"Enneper",<-0.1>,library "i_algbr"}
  //P0= Field Strength
 contained_by {box {<-3.5,-3.5,-3.8>,<3.5,3.5,-0.25>}}
 max_gradient 85
 texture {IsoTexture}
 no_shadow
 scale 1.1  rotate y*15
}
#end

//***  FRAME 20  ***************************************************
#if(number = 20)
 #declare Radius = 1.6;
 isosurface
 {
  //TFC function  {f_flange_cover(x,y,z,0.01,35,1.5,1.2)}
  function {"func_2",<0.01,35,1.5,1.2>}
   //P0= Spikiness (1= sph; <= spikes)
   //P1= Size (inv)
   //P2= Flange (1= no; >=flanges)
   //P3= Threshold
  contained_by {sphere {0,Radius}}
  max_gradient 11
  texture {IsoTexture}
  no_shadow
  scale 3.45  rotate y*15  rotate x*-30  translate y*-0.1
 }
#end

//***  FRAME 21  ***************************************************
#if(number = 21)
 #declare LCorner = <-0.0,-0.9,-0.9>;
 #declare RCorner = <0.8,0.9,0.9>;
 intersection
 {
  isosurface
  {
   //TFC function  {f_folium_surface(x,y,z,-0.02,15,15)}
   function  {"Folium_surface",<-0.02,15,15>,library "i_algbr"}
    //P0= Field Strength
    //P1= Neck width factor - the larger you set this,the narrower the neck where the
paraboloid meets the plane
    //P2= Divergence - the higher the value,the wider the paraboloid gets
   contained_by {box {LCorner,RCorner }}
   max_gradient 1.3
   texture {IsoTexture}
   no_shadow
  }
  box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
  scale 5.5  rotate z*90  rotate x*-25  translate y*-1.5
  no_shadow
 }
#end

//***  FRAME 22  ***************************************************
#if(number = 22)
 //**  f_folium_surface_2d  : lathe form  **************************************
 #declare LCorner = <-0.7,-0.8,-0.7>;
 #declare RCorner = <0.7,0.8,0.7>;
 intersection
 {
  isosurface
  {
   //TFC function  {f_folium_surface_2d(x,y,z,-0.01,12,20,1,0,0)}
   function  {"Folium_surface2D",<-0.01,12,20,1,0,0>,library "i_algbr"}
    //P0= Field Strength
    //P1= Neck width factor - same as 3d surface if you're revolving it around the Y
axis
    //P2= Divergence - same as 3d surface if you're revolving it around the Y axis
    //P3= SOR switch
    //P4= SOR offset
    //P5= SOR angle
   contained_by {box {LCorner,RCorner}}
   max_gradient 0.5
   texture {IsoTexture}
   no_shadow
  }
  box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
  scale 5  rotate x*3  translate <2.5,-0.5,0>
  no_shadow
 }
 //**  f_folium_surface_2d  : extruded form  **************************************
 #declare LCorner = <-0.7,-0.8,-0.01>;
 #declare RCorner = <0.7,0.8,3>;
 intersection
 {
  isosurface
  {
   //TFC function  {f_folium_surface_2d(x,y,z,-0.01,12,20,0,0,0)}
   function  {"Folium_surface2D",<-0.01,12,20,0,0,0>,library "i_algbr"}
    //P0= Field Strength
    //P1= Neck width factor - same as 3d surface if you're revolving it around the Y
axis
    //P2= Divergence - same as 3d surface if you're revolving it around the Y axis
    //P3= SOR switch
    //P4= SOR offset
    //P5= SOR angle
   contained_by {box {LCorner,RCorner}}
   max_gradient 0.3
   texture {IsoTexture}
  }
  box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
  scale 5  rotate x*3  translate <-5.5,-0.5,0>
  no_shadow
 }
#end

//***  FRAME 23  ***************************************************
#if(number = 23)
isosurface
{
 //TFC function  {f_glob(x,y,z,-1)}
 function  {"Glob",<-1.0>,library "i_algbr"}
  //P0= Field Strength
 contained_by {box {<-1.0,-1.5,-1.6>,<1.5,1.5,1.6>}}
 max_gradient 6.5
 texture {IsoTexture}
 no_shadow
 scale 3.7  rotate z*90  rotate x*10
}
#end

//***  FRAME 24  ***************************************************
#if(number = 24)
 isosurface
 {
  //TFC function  {f_heart(x,y,z,-0.001)}
  function  {"Heart",<-0.001>,library "i_algbr"}
   //P0= Field Strength
  contained_by {box {<-0.8,-1.2,-1.1>,<0.8,1.2,1.3>}}
  max_gradient 0.1
  texture {IsoTexture}
  no_shadow
  scale 3  rotate y*-90  rotate z*-90
 }
#end

//***  FRAME 25  ***************************************************
#if(number = 25)
 #declare LCorner = <-3.7,-1.7,-3.7>;
 #declare RCorner = <3.7,1.7,3.7>;
 isosurface
 {
  //TFC function  {f_helical_torus(x,y,z,2,7,1,0.1,1,0.5,1,6,2.0,0)}
  function {"func_12",<2,7,1,0.1,1,0.5,1,6,2.0,0>}
   //P0= Major radius
   //P1= Nr of winding loops
   //P2= Twistness winding
   //P3= Flatness of winding?
   //P4= Threshold
   //P5= Negative minor radius?
   //P6= Another fatness of winding control
   //P7= Groove period
   //P8= Groove amplitude
   //P9= Groove phase
  contained_by {box {LCorner,RCorner}}
  max_gradient 13
  texture {IsoTexture}
  no_shadow
  scale 1.7  rotate x*-45
 }
#end

//***  FRAME 26  ***************************************************
#if(number = 26)
 #declare LCorner = <-1.5,-2.9,-1.5>;
 #declare RCorner = <1.5,2.9,1.5>;
 isosurface
 {
  //TFC function {f_helix1(x,y,z,1,8,0.3,0.9,0.6,0.2,0)}
  function {"helix1",<1,8,0.3,0.9,0.6,0.2,0>}
   //P0= number of helixes
   //P1= frequency
   //P2= minor radius
   //P3= major radius
   //P4= Y scale cross section
   //P5= cross section

  contained_by {box {LCorner,RCorner}}
  max_gradient 1.5
  texture {IsoTexture}
  no_shadow
   scale 1.9  rotate z*-54
 }
#end

//***  FRAME 27  ***************************************************
#if(number = 27)
 #declare LCorner = <-1,-2.9,-1>;
 #declare RCorner = <1,2.9,1>;
 isosurface
 {
  //TFC function {f_helix2(x,y,z,0,8,0.35,0.4,0,0.5,0)}
  function {"helix2",<0,8,0.35,0.4,0,0.5,0>}
   //P0= not used
   //P1= frequency
   //P2= minor radius
   //P3= major radius
   //P4= not used
   //P5= cross section

  contained_by {box {LCorner,RCorner}}
  max_gradient 4.3
  texture {IsoTexture}
  no_shadow
  scale 2.2  rotate z*-54
 }
#end

//***  FRAME 28  ***************************************************
#if(number = 28)
 #declare LCorner = <-4,-4,-4>;
 #declare RCorner = <4,4,4>;
 isosurface
 {
  //TFC function {f_hex_x(x,y,z,1)}
  function{"hex_x",<1.0>}
   //P0= not used
  threshold 0.6
  contained_by {box {LCorner,RCorner}}
  max_gradient 1
  texture {IsoTexture}
  no_shadow
 }
#end

//***  FRAME 29  ***************************************************
#if(number = 29)
 #declare LCorner = <-4,-4,-4>;
 #declare RCorner = <4,4,4>;
 isosurface
 {
  //TFC function {f_hex_y(x,y,z,1)}
  function{"hex_y",<1.0>}
   //P0= not used
  threshold 0.1
  contained_by {box {LCorner,RCorner}}
  max_gradient 1
  texture {IsoTexture}
  no_shadow
 }
#end

//***  FRAME 30  ***************************************************
#if(number = 30)
 #declare Radius = 1.5;
 intersection
 {
  isosurface
  {
   //TFC function {f_hetero_mf(x,y,z,1.1,2.05,15,0.26,0.01,1)}
   function {"heteroMF",<1.1,2.05,15,0.26,0.01,1>}
    //P0= H
    //P1= lacunarity
    //P2= octaves
    //P3= offset
    //P4= T
    //P5= noise generator type
   contained_by {sphere {0,Radius}}
   max_gradient 5.5
   texture {IsoTexture}
   no_shadow
  }
  sphere {0,Radius-0.00001  texture {ContTexture}}
  scale 4.3  translate y*-1.7
 }
#end

//***  FRAME 31  ***************************************************
#if(number = 31)
isosurface
{
 //TFC function  {f_hunt_surface(x,y,z,-0.01)}
 function  {"Hunt_surface",<-0.01>,library "i_algbr"}
  //P0= Field Strength
 contained_by {sphere {0,3.8}}
 max_gradient 84
 texture {IsoTexture}
 no_shadow
 scale 1.2  rotate y*-45
}
#end

//***  FRAME 32  ***************************************************
#if(number = 32)
isosurface
{
 //TFC function  {f_hyperbolic_torus(x,y,z,-0.005,1,0.6)}
 function  {"Hyperbolic_torus",<-0.005,1,0.6>,library "i_algbr"}
  //P0= Field Strength
  //P1= Major radius: separation between the centres of the tubes at the closest point
  //P2= Minor radius: thickness of the tubes at the closest point
 contained_by {box {<-4,-0.9,-4>,<4,0.9,4>}}
 max_gradient 0.9
 texture {IsoTexture}
 no_shadow
 scale 1.5  rotate x*-90
}
#end

//***  FRAME 33  ***************************************************
#if(number = 33)
 #declare Radius = 0.9;
 isosurface
 {
  //TFC function  {f_isect_ellipsoids(x,y,z,5,1,18,1)}
  function {"func_4",<5,1,18,1>}
   //P0= Eccentricity
   //P1= Size (inv)
   //P2= Diameter
   //P3= Threshold
  contained_by {sphere {0,Radius}}
  max_gradient 20
  texture {IsoTexture}
  scale 5  rotate y*25  rotate x*-20
  no_shadow
 }
#end

//***  FRAME 34  ***************************************************
#declare ContainerOn = off;
#declare SphereOn = 0;
#if(number = 34)
 #declare LCorner = <-1.0,-1.5,-1.5>;
 #declare RCorner = <1.0,1.5,1.5>;
 intersection
 {
  isosurface
  {
   //TFC function  {f_kampyle_of_eudoxus(x,y,z,-0.001,0.01,2)}
   function  {"Kampyle_of_Eudoxus",<-0.001,0.01,2>,library "i_algbr"}
    //P0= Field Strength
    //P1= Dimple: When zero,the two dimples punch right through and meet at the
centre. Non-zero values give less dimpling
    //P2= Closeness: Higher values make the two planes become closer
   contained_by {box {LCorner,RCorner}}
   max_gradient 0.04
   texture {IsoTexture}
   no_shadow
  }
  box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
  scale 3.8  rotate z*90
  no_shadow
 }
#end

//***  FRAME 35  ***************************************************
#if(number = 35)
 //**  f_kampyle_of_eudoxus_2d  : lathe form  *****************************
 #declare LCorner = <-1.6,-1.1,-1.6>;
 #declare RCorner = <1.6,1.15,1.6>;
 intersection
 {
  isosurface
  {
   //TFC function  {f_kampyle_of_eudoxus_2d(x,y,z,-0.001,0,2,1,0,90)}
   function  {"Kampyle_of_Eudoxus2D",<-0.001,0,2,1,0,90>,library "i_algbr"}
    //P0= Field Strength
    //P1= Dimple: When zero,the two dimples punch right through and meet at the
centre. Non-zero values give less dimpling
    //P2= Closeness: Higher values make the two planes become closer
    //P3= SOR switch
    //P4= SOR offset
    //P5= SOR angle
   contained_by {box {LCorner,RCorner}}
   max_gradient 0.2
   texture {IsoTexture}

  }
  box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture} }
  scale 1.9  rotate x*-1  translate <3,-1,0>
  no_shadow
 }
 //**  f_kampyle_of_eudoxus_2d  : extruded form  *****************************
 #declare LCorner = <-1.1,-1.6,-0.01>;
 #declare RCorner = <1.15,1.6,8>;
 intersection
 {
  isosurface
  {
   //TFC function  {f_kampyle_of_eudoxus_2d(x,y,z,-0.001,0,2,0,0,0)}
   function  {"Kampyle_of_Eudoxus2D",<-0.001,0,2,0,0,0>,library "i_algbr"}
    //P0= Field Strength
    //P1= Dimple: When zero,the two dimples punch right through and meet at the
centre. Non-zero values give less dimpling
    //P2= Closeness: Higher values make the two planes become closer
    //P3= SOR switch
    //P4= SOR offset
    //P5= SOR angle
   contained_by {box {LCorner,RCorner}}
   max_gradient 0.05
   texture {IsoTexture}
   no_shadow
  }
  box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
  scale 1.9  rotate z*90 rotate x*-1  translate <-3.6,-1,0>
  no_shadow
 }
 light_source {<0,-1,-0.5> rgb 0.3 shadowless}
#end

//***  FRAME 36  ***************************************************
#if(number = 36)
 isosurface
 {
  //TFC function  {f_klein_bottle(x,y,z,-0.0005)}
  function  {"Klein_Bottle",<-0.0005>,library "i_algbr"}
   //P0= Field strength
  contained_by {sphere {0,4.2}}
  max_gradient 2.7
  texture {IsoTexture}
  no_shadow
  scale 1.3  rotate y*110  rotate x*5
 }
#end

//***  FRAME 37  ***************************************************
#if(number = 37)
 #declare LCorner = <-7.4,-7.4,-7.4>;
 #declare RCorner = <7.4,7.4,7.4>;
 intersection
 {
  isosurface
  {
   //TFC function  {f_kummer_surface_v1(x,y,z,-0.01)}
   function  {"Kummer_Surface_V1",<-0.01>,library "i_algbr"}
    //P0= Field Strength
   contained_by {box {LCorner,RCorner}}
   max_gradient 8.3
   texture {IsoTexture}
   no_shadow
  }
  box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
  scale 0.55  rotate y*-25
 }
#end

//***  FRAME 38  ***************************************************
#if(number = 38)
 isosurface
 {
  //TFC function  {f_kummer_surface_v2(x,y,z,-0.0005,-0.3,-0.97,0)}
  function  {"Kummer_Surface_V2",<-0.0005,-0.3,-0.97,0>,library "i_algbr"}
   //P0= Field Strength
   //P1= Rod width (negative): Setting this parameter to larger negative values
increases the diameter of the rods
   //P2= Divergence (negative): Setting this number to -1 causes the rods to become
approximately cylindrical.
   //   Larger negative values cause the rods to become fatter further from the origin
   //   Smaller negative values cause the rods to become narrower away from the
origin,and have a finite length
   //P3= Influences the length of half of the rods. Changing the sign affects the
other half of the rods. 0 has no effect
  contained_by {box {-3.8,3.8}}
  max_gradient 0.2
  texture {IsoTexture}
  no_shadow
  scale 1.1  rotate y*25  rotate x*-5
 }
#end

//***  FRAME 39  ***************************************************
#if(number = 39)
 isosurface
 {
  //TFC function  {f_lemniscate_of_gerono(x,y,z,-0.1)}
  function  {"Lemniscate_of_Gerono",<-0.1>,library "i_algbr"}
   //P0= Field Strength
  contained_by {box {<-1.05,-0.55,-0.55>,<1.05,0.55,0.55>}}
  max_gradient 0.3
  texture {IsoTexture}
  no_shadow
  scale 6  rotate y*15
 }
#end

//***  FRAME 40  ***************************************************
#if(number = 40)
 //** f_ lemniscate_of_gerono_2d  : lathe form  **********************************
 #declare LCorner = <-3,-1,-3>;
 #declare RCorner = <3,1,3>;
 isosurface
 {
  //TFC function  {f_lemniscate_of_gerono_2d(x,y,z,-0.1,1,1,1,2,-45)}
  function  {"Lemniscate_of_Gerono2D",<-0.1,1,1,1,2,-45>,library "i_algbr"}
   //P0= Field Strength
   //P1= Size: increasing this makes the 2d curve larger and less rounded
   //P2= Width: increasing this makes the 2d curve flatter
   //P3= SOR switch
   //P4= SOR offset
   //P5= SOR angle
  contained_by {box {LCorner,RCorner}}
  max_gradient 2.8
  texture {IsoTexture}
  scale 1.4  rotate x*-15  translate <2.0,-2.4,0>
  no_shadow
 }
 //**  f_lemniscate_of_gerono_2d  : extruded form 
************************************
 #declare LCorner = <-3,-1,-0.01>;
 #declare RCorner = <3,1,8>;
 intersection
 {
  isosurface
  {
   //TFC function  {f_lemniscate_of_gerono_2d(x,y,z,-0.1,1,1,0,2,-45)}
   function  {"Lemniscate_of_Gerono2D",<-0.1,1,1,0,2,-45>,library "i_algbr"}
    //P0= Field Strength
    //P1= Size: increasing this makes the 2d curve larger and less rounded
    //P2= Width: increasing this makes the 2d curve flatter
    //P3= SOR switch
    //P4= SOR offset
    //P5= SOR angle
   contained_by {box {LCorner,RCorner}}
   max_gradient 5
   texture {IsoTexture}
   no_shadow
  }
  box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
  scale 1.4  rotate z*45  rotate x*-3  translate <-4.8,-2.4,0>
  no_shadow
 }
#end

//***  FRAME 41  ***************************************************
#if(number = 41)
 #declare LCorner = <-1,-0.05,-1>;
 #declare RCorner = <1,0.05,1>;
 intersection
 {
  isosurface
  {
   //TFC function {f_mesh1(x,y,z,1/8,1/8,1/10,0.01,1/10)}
   function {"mesh1",<1/8,1/8,1/10,0.01,1/10>}
    //P0= X frequency
    //P1= Z frequency
    //P2= scale (X-Z)
    //P3= amplitude
    //P4= scale Y
   threshold  0.001
   contained_by {box {LCorner,RCorner}}
   max_gradient 0.2
   texture {IsoTexture}
   no_shadow
  }
  box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
  scale 6  rotate x*-30
 }
#end

//***  FRAME 42  ***************************************************
#if(number = 42)
isosurface
{
 //TFC function  {f_mitre(x,y,z,-0.5)}
 function  {"Mitre",<-0.5>,library "i_algbr"}
  //P0= Field Strength
 contained_by {box {<-0.4,-1,-1>,<0.4,1,1>}}
 max_gradient 3.1
 texture {IsoTexture}
 no_shadow
 scale 4.5  rotate y*-45
}
#end

//***  FRAME 43  ***************************************************
#if(number = 43)
 #declare LCorner = <-10,-4,-4>;
 #declare RCorner = <6,4,4>;
 intersection
 {
  isosurface
  {
   //TFC function  {f_nodal_cubic(x,y,z,-0.005)}
   function  {"Nodal_cubic",<-0.005>,library "i_algbr"}
    //P0= Field Strength
   contained_by {box {LCorner,RCorner}}
   max_trace 3
   max_gradient 0.4
   texture {IsoTexture}
   no_shadow
  }
  box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
  scale 0.9  rotate <0,110,0>
  no_shadow
 }
#end

//***  FRAME 44  ***************************************************
#if(number = 44)
isosurface
{
 //TFC function  {f_odd(x,y,z,-0.1)}
 function  {"Odd",<-0.1>,library "i_algbr"}
  //P0= Field Strength
 contained_by {box {<-1.05,-1.3,-0.45>,<1.05,1.3,1.1>}}
 max_gradient 1.0
 texture {IsoTexture}
 no_shadow
 scale 3.5  rotate y*-45  translate x*0.8
}
#end

//***  FRAME 45  ***************************************************
#if(number = 45)
isosurface
{
 //TFC function  {f_ovals_of_cassini(x,y,z,-0.1,0.4,0.18,6)}
 function  {"Ovals_of_Cassini",<-0.1,0.4,0.18,6>,library "i_algbr"}
  //P0= Field strength
  //P1= Major radius - like the major radius of a torus
  //P2= Filling. Zero for a torus. With higher values the hole in the middle starts to
fill up. Even higher values give an ellipsoid with a
dimple
  //P3= Thickness. Higher values give plumper results
 contained_by {box {<-0.82,-0.35,-0.82>,<0.82,0.35,0.82>}}
 max_gradient 0.4
 texture {IsoTexture}
 no_shadow
 scale 6  rotate x*-45
}
#end

//***  FRAME 46  ***************************************************
#if(number = 46)
isosurface
{
 //TFC function  {f_paraboloid(x,y,z,-1)}
 function  {"Paraboloid",<-1.0>,library "i_algbr"}
  //P0= Field Strength
 contained_by {box {<-1.4,-0.1,-1.4>,<1.4,1.9,1.4>}}
 max_gradient 3.2
 texture {IsoTexture}
 no_shadow
 scale 3.5  rotate x*20  translate y*-3.5
}
#end

//***  FRAME 47  ***************************************************
#if(number = 47)
isosurface
{
 //TFC function  {f_parabolic_torus(x,y,z,-0.1,0.4,0.5)}
 function  {"Parabolic_Torus",<-0.1,0.4,0.5>,library "i_algbr"}
  //P0= Field Strength
  //P1= Major radius
  //P2= Minor radius
 contained_by {box {<-1.4,-0.4,-0.4>,<1.4,0.4,1.2>}}
 max_gradient 0.7
 texture {IsoTexture}
 no_shadow
 scale 4.5  rotate x*-92  rotate y*-8  translate y*-1.6
}
#end

//***  FRAME 48  ***************************************************
#if(number = 48)
 #declare Radius = 4;
 intersection
 {
  isosurface
  {
   //TFC function  {f_ph(x,y,z)}
   function {"PH"}
   threshold 0.5
   contained_by {sphere {0,Radius}}
   max_gradient 2
   texture {IsoTexture}
  }
  sphere {0,Radius - 0.0001  texture {ContTexture}}
 }
#end

//***  FRAME 49  ***************************************************
#if(number = 49)
isosurface
{
 //TFC function  {f_pillow(x,y,z,1)}
 function  {"Pillow",<1.0>,library "i_algbr"}
  //P0= Field Strength
 contained_by {box {<-1.2,-1.2,-1.2>,<1.2,1.2,1.2>}}
 max_gradient 5.9
 texture {IsoTexture}
 no_shadow
 scale 2.7  rotate y*45  rotate x*-20
}
#end

//***  FRAME 50  ***************************************************
#if(number = 50)
isosurface
{
 //TFC function  {f_piriform(x,y,z,0.7)}
 function  {"Piriform", <0.7>, library "i_algbr"}
  //P0= Field Strength
 contained_by {box {<-0,-0.4,-0.4>,<1,0.4,0.4>}}
 max_gradient 0.9
 texture {IsoTexture}
 no_shadow
 scale 10  rotate y*-20  translate x*-4
}
#end

//***  FRAME 51  ***************************************************
#if(number = 51)
 //**  f_piriform_2d  : lathe form  ****************************************
 #declare LCorner = <-0.4,-0.1,-0.4>;
 #declare RCorner = <0.4,1.1,0.4>;
 isosurface
 {
  //TFC function  {f_piriform_2d(x,y,z,-1,1,-1,0.9,1,0,-90)}
  function  {"Piriform2D",<-1,1,-1,0.9,1,0,-90>,library "i_algbr"}
   //P0= Field Strength
   //P1= Size factor1: increasing this makes the curve larger
   //P2= Size factor 2: making this less negative makes the curve larger but also
thinner
   //P3= Flatness: increasing this makes the curve fatter
   //P4= SOR switch
   //P5= SOR offset
   //P6= SOR angle
  contained_by {box {LCorner,RCorner}}
  max_gradient 1.4
  texture {IsoTexture}
  scale 7.5  translate <3,-4.6,0>
  no_shadow
 }
 //**  f_piriform_2d  : extruded form   ************************************
 #declare LCorner = <-0.4,-0.4,-0.01>;
 #declare RCorner = <1.1,0.4,7>;
 intersection
 {
  isosurface
  {
   //TFC function  {f_piriform_2d(x,y,z,-1,1,-1,0.9,0,0,0)}
   function  {"Piriform2D",<-1,1,-1,0.9,0,0,0>,library "i_algbr"}
    //P0= Field Strength
    //P1= Size factor1: increasing this makes the curve larger
    //P2= Size factor 2: making this less negative makes the curve larger but also
thinner
    //P3= Flatness: increasing this makes the curve fatter
    //P4= SOR switch
    //P5= SOR offset
    //P6= SOR angle
   contained_by {box {LCorner,RCorner}}
   max_gradient 0.8
   texture {IsoTexture}
  }
  box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
  scale 7.5  rotate z*90 rotate y*1  translate <-3.3,-4.6,0>
 }
#end

//***  FRAME 52  ***************************************************
#if(number = 52)
 #declare LCorner = <-0.3,0,-0.3>;
 #declare RCorner = <0.3,1,0.3>;
 isosurface
 {
  //TFC function  {f_poly4(x,y,z,0,1,-1,0,0)}
  function {"func_9",<0,1,-1,0,0>}
   //P0= Constant
   //P1= Y coefficient
   //p2= Y2 coefficient
   //p3= Y3 coefficient
   //p4= Y4 coefficient
  contained_by {box {LCorner,RCorner}}
  max_gradient 1.4
  texture {IsoTexture}
  scale 8  translate y*-4
  no_shadow
 }
#end

//***  FRAME 53  ***************************************************
#if(number = 53)
 #declare Radius = 4;
 intersection
 {
  isosurface
  {
   function  {f_polytubes(x,y,z,8,-1,-1/100,-0.02,0.1,-0.25)}
    //P0= nr of wires
    //P1= radial onset (around Y) inverse
    //P2= radial scale (around Y)
    //P3= profile shape
       //positive values = parabolish becoming sharper ith higher values
    //P4= amplitude pos/neg part of profile
    //P5= amplitude profile
   threshold 0.4
   contained_by {sphere {0,Radius}}
   max_gradient 28
   texture {IsoTexture}
   no_shadow
  }
  sphere {0,Radius-0.00001  texture {ContTexture}}
  scale 1.6  rotate y*2 rotate x*-18
 }
#end

//***  FRAME 54  ***************************************************
#if(number = 54)
 #declare LCorner = <-5.5,-7.3,-5.5>;
 #declare RCorner = <5.5,7.3,5.5>;
 isosurface
 {
  //TFC function  {f_quantum(x,y,z,0)}
  function {"func_11",<0>}
   //P0= Not used
  contained_by {box {LCorner,RCorner}}
  max_gradient 6
  texture {IsoTexture}
  scale 0.7  rotate x*-20
  no_shadow
 }
#end

//***  FRAME 55  ***************************************************
#if(number = 55)
isosurface
{
 //TFC function  {f_quartic_paraboloid(x,y,z,-0.01)}
 function  {"Quartic_paraboloid",<-0.01>,library "i_algbr"}
  //P0= Field Strength
 contained_by {box {<-1.45,-0.1,-1.45>,<1.45,2.5,1.45>}}
 max_gradient 0.2
 texture {IsoTexture}
 no_shadow
 scale 3  rotate y*45  rotate x*20  translate y*-4
}
#end

//***  FRAME 56  ***************************************************
#if(number = 56)
 #declare LCorner = <-3.5,-3.0,-3.5>;
 #declare RCorner = <3.5,3.0,3.5>;
 intersection
 {
  isosurface
  {
   //TFC function  {f_quartic_saddle(x,y,z,0.05)}
   function  {"Quartic_saddle",<0.05>,library "i_algbr"}
    //P0= Field Strength
   contained_by {box {LCorner,RCorner}}
   max_gradient 11
   texture {IsoTexture}
  }
  box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
  scale 1.2  rotate y*5  rotate x*-15
  no_shadow
 }
#end

//***  FRAME 57  ***************************************************
#if(number = 57)
isosurface
{
 //TFC function  {f_quartic_cylinder(x,y,z,-1,0.8,0.2)}
 function  {"Quartic_Cylinder",<-1,0.8,0.2>,library "i_algbr"}
  //P0= Field Strength
  //P1= Diameter of the "bubble"
  //P2= Controls the width of the tube and the vertical scale of the "bubble"
 contained_by {box {<-0.85,-2.5,-0.85>,<0.85,2.5,0.85>}}
 max_gradient 8.8
 texture {IsoTexture}
 scale 2.0
 no_shadow
}
#end

//***  FRAME 58  ***************************************************
#if(number = 58)
isosurface
{
 //TFC function  {f_r(x,y,z)}
 function {"R"}
 threshold 0.7
 contained_by {sphere {0,0.75}}
 max_gradient 1
 texture {IsoTexture}
 scale 5
}
#end

//***  FRAME 59  ***************************************************
#if(number = 59)
 #declare Radius = 4;
 #declare FUNC1 = function {"sphere",<Radius - 0.5>}
 #declare FUNC2 = function {"ridge",<1,3,1,0.2,0,0>}
 isosurface
 {
  //TFC function  {f_sphere(x,y,z,(Radius-0.5)) +
(-f_ridge(x*3,y*3,z*3,1,3,1,0.2,0,0)*0.9)}
  function  {FUNC1(x,y,z) + (FUNC2(x*3,y*3,z*3) * -0.9)}
   //P0= Lambda
   //P1= Octaves
   //P2= Omega
   //P3= Offset
   //P4= Ridge
   //P5= noise generator type [0,1,2,3]
  contained_by {sphere {0,Radius*1.1}}
  max_gradient 5
  texture {IsoTexture}
 }
#end

//***  FRAME 60  ***************************************************
#if(number = 60)
 #declare Radius = 4;
 #declare FUNC1 = function {"sphere",<Radius - 0.5>}
 #declare FUNC2 = function {"ridgedMF",<2,3,1,0.1,1,0>}
 isosurface
 {
  //TFC function  {f_sphere(x,y,z,Radius-0.5) +
(-f_ridged_mf(x*2,y*2,z*3,2,3,1,0.1,1,0) * 2)}
  function  {FUNC1(x,y,z) + (FUNC2(x*2,y*2,z*3) * -2)}
   //P0= H
   //P1= Lacunarity
   //P2= Octaves
   //P3= Offset
   //P4= Gain
   //P5= noise generator type [0,1,2,3]
  contained_by {sphere {0,Radius*1.1}}
  max_gradient 10
  texture {IsoTexture}
 }
#end

//***  FRAME 61  ***************************************************
#if(number = 61)
 #declare LCorner = <-1.1,-1.1,-1.1>;
 #declare RCorner = <1.1,1.1,1.1>;
 isosurface
 {
  //TFC function {f_rounded_box(x,y,z,0.3,1,1,1)}
  function {"rounded_box",<0.3,1,1,1>}
   //P0= radius rounded corner
   //P1= scale x
   //P2= scale y
   //P3= scale z
  contained_by {box {LCorner,RCorner}}
  max_gradient 1
  texture {IsoTexture}
  scale 3  rotate y*-35  rotate x*-20  translate <0,0,0>
  no_shadow
 }
#end

//***  FRAME 62  ***************************************************
#if(number = 62)
 #declare Radius = 1.01;
 isosurface
 {
  //TFC function {f_sphere(x,y,z,1)}
  function {"sphere",<1.0>}
   //P0= Radius
  contained_by {sphere {0,Radius}}
  max_gradient 1.0
  texture {IsoTexture}
  scale 4
  no_shadow
 }
#end

//***  FRAME 63  ***************************************************
#if(number = 63)
 #declare Radius = 2.5;
 isosurface
 {
  //TFC function  {f_spikes(x,y,z,0.04,5.6,-4,0.1,1)}
  function {"func_5",<0.04,5.6,-4,0.1,1>}
   //P0= Spikiness
   //P1= Hollowness
   //P2= Size (<0 with thresh 0)
   //P3= Roundness
   //P4= Fatness
  contained_by {sphere {0,Radius}}
  max_gradient 11
  texture {IsoTexture}
  scale 2  rotate y*30  rotate x*-18
  no_shadow
 }
#end

//***  FRAME 64  ***************************************************
#if(number = 64)
 #declare LCorner = <-1.2, -0.2,-1.2>;
 #declare RCorner = <1.2,0.7,1.2>;
 intersection
 {
  isosurface
  {
   //TFC function  {f_spikes_2d(x,y,z,0.7,15,15,2.2)}
   function {"func_10",<0.7,15,15,2.2>}
    //P0= Height central spike
    //P1= X frequency of spikes
    //P2= Z frequency of spikes
    //P3= Height dimming from center
   accuracy  0.0001
   contained_by {box {LCorner,RCorner}}
   max_gradient 10
   texture {IsoTexture}
   no_shadow
  }
  box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
  scale 4.9  rotate x*-25  translate y*-0.7
 }
#end

//***  FRAME 65  ***************************************************
#if(number = 65)
 #declare LCorner = <-1,-0.05,-1>;
 #declare RCorner = <1,0.05,1>;
 isosurface
 {
  //TFC function {f_spiral(x,y,z,0.2,0.04,1,0,0,1)}
  function {"spiral",<0.2,0.04,1,0,0,1>}
   //P0= distance between windings
   //P1= Y thickness
   //P2= outer diameter
   //P3= not used
   //P4= not used
   //P5= cross section shape
  contained_by {box {LCorner,RCorner}}
  max_gradient 1.3
  texture {IsoTexture}
  scale 6.3  rotate x*-30
  no_shadow
 }
#end

//***  FRAME 66  ***************************************************
#if(number = 66)
 isosurface
 {
  //TFC function  {f_steiners_roman(x,y,z,-1)}
  function  {"Steiners_Roman",<-1.0>,library "i_algbr"}
   //P0= Field Strength
  contained_by {sphere {0,0.6}}
  max_gradient 0.3
  texture {IsoTexture}
  scale 8.5  rotate y*25  rotate x*-25
  no_shadow
 }
#end

//***  FRAME 67  ***************************************************
#if(number = 67)
 #declare Radius = 2.4;
 intersection
 {
  isosurface
  {
   //TFC function  {f_strophoid(x,y,z,-0.2,2,0.5,0.9)}
   function  {"Strophoid",<-0.2,2,0.5,0.9>,library "i_algbr"}
    //P0= Field Strength
    //P1= Size of bulb. Larger values give larger bulbs. Negative values give a bulb
on the other side of the plane
    //P2= Sharpness.
    //   When 0,the bulb is like a sphere that just touches the plane.
    //   When positive,there is a crossover point
    //   When negative the bulb simply bulges out of the plane like a pimple
    //P3= Flatness. Higher values make the top end of the bulb fatter
   contained_by {sphere {0,2.4}}
   max_gradient 1.4
   texture {IsoTexture}
  }
  sphere {0,Radius-0.00001  texture {ContTexture}}
  scale 2  rotate y*-28  rotate x*10  translate x*0.6
  no_shadow
 }
#end

//***  FRAME 68  ***************************************************
#if(number = 68)
 //**  f_strophoid_2d  : lathe form  ***************************************
 #declare Radius = 8.5;
 isosurface
 {
  //TFC function  {f_strophoid_2d(x,y,z,0.02,-8,0.8,0.3,1,0,0)}
  function  {"Strophoid2D",<0.02,-8,0.8,0.3,1,0,0>,library "i_algbr"}
   //P0= Field Strength
   //P1= Size of bulb
   //   Larger values give larger bulbs
   //   Negative values give a bumb on the other side of the plane
   //P2= Sharpness
   //   When 0,the bulb is like a sphere that just touches the plane.
   //   When positive,there is a crossover point
   //   When negative the bulb simply bulges out of the plane like a pimple
   //P3= Flatness. Higher values make the top end of the bulb fatter
   //P4= SOR switch
   //P5= SOR offset
   //P6= SOR angle
  contained_by {sphere {0,Radius}}
  max_gradient 1.4
  texture {IsoTexture}
  scale 0.4  rotate x*-10  translate <2.6,-1,0>
 }
 //**  f_strophoid_2d  : extruded form  ***************************************
 #declare LCorner = <-1.0,-8.0,-0.01>;
 #declare RCorner = <8.5,8.0,14>;
 intersection
 {
  isosurface
  {
   //TFC function  {f_strophoid_2d(x,y,z,0.02,-8,0.8,0.3,0,0,0)}
   function  {"Strophoid2D",<0.02,-8,0.8,0.3,0,0,0>,library "i_algbr"}
    //P0= Field Strength
    //P1= Size of bulb
    //   Larger values give larger bulbs
    //   Negative values give a bumb on the other side of the plane
    //P2= Sharpness
    //   When 0,the bulb is like a sphere that just touches the plane.
    //   When positive,there is a crossover point
    //   When negative the bulb simply bulges out of the plane like a pimple
    //P3= Flatness. Higher values make the top end of the bulb fatter
    //P4= SOR switch
    //P5= SOR offset
    //P6= SOR angle
   contained_by {box {LCorner,RCorner}}
   max_gradient 1.6
   texture {IsoTexture}
  }
  box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
  scale 0.4  rotate x*-10  translate <-5,-1,0>
 }
#end

//***  FRAME 69  ***************************************************
#if(number = 69)
 #declare Radius = 1.4;
 isosurface
 {
  //TFC function {-f_superellipsoid(x,y,z,0.3,0.5)}
  function {"superellipsoid",<0.3,0.5>}
   //P0= rounding NS
   //P1= rounding EW
  sign -1
  contained_by {sphere {0,Radius}}
  max_gradient 0.9
  texture {IsoTexture}
  scale 3.8  rotate y*-40  rotate x*-20
  no_shadow
 }
#end

//***  FRAME 70  ***************************************************
#if(number = 70)
 #declare FUNC1 = function {"sphere",<1.0>}
 #declare FUNC2 = function {"TH"}
 isosurface
 {
  //TFC function {f_sphere(x,y,z,1) + sin(f_th(x,y,z)*20)*0.05*(1-y*y)}
  function {FUNC1(x,y,z) + sin(FUNC2(x,y,z)*20)*0.05*(1-y*y)}
  contained_by {sphere {0,1.1}}
  max_gradient 1.5
  texture {IsoTexture}
  scale 4 rotate x*-35
 }
#end

//***  FRAME 71  ***************************************************
#if(number = 71)
 #declare LCorner = <-1,-0.25,-1>;
 #declare RCorner = <1,0.25,1>;
 isosurface
 {
  //TFC function {f_torus(x,y,z,0.8,0.2)}
  function {"torus",<0.8,0.2>}
   //P0= major radius
   //P1= minor radius
  contained_by {box {LCorner,RCorner}}
  max_gradient 1
  texture {IsoTexture}
  scale 5.5  rotate x*-30
  no_shadow
 }
#end

//***  FRAME 72  ***************************************************
#if(number = 72)
isosurface
{
 //TFC function  {f_torus2(x,y,z,-1,0.4,0.07)}
 function  {"torus2",<-1,0.4,0.07>}
  //P0= Field Strength
  //P1= Major radius
  //P2= Minor radius
 contained_by {box {<-0.5,-0.1,-0.5>,<0.5,0.1,0.5>}}
 max_gradient 0.6
 texture {IsoTexture}
 scale 12  rotate x*-35
 no_shadow
}
#end

//***  FRAME 73  ***************************************************
#if(number = 73)
 isosurface
 {
  //TFC function  {f_torus_gumdrop(x,y,z,-0.01)}
  function  {"Torus_gumdrop",<-0.01>,library "i_algbr"}
   //P0= Field Strength
  contained_by {sphere {0,2.1}}
  max_gradient 1.1
  texture {IsoTexture}
  no_shadow
  scale 2  rotate y*18
 }
#end

//***  FRAME 74  ***************************************************
#if(number = 74)
 #declare LCorner = <-3.3,-0.2,-2.5>;
 #declare RCorner = <3.3,3.5,3.0>;
 intersection
 {
  isosurface
  {
   //TFC function  {f_umbrella(x,y,z,-0.2)}
   function  {"Umbrella",<-0.2>,library "i_algbr"}
    //P0= Field Strength
   contained_by {box {LCorner,RCorner}}
   max_gradient 2.6
   texture {IsoTexture}
   no_shadow
  }
  box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
  scale 1.5  rotate x*60  translate y*-0.7
 }
#end

//***  FRAME 75  ***************************************************
#if(number = 75)
 #declare LCorner = <-1.8,-0.15,-1.8>;
 #declare RCorner = <1.8,1.1,1.8>;
 intersection
 {
  isosurface
  {
   //TFC function  {f_witch_of_agnesi(x,y,z,-0.09,0.02)}
   function  {"Witch_of_Agnesi",<-0.09,0.02>,library "i_algbr"}
    //P0= Field Strength
    //P1= Controls width of the spike. The height of the spike is always about 1 unit
   contained_by {box {LCorner,RCorner}}
   max_gradient 0.6
   texture {IsoTexture}
   no_shadow
  }
  box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
  scale 3  rotate x*-20  translate y*-1.9
 }
#end

//***  FRAME 76  ***************************************************
#if(number = 76)
 //**  f_witch_of_agnesi_2d  : lathe form  ***************************************
 #declare LCorner = <-1.6,-0.2,-2.2>;
 #declare RCorner = <1.6,2.2,2.2>;
 intersection
 {
  isosurface
  {
   //TFC function  {f_witch_of_agnesi_2d(x,y,z,-0.2,0.2,0.08,1,0,0)}
   function  {"Witch_of_Agnesi2D",<-0.2,0.2,0.08,1,0,0>,library "i_algbr"}
    //P0= Field Strength
    //P1= Controls width of the spike.
    //P2= Controls the height of the spike
    //P3= SOR switch
    //P4= SOR offset
    //P5= SOR angle
   contained_by {box {LCorner,RCorner}}
   max_gradient 1.9
   texture {IsoTexture}
  }
  box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
  scale 1.8  rotate x*-15  translate <3.1,-1.5,0>
 }
 //** f_witch_of_agnesi_2d  : extruded form  ***************************************
 #declare LCorner = <-1.6,-0.2,-2.2>;
 #declare RCorner = <1.6,2.2,2.2>;
 intersection
 {
  isosurface
  {
   //TFC function  {f_witch_of_agnesi_2d(x,y,z,-0.2,0.2,0.08,0,0,0)}
   function  {"Witch_of_Agnesi2D",<-0.2,0.2,0.08,0,0,0>,library "i_algbr"}
    //P0= Field Strength
    //P1= Controls width of the spike.
    //P2= Controls the height of the spike
    //P3= SOR switch
    //P4= SOR offset
    //P5= SOR angle
   contained_by {box {LCorner,RCorner}}
   max_gradient 0.8
   texture {IsoTexture}
  }
  box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
  scale 1.8  rotate x*-15  translate <-3.1,-1.5,0>
 }
#end

//***  FRAME 77  ***************************************************
#if(number = 77)
 #declare Radius = 4;
 #declare FUNC1 = function {"sphere",<4>}
 #declare FUNC2 = function {noise3d(x*1/0.5,y*1/0.3,z*1/0.4)}
 isosurface
 {
  //TFC function  {f_sphere(x,y,z,4) + f_noise3d(x*1/0.5,y*1/0.3,z*1/0.4)*0.8}
  function  {FUNC1(x,y,z) + FUNC2 * 0.8}
  contained_by {sphere {0,Radius}}
  //TFC evaluate 1,10,0.99
  eval
  max_gradient 1.4
  texture {IsoTexture}
 }
#end

//***  FRAME 78  ***************************************************
#if(number = 78)
 #declare Radius = 4;
 #declare FUNC1 = function {"sphere",<4>}
 #declare FUNC2 = function {noise3d(x,y,z)}
 isosurface
 {
  //TFC function  {f_sphere(x,y,z,4) + f_noise_generator x,y,z,1)*0.8}
  function  {FUNC1(x,y,z) + FUNC2 * 0.8}
    //P0= type of noise_generator used (0,1,2 or 3)
  contained_by {sphere {0,Radius}}
  //TFC evaluate 1,10,0.99
  eval
  max_gradient 1.4
  texture {IsoTexture}
 }
#end

//***  END OF FILE  *************************************************/


Post a reply to this message

From: Dennis Miller
Subject: Re: isosurface(Pov3.5 to Mega0.7)
Date: 20 Feb 2002 23:07:34
Message: <3c747286@news.povray.org>
Wow! This is fantastic! Thanks very much.
I saw somewhere that someone had gone the other way and created a chart
showing the MegaPov isosurface syntax in 3.5 format; can anyone point me to
that?
thanks much,
Dennis

"Y.Tanabe" <tec### [at] khrimorjp> wrote in message
news:3C744CDD.F8BA3290@kh.rim.or.jp...
> Pov-Ray3.5 beta 11 isosurface converts to Mega0.7
>
> Y.Tanabe
> Kobe,Japan
>
> //***  START OF FILE  *************************************************/
> // Mega Persistence of Vision Ray Tracer 0.7 Scene Description File
> #version unofficial MegaPov 0.7;
>
> //number is from 1 to 78 except 7,8,53
> #declare number = 25;
>
> global_settings{ambient_light 0}
>
> camera
> {
>  location <0,8,-10>
>  look_at <0,0,0>
>  angle 60
>  rotate y*-30
> }
>
> light_source
> {
>  <50,100,-25>,<1.4 1.4 1.1>
>  spotlight
>  point_at<0,0,0>
>  radius 4
>  falloff 8
> }
>
> light_source{<-1000,1000,500>,<.1 .4 .7>}
>
> #declare IsoTexture = texture {pigment{rgb <.8, 1, 1>}}
> #declare ContTexture = texture {pigment {rgb 0.65} finish {ambient 0.35
phong 1.0  phong_size 40}}
>
> //***  FRAME 1  ***************************************************
> #if(number = 1)
>  //** f_algbr_cyl1 : lathe form  ************************
>  isosurface
>  {
>   //TFC function  {f_algbr_cyl1(x,y,z,1,1.5,1,0,0)}
>   function  {"Algbr_Cyl1", <1,1.5,1,0,0>, library "i_algbr"}
>    //P0= Field Strength
>    //P1= Field limit
>    //P2= SOR switch
>    //P3= SOR offset
>    //P4= SOR angle
>   contained_by {sphere {0,1.1}}
>   max_gradient 1.5
>   texture {IsoTexture}
>   no_shadow
>   scale 3  rotate x*-25 translate <3.5,-1,0>
>  }
>  //** f_algbr_cyl1 : extruded form  ************************
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_algbr_cyl1(x,y,z,1,1.5,0,0,0)}
>    function  {"Algbr_Cyl1", <1,1.5,0,0,0>, library "i_algbr"}
>     //P0= Field Strength
>     //P1= Field limit
>     //P2= SOR switch
>     //P3= SOR offset
>     //P4= SOR angle
>    contained_by {box {<-1.05,-0.4,-0.01>,<1.05,0.4,3>}}
>    max_gradient 1.2
>    texture {IsoTexture}
>    no_shadow
>   }
>   box {<-1.05,-0.4,-0.01>*0.9999,<1.05,0.4,3>*0.9999  texture
{ContTexture}}
>   scale 3  rotate x*-10 translate <-3,-1,0>
>  }
> #end
>
> //***  FRAME 2  ***************************************************
> #if(number = 2)
>  //** f_algbr_cyl2 : lathe form  ************************
>  isosurface
>  {
>   //TFC function  {-(f_algbr_cyl2(x,y,z,0.3,5,1,0,0))}
>   function  {"Algbr_Cyl2",<0.3,5,1,0,0>, library "i_algbr"}
>    //P0= Field Strength
>    //P1= Field limit
>    //P2= SOR switch
>    //P3= SOR offset
>    //P4= SOR angle
>   sign -1
>   contained_by {box {<-1.6,-0.01,-1.6>,<1.6,2.4,1.6>}}
>   max_gradient 9
>   texture {IsoTexture}
>   no_shadow
>   scale 1.9  rotate x*-15 translate <3.2,-4,0>
>  }
>  //** f_algbr_cyl2 : extruded form  ************************
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_algbr_cyl2(x,y,z,-0.3,5,0,0,0)}
>    function  {"Algbr_Cyl2", <-0.3,5,0,0,0>, library "i_algbr"}
>     //P0= Field Strength
>     //P1= Field limit
>     //P2= SOR switch
>     //P3= SOR offset
>     //P4= SOR angle
>    sign 1
>    accuracy  0.0001
>    contained_by {box {<-1.6,-0.01,-0.01>,<1.6,2.4,3>}}
>    max_gradient 5.4
>    texture {IsoTexture}
>    no_shadow
>   }
>   box {<-1.6,-0.01,-0.01>*0.9999,<1.6,2.4,3>*0.9999  texture
{ContTexture}}
>   scale 1.9  rotate x*-15 translate <-3.2,-4,0>
>  }
> #end
>
> //***  FRAME 3  ***************************************************
> #if(number = 3)
>  //** f_algbr_cyl3 : lathe form  ************************
>  isosurface
>  {
>   //TFC function  {f_algbr_cyl3(x,y,z,-1,3,1,0,0)}
>   function  {"Algbr_Cyl3",<-1,3,1,0,0>, library "i_algbr"}
>    //P0= Field Strength
>    //P1= Field limit
>    //P2= SOR switch
>    //P3= SOR offset
>    //P4= SOR angle
>   sign 1
>   contained_by {box {<-1.05,-0.01,-1.05>,<1.05,1.3,1.05>}}
>   max_gradient 6.5
>   texture {IsoTexture}
>   no_shadow
>   scale 3.2  rotate x*-20  translate <2.7,-3.5,0>
>  }
>  //** f_algbr_cyl3 : extruded form  ************************
>  #declare LCorner = <-1.05,-0.01,-0.01>;
>  #declare RCorner = <1.05,1.3,3> ;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_algbr_cyl3(x,y,z,-1,3,0,0,0)}
>    function  {"Algbr_Cyl3",<-1,3,0,0,0>, library "i_algbr"}
>     //P0= Field Strength
>     //P1= Field limit
>     //P2= SOR switch
>     //P3= SOR offset
>     //P4= SOR angle
>    sign 1
>    contained_by {box {LCorner,RCorner }}
>    max_gradient 2
>    texture {IsoTexture}
>    no_shadow
>   }
>   box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
>   scale 3.2  rotate y*-5  rotate x*-10  translate <-4.8,-3.5,0>
>  }
>  light_source {<-10,4,-0> rgb 0.5 shadowless}
> #end
>
> //***  FRAME 4  ***************************************************
> #if(number = 4)
>  //** f_algbr_cyl4 : lathe form  ************************
>  isosurface
>  {
>   //TFC function  {f_algbr_cyl4(x,y,z,-0.4,5,1,0,0)}
>   function  {"Algbr_Cyl4",<-0.4,5,1,0,0>, library "i_algbr"}
>    //P0= Field Strength
>    //P1= Field limit
>    //P2= SOR switch
>    //P3= SOR offset
>    //P4= SOR angle
>   contained_by {sphere {0,1.2}}
>   max_gradient 7.1
>   texture {IsoTexture}
>   no_shadow
>   scale 3.3  rotate x*-10  translate <3.5,-0.8,0>
>  }
>  //** f_algbr_cyl4 : extruded form  ************************
>  #declare LCorner = <-0.9,-0.55,-0.01>;
>  #declare RCorner = <0.9,1.0,6>;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_algbr_cyl4(x,y,z,-0.4,5,0,0,0)}
>    function  {"Algbr_Cyl4",<-0.4,5,0,0,0>, library "i_algbr"}
>     //P0= Field Strength
>     //P1= Field limit
>     //P2= SOR switch
>     //P3= SOR offset
>     //P4= SOR angle
>    contained_by {box {LCorner,RCorner}}
>    max_gradient 4
>    texture {IsoTexture}
>    no_shadow
>   }
>   box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
>   scale 3.3  translate <-3.3,-0.8,0>
>  }
> #end
>
> //***  FRAME 5  ***************************************************
> #if(number = 5)
> isosurface
> {
>  //TFC function  {f_bicorn(x,y,z,-0.01,3)}
>  function  {"Bicorn",<-0.01,3>,library "i_algbr"}
>   //P0= Field strength
>   //P1= Y Scale (inverse).
>   //The surface is always the same shape. Setting the scale to 1 gives a
surface with a radius of about 1 unit
>  contained_by {sphere {0,3}}
>  max_gradient 5.0
>  texture {IsoTexture}
>  no_shadow
>  scale 1.5  rotate x*-20
> }
> #end
>
> //***  FRAME 6  ***************************************************
> #if(number = 6)
> isosurface
> {
>  //TFC function  {f_bifolia(x,y,z,-1,3)}
>  function  {"Bifolia",<-1,3>,library "i_algbr"}
>   //P0= Field Strength
>   //P1= Scale. Setting the scale to 3 gives a surface with a radius of
about 1 unit
>  contained_by {box {<-1.0,-0.01,-1.0>,<1.0,0.8,1.0>}}
>  max_gradient 7.3
>  texture {IsoTexture}
>  no_shadow
>  scale 4.5  rotate x*-20
> }
> #end
>
> //***  FRAME 7  ***************************************************
> #if(number = 7)
>  #declare LCorner = <-1.9,-1.3,-1.3>;
>  #declare RCorner = <1.8,1.3,1.3>;
>  isosurface
>  {
>   function  { f_blob(x,y,z,1.4,1,0.8,1.2,1)}
>    //P0= X distance between the 2 components
>    //P1= Strength of component 1
>    //P2= Radius component 1 (inv)
>    //P3= Strength of component 2
>    //P4= Radius component 2 (inv)
>   threshold  -0.3
>   contained_by {box {LCorner,RCorner}}
>   max_gradient 1.8
>   texture {IsoTexture}
>   no_shadow
>   scale 4
>  }
> #end
>
>
> //***  FRAME 8  ***************************************************
> #if(number = 8)
>  #declare LCorner = <-0.5,-0.5,-0.5>;
>  #declare RCorner = <1.4,0.5,0.5>;
>  isosurface
>  {
>   function  {f_blob2(x,y,z,1,1/0.2,2,1)}
>    //P0= Separation (One comp at origin)
>    //P1= Size (inv)
>    //P2= Strength
>    //P3= Threshold
>   contained_by {box {LCorner,RCorner}}
>   max_gradient 3.9
>   texture {IsoTexture}
>   no_shadow
>   scale 7  translate x*-3.5
>  }
> #end //number = 51
>
> //***  FRAME 9  ***************************************************
> #if(number = 9)
> isosurface
> {
>  //TFC function  {f_boy_surface(x,y,z,-0.001,0.01)}
>  function  {"Boy_surface",<-0.001,0.01>,library "i_algbr"}
>   //P0= Field Strength. Set extremely low to avoid that the shape breaks
up.
>   //P1= Scale. The surface is always the same shape.
>  contained_by {box {<-1.0,-1.45,-0.1>,<1.5,1.2,2.2>}}
>  max_gradient 2.0
>  texture {IsoTexture}
>  no_shadow
>  scale 3  rotate y*15  rotate x*-20
> }
> #end
>
> //***  FRAME 10  ***************************************************
> #if(number = 10)
>  #declare LCorner = <-1.0,-0.5,-0.55>;
>  #declare RCorner = <1.0,0.6,1.1>;
>  isosurface
>  {
>   //TFC function  {f_comma(x,y,z,1)}
>   function {"func_13",<1.0>}
>    //P0= size
>   contained_by {box {LCorner,RCorner}}
>   max_gradient 1.4
>   texture {IsoTexture}
>   scale 5  rotate y*-30  rotate x*-35  translate y*-1.8
>  }
> #end
>
> //***  FRAME 11  ***************************************************
> #if(number = 11)
>  #declare Radius = 2.4;
>  isosurface
>  {
>   //TFC function  {f_cross_ellipsoids(x,y,z,0.05,8,8,1)}
>   function {"func_3",<0.1,8,4,1>}
>    //P0= Eccentricity
>    //P1= Size (inv)
>    //P2= Diameter
>    //P3= Threshold
>   contained_by {sphere {0,Radius}}
>   max_gradient 12
>   texture {IsoTexture}
>   no_shadow
>   scale 2  rotate y*25  rotate x*-20
>  }
> #end
>
> //***  FRAME 12  ***************************************************
> #if(number = 12)
>  #declare LCorner = <-3.2,-0.1,-2.5>;
>  #declare RCorner = <3.2,2,2.5>;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_crossed_trough(x,y,z,-0.05)}
>    function  {"Crossed_Trough",<-0.05>,library "i_algbr"}
>     //P0= Field Strength
>    contained_by {box {LCorner,RCorner}}
>    max_gradient 0.5
>    texture {IsoTexture}
>    no_shadow
>   }
>   box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
>   scale 1.8  rotate x*-90
>  }
> #end
>
> //***  FRAME 13  ***************************************************
> #if(number = 13)
>  #declare Radius = 8;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_cubic_saddle(x,y,z,-0.5)}
>    function  {"Cubic_saddle",<-0.5>,library "i_algbr"}
>     //P0= Field Strength
>    contained_by {sphere {0,Radius}}
>    max_gradient 38.1
>    texture {IsoTexture}
>    no_shadow
>   }
>   sphere {0,Radius-0.00001  texture {ContTexture}}
>   scale 0.8  rotate z*135  rotate x*-20  translate y*1.2
>  }
> #end
>
> //***  FRAME 14  ***************************************************
> #if(number = 14)
> isosurface
> {
>  //TFC function  {f_cushion(x,y,z,-0.25)}
>  function  {"Cushion",<-0.25>,library "i_algbr"}
>   //P0= Field Strength
>  contained_by {box {<-1.1,-1.3,-0.45>,<1.1,1.3,1.2>}}
>  max_gradient 2.9
>  texture {IsoTexture}
>  no_shadow
>  scale 3  rotate y*-145
> }
> #end
>
> //***  FRAME 15  ***************************************************
> #if(number = 15)
> isosurface
> {
>  //TFC function  {f_devils_curve(x,y,z,-0.2)}
>  function  {"Devils_curve",<-0.2>,library "i_algbr"}
>   //P0= Field Strength
>  contained_by {box {<-1.2,-1.2,-1.2>,<1.2,1.2,1.2>}}
>  max_gradient 2.5
>  texture {IsoTexture}
>  no_shadow
>  scale 4  rotate x*5
> }
> #end
>
> //***  FRAME 16  ***************************************************
> #if(number = 16)
>  //**  f_devils_curve_2d  : lathe form
***********************************
>  isosurface
>  {
>   //TFC function  {f_devils_curve_2d(x,y,z,-1,0.25,0.3,1,0,0)}
>   function  {"Devils_curve2D",<-1,0.25,0.3,1,0,0>,library "i_algbr"}
>    //P0= Field Strength
>    //P1= X factor. The X and Y factors control the size of the central
feature
>    //P2= Y factor
>    //   If the X factor is slightly stronger than the Y factor,then the
side pieces
>    //   are linked to the central piece by a horizontal bridge at each
corner.
>    //   If the Y factor is slightly greater than the X factor,then there
is a vertical
>    //   gap between the side pieces and the central piece at each corner.
>    //   If the X and Y factors are equal each of the four corners meets at
a point.
>    //P3= SOR switch
>    //P4= SOR offset
>    //P5= SOR angle
>   contained_by {box {<-0.7,-0.8,-0.8>,<0.7,0.7,0.7>}}
>   max_gradient 3.3
>   texture {IsoTexture}
>   no_shadow
>   scale 4.2  rotate x*-2 translate <3.3,-0.5,0>
>  }
>  //**  f_devils_curve_2d  : extruded form
**********************************
>  #declare LCorner = <-0.7,-0.8,-0.01>;
>  #declare RCorner = <0.7,0.7,6>;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_devils_curve_2d(x,y,z,-1,0.25,0.3,0,0,0)}
>    function  {"Devils_curve2D",<-1,0.25,0.3,0,0,0>,library "i_algbr"}
>     //P0= Field Strength
>     //P1= X factor. The X and Y factors control the size of the central
feature
>     //P2= Y factor
>     //   If the X factor is slightly stronger than the Y factor,then the
side pieces
>     //   are linked to the central piece by a horizontal bridge at each
corner.
>     //   If the Y factor is slightly greater than the X factor,then there
is a vertical
>     //   gap between the side pieces and the central piece at each corner.
>     //   If the X and Y factors are equal each of the four corners meets
at a point.
>     //P3= SOR switch
>     //P4= SOR offset
>     //P5= SOR angle
>    contained_by {box {LCorner,RCorner}}
>    max_gradient 1.5
>    texture {IsoTexture}
>    no_shadow
>   }
>   box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
>   scale 4.2  rotate x*-2 translate <-3.3,-0.5,0>
>   no_shadow
>  }
> #end
>
> //***  FRAME 17  ***************************************************
> #if(number = 17)
> isosurface
> {
>  //TFC function  {f_dupin_cyclid(x,y,z,-.05,0.27,0.04,0.55,0.0,1.0)}
>  function  {"Dupin_Cyclid",<-0.05,0.27,0.04,0.55,0.0,1.0>,library
"i_algbr"}
>   //P0= Field Strength
>   //P1= Major radius of torus
>   //P2= Minor radius of torus
>   //P3= X displacement of torus
>   //P4= Y displacement of torus
>   //P5= radius of inversion
>  contained_by {box {<1.0,-0.6,-1.6>,<4.3,0.6,1.6>}}
>  max_gradient 2.1
>  texture {IsoTexture}
>  no_shadow
>  scale 1.5  rotate x*-90
> }
> #end
>
> //***  FRAME 18  ***************************************************
> #if(number = 18)
>  #declare Radius = 1.0;
>  isosurface
>  {
>   //TFC function  {f_ellipsoid(x,y,z,1/0.95,1/0.3,1/0.95)}
>   function {"func_0",<1/0.95,1/0.3,1/0.95>}
>    //P0= X scale (inv)
>    //P1= Y scale (inv)
>    //P2= Z scale (inv)
>   threshold  1
>   contained_by {sphere {0,Radius}}
>   max_gradient 2.7
>   texture {IsoTexture}
>   no_shadow
>   scale 5.5  rotate x*-25  translate y*-1
>  }
> #end
>
> //***  FRAME 19  ***************************************************
> #if(number = 19)
> isosurface
> {
>  //TFC function  {f_enneper(x,y,z,-0.1)}
>  function  {"Enneper",<-0.1>,library "i_algbr"}
>   //P0= Field Strength
>  contained_by {box {<-3.5,-3.5,-3.8>,<3.5,3.5,-0.25>}}
>  max_gradient 85
>  texture {IsoTexture}
>  no_shadow
>  scale 1.1  rotate y*15
> }
> #end
>
> //***  FRAME 20  ***************************************************
> #if(number = 20)
>  #declare Radius = 1.6;
>  isosurface
>  {
>   //TFC function  {f_flange_cover(x,y,z,0.01,35,1.5,1.2)}
>   function {"func_2",<0.01,35,1.5,1.2>}
>    //P0= Spikiness (1= sph; <= spikes)
>    //P1= Size (inv)
>    //P2= Flange (1= no; >=flanges)
>    //P3= Threshold
>   contained_by {sphere {0,Radius}}
>   max_gradient 11
>   texture {IsoTexture}
>   no_shadow
>   scale 3.45  rotate y*15  rotate x*-30  translate y*-0.1
>  }
> #end
>
> //***  FRAME 21  ***************************************************
> #if(number = 21)
>  #declare LCorner = <-0.0,-0.9,-0.9>;
>  #declare RCorner = <0.8,0.9,0.9>;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_folium_surface(x,y,z,-0.02,15,15)}
>    function  {"Folium_surface",<-0.02,15,15>,library "i_algbr"}
>     //P0= Field Strength
>     //P1= Neck width factor - the larger you set this,the narrower the
neck where the paraboloid meets the plane
>     //P2= Divergence - the higher the value,the wider the paraboloid gets
>    contained_by {box {LCorner,RCorner }}
>    max_gradient 1.3
>    texture {IsoTexture}
>    no_shadow
>   }
>   box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
>   scale 5.5  rotate z*90  rotate x*-25  translate y*-1.5
>   no_shadow
>  }
> #end
>
> //***  FRAME 22  ***************************************************
> #if(number = 22)
>  //**  f_folium_surface_2d  : lathe form
**************************************
>  #declare LCorner = <-0.7,-0.8,-0.7>;
>  #declare RCorner = <0.7,0.8,0.7>;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_folium_surface_2d(x,y,z,-0.01,12,20,1,0,0)}
>    function  {"Folium_surface2D",<-0.01,12,20,1,0,0>,library "i_algbr"}
>     //P0= Field Strength
>     //P1= Neck width factor - same as 3d surface if you're revolving it
around the Y axis
>     //P2= Divergence - same as 3d surface if you're revolving it around
the Y axis
>     //P3= SOR switch
>     //P4= SOR offset
>     //P5= SOR angle
>    contained_by {box {LCorner,RCorner}}
>    max_gradient 0.5
>    texture {IsoTexture}
>    no_shadow
>   }
>   box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
>   scale 5  rotate x*3  translate <2.5,-0.5,0>
>   no_shadow
>  }
>  //**  f_folium_surface_2d  : extruded form
**************************************
>  #declare LCorner = <-0.7,-0.8,-0.01>;
>  #declare RCorner = <0.7,0.8,3>;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_folium_surface_2d(x,y,z,-0.01,12,20,0,0,0)}
>    function  {"Folium_surface2D",<-0.01,12,20,0,0,0>,library "i_algbr"}
>     //P0= Field Strength
>     //P1= Neck width factor - same as 3d surface if you're revolving it
around the Y axis
>     //P2= Divergence - same as 3d surface if you're revolving it around
the Y axis
>     //P3= SOR switch
>     //P4= SOR offset
>     //P5= SOR angle
>    contained_by {box {LCorner,RCorner}}
>    max_gradient 0.3
>    texture {IsoTexture}
>   }
>   box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
>   scale 5  rotate x*3  translate <-5.5,-0.5,0>
>   no_shadow
>  }
> #end
>
> //***  FRAME 23  ***************************************************
> #if(number = 23)
> isosurface
> {
>  //TFC function  {f_glob(x,y,z,-1)}
>  function  {"Glob",<-1.0>,library "i_algbr"}
>   //P0= Field Strength
>  contained_by {box {<-1.0,-1.5,-1.6>,<1.5,1.5,1.6>}}
>  max_gradient 6.5
>  texture {IsoTexture}
>  no_shadow
>  scale 3.7  rotate z*90  rotate x*10
> }
> #end
>
> //***  FRAME 24  ***************************************************
> #if(number = 24)
>  isosurface
>  {
>   //TFC function  {f_heart(x,y,z,-0.001)}
>   function  {"Heart",<-0.001>,library "i_algbr"}
>    //P0= Field Strength
>   contained_by {box {<-0.8,-1.2,-1.1>,<0.8,1.2,1.3>}}
>   max_gradient 0.1
>   texture {IsoTexture}
>   no_shadow
>   scale 3  rotate y*-90  rotate z*-90
>  }
> #end
>
> //***  FRAME 25  ***************************************************
> #if(number = 25)
>  #declare LCorner = <-3.7,-1.7,-3.7>;
>  #declare RCorner = <3.7,1.7,3.7>;
>  isosurface
>  {
>   //TFC function  {f_helical_torus(x,y,z,2,7,1,0.1,1,0.5,1,6,2.0,0)}
>   function {"func_12",<2,7,1,0.1,1,0.5,1,6,2.0,0>}
>    //P0= Major radius
>    //P1= Nr of winding loops
>    //P2= Twistness winding
>    //P3= Flatness of winding?
>    //P4= Threshold
>    //P5= Negative minor radius?
>    //P6= Another fatness of winding control
>    //P7= Groove period
>    //P8= Groove amplitude
>    //P9= Groove phase
>   contained_by {box {LCorner,RCorner}}
>   max_gradient 13
>   texture {IsoTexture}
>   no_shadow
>   scale 1.7  rotate x*-45
>  }
> #end
>
> //***  FRAME 26  ***************************************************
> #if(number = 26)
>  #declare LCorner = <-1.5,-2.9,-1.5>;
>  #declare RCorner = <1.5,2.9,1.5>;
>  isosurface
>  {
>   //TFC function {f_helix1(x,y,z,1,8,0.3,0.9,0.6,0.2,0)}
>   function {"helix1",<1,8,0.3,0.9,0.6,0.2,0>}
>    //P0= number of helixes
>    //P1= frequency
>    //P2= minor radius
>    //P3= major radius
>    //P4= Y scale cross section
>    //P5= cross section

>   contained_by {box {LCorner,RCorner}}
>   max_gradient 1.5
>   texture {IsoTexture}
>   no_shadow
>    scale 1.9  rotate z*-54
>  }
> #end
>
> //***  FRAME 27  ***************************************************
> #if(number = 27)
>  #declare LCorner = <-1,-2.9,-1>;
>  #declare RCorner = <1,2.9,1>;
>  isosurface
>  {
>   //TFC function {f_helix2(x,y,z,0,8,0.35,0.4,0,0.5,0)}
>   function {"helix2",<0,8,0.35,0.4,0,0.5,0>}
>    //P0= not used
>    //P1= frequency
>    //P2= minor radius
>    //P3= major radius
>    //P4= not used
>    //P5= cross section

>   contained_by {box {LCorner,RCorner}}
>   max_gradient 4.3
>   texture {IsoTexture}
>   no_shadow
>   scale 2.2  rotate z*-54
>  }
> #end
>
> //***  FRAME 28  ***************************************************
> #if(number = 28)
>  #declare LCorner = <-4,-4,-4>;
>  #declare RCorner = <4,4,4>;
>  isosurface
>  {
>   //TFC function {f_hex_x(x,y,z,1)}
>   function{"hex_x",<1.0>}
>    //P0= not used
>   threshold 0.6
>   contained_by {box {LCorner,RCorner}}
>   max_gradient 1
>   texture {IsoTexture}
>   no_shadow
>  }
> #end
>
> //***  FRAME 29  ***************************************************
> #if(number = 29)
>  #declare LCorner = <-4,-4,-4>;
>  #declare RCorner = <4,4,4>;
>  isosurface
>  {
>   //TFC function {f_hex_y(x,y,z,1)}
>   function{"hex_y",<1.0>}
>    //P0= not used
>   threshold 0.1
>   contained_by {box {LCorner,RCorner}}
>   max_gradient 1
>   texture {IsoTexture}
>   no_shadow
>  }
> #end
>
> //***  FRAME 30  ***************************************************
> #if(number = 30)
>  #declare Radius = 1.5;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function {f_hetero_mf(x,y,z,1.1,2.05,15,0.26,0.01,1)}
>    function {"heteroMF",<1.1,2.05,15,0.26,0.01,1>}
>     //P0= H
>     //P1= lacunarity
>     //P2= octaves
>     //P3= offset
>     //P4= T
>     //P5= noise generator type
>    contained_by {sphere {0,Radius}}
>    max_gradient 5.5
>    texture {IsoTexture}
>    no_shadow
>   }
>   sphere {0,Radius-0.00001  texture {ContTexture}}
>   scale 4.3  translate y*-1.7
>  }
> #end
>
> //***  FRAME 31  ***************************************************
> #if(number = 31)
> isosurface
> {
>  //TFC function  {f_hunt_surface(x,y,z,-0.01)}
>  function  {"Hunt_surface",<-0.01>,library "i_algbr"}
>   //P0= Field Strength
>  contained_by {sphere {0,3.8}}
>  max_gradient 84
>  texture {IsoTexture}
>  no_shadow
>  scale 1.2  rotate y*-45
> }
> #end
>
> //***  FRAME 32  ***************************************************
> #if(number = 32)
> isosurface
> {
>  //TFC function  {f_hyperbolic_torus(x,y,z,-0.005,1,0.6)}
>  function  {"Hyperbolic_torus",<-0.005,1,0.6>,library "i_algbr"}
>   //P0= Field Strength
>   //P1= Major radius: separation between the centres of the tubes at the
closest point
>   //P2= Minor radius: thickness of the tubes at the closest point
>  contained_by {box {<-4,-0.9,-4>,<4,0.9,4>}}
>  max_gradient 0.9
>  texture {IsoTexture}
>  no_shadow
>  scale 1.5  rotate x*-90
> }
> #end
>
> //***  FRAME 33  ***************************************************
> #if(number = 33)
>  #declare Radius = 0.9;
>  isosurface
>  {
>   //TFC function  {f_isect_ellipsoids(x,y,z,5,1,18,1)}
>   function {"func_4",<5,1,18,1>}
>    //P0= Eccentricity
>    //P1= Size (inv)
>    //P2= Diameter
>    //P3= Threshold
>   contained_by {sphere {0,Radius}}
>   max_gradient 20
>   texture {IsoTexture}
>   scale 5  rotate y*25  rotate x*-20
>   no_shadow
>  }
> #end
>
> //***  FRAME 34  ***************************************************
> #declare ContainerOn = off;
> #declare SphereOn = 0;
> #if(number = 34)
>  #declare LCorner = <-1.0,-1.5,-1.5>;
>  #declare RCorner = <1.0,1.5,1.5>;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_kampyle_of_eudoxus(x,y,z,-0.001,0.01,2)}
>    function  {"Kampyle_of_Eudoxus",<-0.001,0.01,2>,library "i_algbr"}
>     //P0= Field Strength
>     //P1= Dimple: When zero,the two dimples punch right through and meet
at the centre. Non-zero values give less dimpling
>     //P2= Closeness: Higher values make the two planes become closer
>    contained_by {box {LCorner,RCorner}}
>    max_gradient 0.04
>    texture {IsoTexture}
>    no_shadow
>   }
>   box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
>   scale 3.8  rotate z*90
>   no_shadow
>  }
> #end
>
> //***  FRAME 35  ***************************************************
> #if(number = 35)
>  //**  f_kampyle_of_eudoxus_2d  : lathe form
*****************************
>  #declare LCorner = <-1.6,-1.1,-1.6>;
>  #declare RCorner = <1.6,1.15,1.6>;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_kampyle_of_eudoxus_2d(x,y,z,-0.001,0,2,1,0,90)}
>    function  {"Kampyle_of_Eudoxus2D",<-0.001,0,2,1,0,90>,library
"i_algbr"}
>     //P0= Field Strength
>     //P1= Dimple: When zero,the two dimples punch right through and meet
at the centre. Non-zero values give less dimpling
>     //P2= Closeness: Higher values make the two planes become closer
>     //P3= SOR switch
>     //P4= SOR offset
>     //P5= SOR angle
>    contained_by {box {LCorner,RCorner}}
>    max_gradient 0.2
>    texture {IsoTexture}
>
>   }
>   box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture} }
>   scale 1.9  rotate x*-1  translate <3,-1,0>
>   no_shadow
>  }
>  //**  f_kampyle_of_eudoxus_2d  : extruded form
*****************************
>  #declare LCorner = <-1.1,-1.6,-0.01>;
>  #declare RCorner = <1.15,1.6,8>;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_kampyle_of_eudoxus_2d(x,y,z,-0.001,0,2,0,0,0)}
>    function  {"Kampyle_of_Eudoxus2D",<-0.001,0,2,0,0,0>,library "i_algbr"}
>     //P0= Field Strength
>     //P1= Dimple: When zero,the two dimples punch right through and meet
at the centre. Non-zero values give less dimpling
>     //P2= Closeness: Higher values make the two planes become closer
>     //P3= SOR switch
>     //P4= SOR offset
>     //P5= SOR angle
>    contained_by {box {LCorner,RCorner}}
>    max_gradient 0.05
>    texture {IsoTexture}
>    no_shadow
>   }
>   box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
>   scale 1.9  rotate z*90 rotate x*-1  translate <-3.6,-1,0>
>   no_shadow
>  }
>  light_source {<0,-1,-0.5> rgb 0.3 shadowless}
> #end
>
> //***  FRAME 36  ***************************************************
> #if(number = 36)
>  isosurface
>  {
>   //TFC function  {f_klein_bottle(x,y,z,-0.0005)}
>   function  {"Klein_Bottle",<-0.0005>,library "i_algbr"}
>    //P0= Field strength
>   contained_by {sphere {0,4.2}}
>   max_gradient 2.7
>   texture {IsoTexture}
>   no_shadow
>   scale 1.3  rotate y*110  rotate x*5
>  }
> #end
>
> //***  FRAME 37  ***************************************************
> #if(number = 37)
>  #declare LCorner = <-7.4,-7.4,-7.4>;
>  #declare RCorner = <7.4,7.4,7.4>;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_kummer_surface_v1(x,y,z,-0.01)}
>    function  {"Kummer_Surface_V1",<-0.01>,library "i_algbr"}
>     //P0= Field Strength
>    contained_by {box {LCorner,RCorner}}
>    max_gradient 8.3
>    texture {IsoTexture}
>    no_shadow
>   }
>   box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
>   scale 0.55  rotate y*-25
>  }
> #end
>
> //***  FRAME 38  ***************************************************
> #if(number = 38)
>  isosurface
>  {
>   //TFC function  {f_kummer_surface_v2(x,y,z,-0.0005,-0.3,-0.97,0)}
>   function  {"Kummer_Surface_V2",<-0.0005,-0.3,-0.97,0>,library "i_algbr"}
>    //P0= Field Strength
>    //P1= Rod width (negative): Setting this parameter to larger negative
values increases the diameter of the rods
>    //P2= Divergence (negative): Setting this number to -1 causes the rods
to become approximately cylindrical.
>    //   Larger negative values cause the rods to become fatter further
from the origin
>    //   Smaller negative values cause the rods to become narrower away
from the origin,and have a finite length
>    //P3= Influences the length of half of the rods. Changing the sign
affects the other half of the rods. 0 has no effect
>   contained_by {box {-3.8,3.8}}
>   max_gradient 0.2
>   texture {IsoTexture}
>   no_shadow
>   scale 1.1  rotate y*25  rotate x*-5
>  }
> #end
>
> //***  FRAME 39  ***************************************************
> #if(number = 39)
>  isosurface
>  {
>   //TFC function  {f_lemniscate_of_gerono(x,y,z,-0.1)}
>   function  {"Lemniscate_of_Gerono",<-0.1>,library "i_algbr"}
>    //P0= Field Strength
>   contained_by {box {<-1.05,-0.55,-0.55>,<1.05,0.55,0.55>}}
>   max_gradient 0.3
>   texture {IsoTexture}
>   no_shadow
>   scale 6  rotate y*15
>  }
> #end
>
> //***  FRAME 40  ***************************************************
> #if(number = 40)
>  //** f_ lemniscate_of_gerono_2d  : lathe form
**********************************
>  #declare LCorner = <-3,-1,-3>;
>  #declare RCorner = <3,1,3>;
>  isosurface
>  {
>   //TFC function  {f_lemniscate_of_gerono_2d(x,y,z,-0.1,1,1,1,2,-45)}
>   function  {"Lemniscate_of_Gerono2D",<-0.1,1,1,1,2,-45>,library
"i_algbr"}
>    //P0= Field Strength
>    //P1= Size: increasing this makes the 2d curve larger and less rounded
>    //P2= Width: increasing this makes the 2d curve flatter
>    //P3= SOR switch
>    //P4= SOR offset
>    //P5= SOR angle
>   contained_by {box {LCorner,RCorner}}
>   max_gradient 2.8
>   texture {IsoTexture}
>   scale 1.4  rotate x*-15  translate <2.0,-2.4,0>
>   no_shadow
>  }
>  //**  f_lemniscate_of_gerono_2d  : extruded form
************************************
>  #declare LCorner = <-3,-1,-0.01>;
>  #declare RCorner = <3,1,8>;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_lemniscate_of_gerono_2d(x,y,z,-0.1,1,1,0,2,-45)}
>    function  {"Lemniscate_of_Gerono2D",<-0.1,1,1,0,2,-45>,library
"i_algbr"}
>     //P0= Field Strength
>     //P1= Size: increasing this makes the 2d curve larger and less rounded
>     //P2= Width: increasing this makes the 2d curve flatter
>     //P3= SOR switch
>     //P4= SOR offset
>     //P5= SOR angle
>    contained_by {box {LCorner,RCorner}}
>    max_gradient 5
>    texture {IsoTexture}
>    no_shadow
>   }
>   box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
>   scale 1.4  rotate z*45  rotate x*-3  translate <-4.8,-2.4,0>
>   no_shadow
>  }
> #end
>
> //***  FRAME 41  ***************************************************
> #if(number = 41)
>  #declare LCorner = <-1,-0.05,-1>;
>  #declare RCorner = <1,0.05,1>;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function {f_mesh1(x,y,z,1/8,1/8,1/10,0.01,1/10)}
>    function {"mesh1",<1/8,1/8,1/10,0.01,1/10>}
>     //P0= X frequency
>     //P1= Z frequency
>     //P2= scale (X-Z)
>     //P3= amplitude
>     //P4= scale Y
>    threshold  0.001
>    contained_by {box {LCorner,RCorner}}
>    max_gradient 0.2
>    texture {IsoTexture}
>    no_shadow
>   }
>   box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
>   scale 6  rotate x*-30
>  }
> #end
>
> //***  FRAME 42  ***************************************************
> #if(number = 42)
> isosurface
> {
>  //TFC function  {f_mitre(x,y,z,-0.5)}
>  function  {"Mitre",<-0.5>,library "i_algbr"}
>   //P0= Field Strength
>  contained_by {box {<-0.4,-1,-1>,<0.4,1,1>}}
>  max_gradient 3.1
>  texture {IsoTexture}
>  no_shadow
>  scale 4.5  rotate y*-45
> }
> #end
>
> //***  FRAME 43  ***************************************************
> #if(number = 43)
>  #declare LCorner = <-10,-4,-4>;
>  #declare RCorner = <6,4,4>;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_nodal_cubic(x,y,z,-0.005)}
>    function  {"Nodal_cubic",<-0.005>,library "i_algbr"}
>     //P0= Field Strength
>    contained_by {box {LCorner,RCorner}}
>    max_trace 3
>    max_gradient 0.4
>    texture {IsoTexture}
>    no_shadow
>   }
>   box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
>   scale 0.9  rotate <0,110,0>
>   no_shadow
>  }
> #end
>
> //***  FRAME 44  ***************************************************
> #if(number = 44)
> isosurface
> {
>  //TFC function  {f_odd(x,y,z,-0.1)}
>  function  {"Odd",<-0.1>,library "i_algbr"}
>   //P0= Field Strength
>  contained_by {box {<-1.05,-1.3,-0.45>,<1.05,1.3,1.1>}}
>  max_gradient 1.0
>  texture {IsoTexture}
>  no_shadow
>  scale 3.5  rotate y*-45  translate x*0.8
> }
> #end
>
> //***  FRAME 45  ***************************************************
> #if(number = 45)
> isosurface
> {
>  //TFC function  {f_ovals_of_cassini(x,y,z,-0.1,0.4,0.18,6)}
>  function  {"Ovals_of_Cassini",<-0.1,0.4,0.18,6>,library "i_algbr"}
>   //P0= Field strength
>   //P1= Major radius - like the major radius of a torus
>   //P2= Filling. Zero for a torus. With higher values the hole in the
middle starts to fill up. Even higher values give an ellipsoid with a
> dimple
>   //P3= Thickness. Higher values give plumper results
>  contained_by {box {<-0.82,-0.35,-0.82>,<0.82,0.35,0.82>}}
>  max_gradient 0.4
>  texture {IsoTexture}
>  no_shadow
>  scale 6  rotate x*-45
> }
> #end
>
> //***  FRAME 46  ***************************************************
> #if(number = 46)
> isosurface
> {
>  //TFC function  {f_paraboloid(x,y,z,-1)}
>  function  {"Paraboloid",<-1.0>,library "i_algbr"}
>   //P0= Field Strength
>  contained_by {box {<-1.4,-0.1,-1.4>,<1.4,1.9,1.4>}}
>  max_gradient 3.2
>  texture {IsoTexture}
>  no_shadow
>  scale 3.5  rotate x*20  translate y*-3.5
> }
> #end
>
> //***  FRAME 47  ***************************************************
> #if(number = 47)
> isosurface
> {
>  //TFC function  {f_parabolic_torus(x,y,z,-0.1,0.4,0.5)}
>  function  {"Parabolic_Torus",<-0.1,0.4,0.5>,library "i_algbr"}
>   //P0= Field Strength
>   //P1= Major radius
>   //P2= Minor radius
>  contained_by {box {<-1.4,-0.4,-0.4>,<1.4,0.4,1.2>}}
>  max_gradient 0.7
>  texture {IsoTexture}
>  no_shadow
>  scale 4.5  rotate x*-92  rotate y*-8  translate y*-1.6
> }
> #end
>
> //***  FRAME 48  ***************************************************
> #if(number = 48)
>  #declare Radius = 4;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_ph(x,y,z)}
>    function {"PH"}
>    threshold 0.5
>    contained_by {sphere {0,Radius}}
>    max_gradient 2
>    texture {IsoTexture}
>   }
>   sphere {0,Radius - 0.0001  texture {ContTexture}}
>  }
> #end
>
> //***  FRAME 49  ***************************************************
> #if(number = 49)
> isosurface
> {
>  //TFC function  {f_pillow(x,y,z,1)}
>  function  {"Pillow",<1.0>,library "i_algbr"}
>   //P0= Field Strength
>  contained_by {box {<-1.2,-1.2,-1.2>,<1.2,1.2,1.2>}}
>  max_gradient 5.9
>  texture {IsoTexture}
>  no_shadow
>  scale 2.7  rotate y*45  rotate x*-20
> }
> #end
>
> //***  FRAME 50  ***************************************************
> #if(number = 50)
> isosurface
> {
>  //TFC function  {f_piriform(x,y,z,0.7)}
>  function  {"Piriform", <0.7>, library "i_algbr"}
>   //P0= Field Strength
>  contained_by {box {<-0,-0.4,-0.4>,<1,0.4,0.4>}}
>  max_gradient 0.9
>  texture {IsoTexture}
>  no_shadow
>  scale 10  rotate y*-20  translate x*-4
> }
> #end
>
> //***  FRAME 51  ***************************************************
> #if(number = 51)
>  //**  f_piriform_2d  : lathe form
****************************************
>  #declare LCorner = <-0.4,-0.1,-0.4>;
>  #declare RCorner = <0.4,1.1,0.4>;
>  isosurface
>  {
>   //TFC function  {f_piriform_2d(x,y,z,-1,1,-1,0.9,1,0,-90)}
>   function  {"Piriform2D",<-1,1,-1,0.9,1,0,-90>,library "i_algbr"}
>    //P0= Field Strength
>    //P1= Size factor1: increasing this makes the curve larger
>    //P2= Size factor 2: making this less negative makes the curve larger
but also thinner
>    //P3= Flatness: increasing this makes the curve fatter
>    //P4= SOR switch
>    //P5= SOR offset
>    //P6= SOR angle
>   contained_by {box {LCorner,RCorner}}
>   max_gradient 1.4
>   texture {IsoTexture}
>   scale 7.5  translate <3,-4.6,0>
>   no_shadow
>  }
>  //**  f_piriform_2d  : extruded form
************************************
>  #declare LCorner = <-0.4,-0.4,-0.01>;
>  #declare RCorner = <1.1,0.4,7>;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_piriform_2d(x,y,z,-1,1,-1,0.9,0,0,0)}
>    function  {"Piriform2D",<-1,1,-1,0.9,0,0,0>,library "i_algbr"}
>     //P0= Field Strength
>     //P1= Size factor1: increasing this makes the curve larger
>     //P2= Size factor 2: making this less negative makes the curve larger
but also thinner
>     //P3= Flatness: increasing this makes the curve fatter
>     //P4= SOR switch
>     //P5= SOR offset
>     //P6= SOR angle
>    contained_by {box {LCorner,RCorner}}
>    max_gradient 0.8
>    texture {IsoTexture}
>   }
>   box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
>   scale 7.5  rotate z*90 rotate y*1  translate <-3.3,-4.6,0>
>  }
> #end
>
> //***  FRAME 52  ***************************************************
> #if(number = 52)
>  #declare LCorner = <-0.3,0,-0.3>;
>  #declare RCorner = <0.3,1,0.3>;
>  isosurface
>  {
>   //TFC function  {f_poly4(x,y,z,0,1,-1,0,0)}
>   function {"func_9",<0,1,-1,0,0>}
>    //P0= Constant
>    //P1= Y coefficient
>    //p2= Y2 coefficient
>    //p3= Y3 coefficient
>    //p4= Y4 coefficient
>   contained_by {box {LCorner,RCorner}}
>   max_gradient 1.4
>   texture {IsoTexture}
>   scale 8  translate y*-4
>   no_shadow
>  }
> #end
>
> //***  FRAME 53  ***************************************************
> #if(number = 53)
>  #declare Radius = 4;
>  intersection
>  {
>   isosurface
>   {
>    function  {f_polytubes(x,y,z,8,-1,-1/100,-0.02,0.1,-0.25)}
>     //P0= nr of wires
>     //P1= radial onset (around Y) inverse
>     //P2= radial scale (around Y)
>     //P3= profile shape
>        //positive values = parabolish becoming sharper ith higher values
>     //P4= amplitude pos/neg part of profile
>     //P5= amplitude profile
>    threshold 0.4
>    contained_by {sphere {0,Radius}}
>    max_gradient 28
>    texture {IsoTexture}
>    no_shadow
>   }
>   sphere {0,Radius-0.00001  texture {ContTexture}}
>   scale 1.6  rotate y*2 rotate x*-18
>  }
> #end
>
> //***  FRAME 54  ***************************************************
> #if(number = 54)
>  #declare LCorner = <-5.5,-7.3,-5.5>;
>  #declare RCorner = <5.5,7.3,5.5>;
>  isosurface
>  {
>   //TFC function  {f_quantum(x,y,z,0)}
>   function {"func_11",<0>}
>    //P0= Not used
>   contained_by {box {LCorner,RCorner}}
>   max_gradient 6
>   texture {IsoTexture}
>   scale 0.7  rotate x*-20
>   no_shadow
>  }
> #end
>
> //***  FRAME 55  ***************************************************
> #if(number = 55)
> isosurface
> {
>  //TFC function  {f_quartic_paraboloid(x,y,z,-0.01)}
>  function  {"Quartic_paraboloid",<-0.01>,library "i_algbr"}
>   //P0= Field Strength
>  contained_by {box {<-1.45,-0.1,-1.45>,<1.45,2.5,1.45>}}
>  max_gradient 0.2
>  texture {IsoTexture}
>  no_shadow
>  scale 3  rotate y*45  rotate x*20  translate y*-4
> }
> #end
>
> //***  FRAME 56  ***************************************************
> #if(number = 56)
>  #declare LCorner = <-3.5,-3.0,-3.5>;
>  #declare RCorner = <3.5,3.0,3.5>;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_quartic_saddle(x,y,z,0.05)}
>    function  {"Quartic_saddle",<0.05>,library "i_algbr"}
>     //P0= Field Strength
>    contained_by {box {LCorner,RCorner}}
>    max_gradient 11
>    texture {IsoTexture}
>   }
>   box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
>   scale 1.2  rotate y*5  rotate x*-15
>   no_shadow
>  }
> #end
>
> //***  FRAME 57  ***************************************************
> #if(number = 57)
> isosurface
> {
>  //TFC function  {f_quartic_cylinder(x,y,z,-1,0.8,0.2)}
>  function  {"Quartic_Cylinder",<-1,0.8,0.2>,library "i_algbr"}
>   //P0= Field Strength
>   //P1= Diameter of the "bubble"
>   //P2= Controls the width of the tube and the vertical scale of the
"bubble"
>  contained_by {box {<-0.85,-2.5,-0.85>,<0.85,2.5,0.85>}}
>  max_gradient 8.8
>  texture {IsoTexture}
>  scale 2.0
>  no_shadow
> }
> #end
>
> //***  FRAME 58  ***************************************************
> #if(number = 58)
> isosurface
> {
>  //TFC function  {f_r(x,y,z)}
>  function {"R"}
>  threshold 0.7
>  contained_by {sphere {0,0.75}}
>  max_gradient 1
>  texture {IsoTexture}
>  scale 5
> }
> #end
>
> //***  FRAME 59  ***************************************************
> #if(number = 59)
>  #declare Radius = 4;
>  #declare FUNC1 = function {"sphere",<Radius - 0.5>}
>  #declare FUNC2 = function {"ridge",<1,3,1,0.2,0,0>}
>  isosurface
>  {
>   //TFC function  {f_sphere(x,y,z,(Radius-0.5)) +
(-f_ridge(x*3,y*3,z*3,1,3,1,0.2,0,0)*0.9)}
>   function  {FUNC1(x,y,z) + (FUNC2(x*3,y*3,z*3) * -0.9)}
>    //P0= Lambda
>    //P1= Octaves
>    //P2= Omega
>    //P3= Offset
>    //P4= Ridge
>    //P5= noise generator type [0,1,2,3]
>   contained_by {sphere {0,Radius*1.1}}
>   max_gradient 5
>   texture {IsoTexture}
>  }
> #end
>
> //***  FRAME 60  ***************************************************
> #if(number = 60)
>  #declare Radius = 4;
>  #declare FUNC1 = function {"sphere",<Radius - 0.5>}
>  #declare FUNC2 = function {"ridgedMF",<2,3,1,0.1,1,0>}
>  isosurface
>  {
>   //TFC function  {f_sphere(x,y,z,Radius-0.5) +
(-f_ridged_mf(x*2,y*2,z*3,2,3,1,0.1,1,0) * 2)}
>   function  {FUNC1(x,y,z) + (FUNC2(x*2,y*2,z*3) * -2)}
>    //P0= H
>    //P1= Lacunarity
>    //P2= Octaves
>    //P3= Offset
>    //P4= Gain
>    //P5= noise generator type [0,1,2,3]
>   contained_by {sphere {0,Radius*1.1}}
>   max_gradient 10
>   texture {IsoTexture}
>  }
> #end
>
> //***  FRAME 61  ***************************************************
> #if(number = 61)
>  #declare LCorner = <-1.1,-1.1,-1.1>;
>  #declare RCorner = <1.1,1.1,1.1>;
>  isosurface
>  {
>   //TFC function {f_rounded_box(x,y,z,0.3,1,1,1)}
>   function {"rounded_box",<0.3,1,1,1>}
>    //P0= radius rounded corner
>    //P1= scale x
>    //P2= scale y
>    //P3= scale z
>   contained_by {box {LCorner,RCorner}}
>   max_gradient 1
>   texture {IsoTexture}
>   scale 3  rotate y*-35  rotate x*-20  translate <0,0,0>
>   no_shadow
>  }
> #end
>
> //***  FRAME 62  ***************************************************
> #if(number = 62)
>  #declare Radius = 1.01;
>  isosurface
>  {
>   //TFC function {f_sphere(x,y,z,1)}
>   function {"sphere",<1.0>}
>    //P0= Radius
>   contained_by {sphere {0,Radius}}
>   max_gradient 1.0
>   texture {IsoTexture}
>   scale 4
>   no_shadow
>  }
> #end
>
> //***  FRAME 63  ***************************************************
> #if(number = 63)
>  #declare Radius = 2.5;
>  isosurface
>  {
>   //TFC function  {f_spikes(x,y,z,0.04,5.6,-4,0.1,1)}
>   function {"func_5",<0.04,5.6,-4,0.1,1>}
>    //P0= Spikiness
>    //P1= Hollowness
>    //P2= Size (<0 with thresh 0)
>    //P3= Roundness
>    //P4= Fatness
>   contained_by {sphere {0,Radius}}
>   max_gradient 11
>   texture {IsoTexture}
>   scale 2  rotate y*30  rotate x*-18
>   no_shadow
>  }
> #end
>
> //***  FRAME 64  ***************************************************
> #if(number = 64)
>  #declare LCorner = <-1.2, -0.2,-1.2>;
>  #declare RCorner = <1.2,0.7,1.2>;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_spikes_2d(x,y,z,0.7,15,15,2.2)}
>    function {"func_10",<0.7,15,15,2.2>}
>     //P0= Height central spike
>     //P1= X frequency of spikes
>     //P2= Z frequency of spikes
>     //P3= Height dimming from center
>    accuracy  0.0001
>    contained_by {box {LCorner,RCorner}}
>    max_gradient 10
>    texture {IsoTexture}
>    no_shadow
>   }
>   box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
>   scale 4.9  rotate x*-25  translate y*-0.7
>  }
> #end
>
> //***  FRAME 65  ***************************************************
> #if(number = 65)
>  #declare LCorner = <-1,-0.05,-1>;
>  #declare RCorner = <1,0.05,1>;
>  isosurface
>  {
>   //TFC function {f_spiral(x,y,z,0.2,0.04,1,0,0,1)}
>   function {"spiral",<0.2,0.04,1,0,0,1>}
>    //P0= distance between windings
>    //P1= Y thickness
>    //P2= outer diameter
>    //P3= not used
>    //P4= not used
>    //P5= cross section shape
>   contained_by {box {LCorner,RCorner}}
>   max_gradient 1.3
>   texture {IsoTexture}
>   scale 6.3  rotate x*-30
>   no_shadow
>  }
> #end
>
> //***  FRAME 66  ***************************************************
> #if(number = 66)
>  isosurface
>  {
>   //TFC function  {f_steiners_roman(x,y,z,-1)}
>   function  {"Steiners_Roman",<-1.0>,library "i_algbr"}
>    //P0= Field Strength
>   contained_by {sphere {0,0.6}}
>   max_gradient 0.3
>   texture {IsoTexture}
>   scale 8.5  rotate y*25  rotate x*-25
>   no_shadow
>  }
> #end
>
> //***  FRAME 67  ***************************************************
> #if(number = 67)
>  #declare Radius = 2.4;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_strophoid(x,y,z,-0.2,2,0.5,0.9)}
>    function  {"Strophoid",<-0.2,2,0.5,0.9>,library "i_algbr"}
>     //P0= Field Strength
>     //P1= Size of bulb. Larger values give larger bulbs. Negative values
give a bulb on the other side of the plane
>     //P2= Sharpness.
>     //   When 0,the bulb is like a sphere that just touches the plane.
>     //   When positive,there is a crossover point
>     //   When negative the bulb simply bulges out of the plane like a
pimple
>     //P3= Flatness. Higher values make the top end of the bulb fatter
>    contained_by {sphere {0,2.4}}
>    max_gradient 1.4
>    texture {IsoTexture}
>   }
>   sphere {0,Radius-0.00001  texture {ContTexture}}
>   scale 2  rotate y*-28  rotate x*10  translate x*0.6
>   no_shadow
>  }
> #end
>
> //***  FRAME 68  ***************************************************
> #if(number = 68)
>  //**  f_strophoid_2d  : lathe form
***************************************
>  #declare Radius = 8.5;
>  isosurface
>  {
>   //TFC function  {f_strophoid_2d(x,y,z,0.02,-8,0.8,0.3,1,0,0)}
>   function  {"Strophoid2D",<0.02,-8,0.8,0.3,1,0,0>,library "i_algbr"}
>    //P0= Field Strength
>    //P1= Size of bulb
>    //   Larger values give larger bulbs
>    //   Negative values give a bumb on the other side of the plane
>    //P2= Sharpness
>    //   When 0,the bulb is like a sphere that just touches the plane.
>    //   When positive,there is a crossover point
>    //   When negative the bulb simply bulges out of the plane like a
pimple
>    //P3= Flatness. Higher values make the top end of the bulb fatter
>    //P4= SOR switch
>    //P5= SOR offset
>    //P6= SOR angle
>   contained_by {sphere {0,Radius}}
>   max_gradient 1.4
>   texture {IsoTexture}
>   scale 0.4  rotate x*-10  translate <2.6,-1,0>
>  }
>  //**  f_strophoid_2d  : extruded form
***************************************
>  #declare LCorner = <-1.0,-8.0,-0.01>;
>  #declare RCorner = <8.5,8.0,14>;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_strophoid_2d(x,y,z,0.02,-8,0.8,0.3,0,0,0)}
>    function  {"Strophoid2D",<0.02,-8,0.8,0.3,0,0,0>,library "i_algbr"}
>     //P0= Field Strength
>     //P1= Size of bulb
>     //   Larger values give larger bulbs
>     //   Negative values give a bumb on the other side of the plane
>     //P2= Sharpness
>     //   When 0,the bulb is like a sphere that just touches the plane.
>     //   When positive,there is a crossover point
>     //   When negative the bulb simply bulges out of the plane like a
pimple
>     //P3= Flatness. Higher values make the top end of the bulb fatter
>     //P4= SOR switch
>     //P5= SOR offset
>     //P6= SOR angle
>    contained_by {box {LCorner,RCorner}}
>    max_gradient 1.6
>    texture {IsoTexture}
>   }
>   box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
>   scale 0.4  rotate x*-10  translate <-5,-1,0>
>  }
> #end
>
> //***  FRAME 69  ***************************************************
> #if(number = 69)
>  #declare Radius = 1.4;
>  isosurface
>  {
>   //TFC function {-f_superellipsoid(x,y,z,0.3,0.5)}
>   function {"superellipsoid",<0.3,0.5>}
>    //P0= rounding NS
>    //P1= rounding EW
>   sign -1
>   contained_by {sphere {0,Radius}}
>   max_gradient 0.9
>   texture {IsoTexture}
>   scale 3.8  rotate y*-40  rotate x*-20
>   no_shadow
>  }
> #end
>
> //***  FRAME 70  ***************************************************
> #if(number = 70)
>  #declare FUNC1 = function {"sphere",<1.0>}
>  #declare FUNC2 = function {"TH"}
>  isosurface
>  {
>   //TFC function {f_sphere(x,y,z,1) + sin(f_th(x,y,z)*20)*0.05*(1-y*y)}
>   function {FUNC1(x,y,z) + sin(FUNC2(x,y,z)*20)*0.05*(1-y*y)}
>   contained_by {sphere {0,1.1}}
>   max_gradient 1.5
>   texture {IsoTexture}
>   scale 4 rotate x*-35
>  }
> #end
>
> //***  FRAME 71  ***************************************************
> #if(number = 71)
>  #declare LCorner = <-1,-0.25,-1>;
>  #declare RCorner = <1,0.25,1>;
>  isosurface
>  {
>   //TFC function {f_torus(x,y,z,0.8,0.2)}
>   function {"torus",<0.8,0.2>}
>    //P0= major radius
>    //P1= minor radius
>   contained_by {box {LCorner,RCorner}}
>   max_gradient 1
>   texture {IsoTexture}
>   scale 5.5  rotate x*-30
>   no_shadow
>  }
> #end
>
> //***  FRAME 72  ***************************************************
> #if(number = 72)
> isosurface
> {
>  //TFC function  {f_torus2(x,y,z,-1,0.4,0.07)}
>  function  {"torus2",<-1,0.4,0.07>}
>   //P0= Field Strength
>   //P1= Major radius
>   //P2= Minor radius
>  contained_by {box {<-0.5,-0.1,-0.5>,<0.5,0.1,0.5>}}
>  max_gradient 0.6
>  texture {IsoTexture}
>  scale 12  rotate x*-35
>  no_shadow
> }
> #end
>
> //***  FRAME 73  ***************************************************
> #if(number = 73)
>  isosurface
>  {
>   //TFC function  {f_torus_gumdrop(x,y,z,-0.01)}
>   function  {"Torus_gumdrop",<-0.01>,library "i_algbr"}
>    //P0= Field Strength
>   contained_by {sphere {0,2.1}}
>   max_gradient 1.1
>   texture {IsoTexture}
>   no_shadow
>   scale 2  rotate y*18
>  }
> #end
>
> //***  FRAME 74  ***************************************************
> #if(number = 74)
>  #declare LCorner = <-3.3,-0.2,-2.5>;
>  #declare RCorner = <3.3,3.5,3.0>;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_umbrella(x,y,z,-0.2)}
>    function  {"Umbrella",<-0.2>,library "i_algbr"}
>     //P0= Field Strength
>    contained_by {box {LCorner,RCorner}}
>    max_gradient 2.6
>    texture {IsoTexture}
>    no_shadow
>   }
>   box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
>   scale 1.5  rotate x*60  translate y*-0.7
>  }
> #end
>
> //***  FRAME 75  ***************************************************
> #if(number = 75)
>  #declare LCorner = <-1.8,-0.15,-1.8>;
>  #declare RCorner = <1.8,1.1,1.8>;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_witch_of_agnesi(x,y,z,-0.09,0.02)}
>    function  {"Witch_of_Agnesi",<-0.09,0.02>,library "i_algbr"}
>     //P0= Field Strength
>     //P1= Controls width of the spike. The height of the spike is always
about 1 unit
>    contained_by {box {LCorner,RCorner}}
>    max_gradient 0.6
>    texture {IsoTexture}
>    no_shadow
>   }
>   box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
>   scale 3  rotate x*-20  translate y*-1.9
>  }
> #end
>
> //***  FRAME 76  ***************************************************
> #if(number = 76)
>  //**  f_witch_of_agnesi_2d  : lathe form
***************************************
>  #declare LCorner = <-1.6,-0.2,-2.2>;
>  #declare RCorner = <1.6,2.2,2.2>;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_witch_of_agnesi_2d(x,y,z,-0.2,0.2,0.08,1,0,0)}
>    function  {"Witch_of_Agnesi2D",<-0.2,0.2,0.08,1,0,0>,library "i_algbr"}
>     //P0= Field Strength
>     //P1= Controls width of the spike.
>     //P2= Controls the height of the spike
>     //P3= SOR switch
>     //P4= SOR offset
>     //P5= SOR angle
>    contained_by {box {LCorner,RCorner}}
>    max_gradient 1.9
>    texture {IsoTexture}
>   }
>   box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
>   scale 1.8  rotate x*-15  translate <3.1,-1.5,0>
>  }
>  //** f_witch_of_agnesi_2d  : extruded form
***************************************
>  #declare LCorner = <-1.6,-0.2,-2.2>;
>  #declare RCorner = <1.6,2.2,2.2>;
>  intersection
>  {
>   isosurface
>   {
>    //TFC function  {f_witch_of_agnesi_2d(x,y,z,-0.2,0.2,0.08,0,0,0)}
>    function  {"Witch_of_Agnesi2D",<-0.2,0.2,0.08,0,0,0>,library "i_algbr"}
>     //P0= Field Strength
>     //P1= Controls width of the spike.
>     //P2= Controls the height of the spike
>     //P3= SOR switch
>     //P4= SOR offset
>     //P5= SOR angle
>    contained_by {box {LCorner,RCorner}}
>    max_gradient 0.8
>    texture {IsoTexture}
>   }
>   box {LCorner*0.9999,RCorner*0.9999  texture {ContTexture}}
>   scale 1.8  rotate x*-15  translate <-3.1,-1.5,0>
>  }
> #end
>
> //***  FRAME 77  ***************************************************
> #if(number = 77)
>  #declare Radius = 4;
>  #declare FUNC1 = function {"sphere",<4>}
>  #declare FUNC2 = function {noise3d(x*1/0.5,y*1/0.3,z*1/0.4)}
>  isosurface
>  {
>   //TFC function  {f_sphere(x,y,z,4) +
f_noise3d(x*1/0.5,y*1/0.3,z*1/0.4)*0.8}
>   function  {FUNC1(x,y,z) + FUNC2 * 0.8}
>   contained_by {sphere {0,Radius}}
>   //TFC evaluate 1,10,0.99
>   eval
>   max_gradient 1.4
>   texture {IsoTexture}
>  }
> #end
>
> //***  FRAME 78  ***************************************************
> #if(number = 78)
>  #declare Radius = 4;
>  #declare FUNC1 = function {"sphere",<4>}
>  #declare FUNC2 = function {noise3d(x,y,z)}
>  isosurface
>  {
>   //TFC function  {f_sphere(x,y,z,4) + f_noise_generator x,y,z,1)*0.8}
>   function  {FUNC1(x,y,z) + FUNC2 * 0.8}
>     //P0= type of noise_generator used (0,1,2 or 3)
>   contained_by {sphere {0,Radius}}
>   //TFC evaluate 1,10,0.99
>   eval
>   max_gradient 1.4
>   texture {IsoTexture}
>  }
> #end
>
> //***  END OF FILE  *************************************************/
>
>
>


Post a reply to this message

From: Peter Popov
Subject: Re: isosurface(Pov3.5 to Mega0.7)
Date: 21 Feb 2002 03:50:50
Message: <ttc97ug2jh0pvqgljnnd9nheck8khe086p@4ax.com>
Dennis, was quoting 1824 lines really necessary?


Peter Popov ICQ : 15002700
Personal e-mail : pet### [at] vipbg
TAG      e-mail : pet### [at] tagpovrayorg


Post a reply to this message

From: Dennis Miller
Subject: Re: isosurface(Pov3.5 to Mega0.7)
Date: 21 Feb 2002 07:22:55
Message: <3c74e69f$1@news.povray.org>
Apologies to the Group.
d.

"Peter Popov" <pet### [at] vipbg> wrote in message
news:ttc97ug2jh0pvqgljnnd9nheck8khe086p@4ax.com...
> Dennis, was quoting 1824 lines really necessary?
>
>
> Peter Popov ICQ : 15002700
> Personal e-mail : pet### [at] vipbg
> TAG      e-mail : pet### [at] tagpovrayorg


Post a reply to this message

From: GrimDude
Subject: Re: isosurface(Pov3.5 to Mega0.7)
Date: 11 Mar 2002 23:06:51
Message: <3c8d7edb$1@news.povray.org>
If you find it, please cc me. :)

Grim


Post a reply to this message

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