|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
If you find it, please cc me. :)
Grim
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|