Home
- POV-Ray Tutorial
Geometric Shapes
Overview
Basic Shapes
Shapes by macro + CSG
Shapes in "shapes3.inc"
Other Shapes by macros
3D text shapes
Other Shapes
Non CSG Shapes
height_field + HF macros
Isosurfaces
- with Basic Surfaces
- with Sine Functions
->by Built-in Functions
- by Helix Functions
- by Pattern Functions
|
isosurface{ ... } - by built-in basic functions. Examples:
Built-in shape
|
isosurface{ //-------------------------
function{ f_pillow( x,y,z, 0.26 )
} // field strength
contained_by {box { -1.5, 1.5 }}
threshold 0
max_gradient 18
texture{
pigment{ color rgb<1,0.45,0.8>}
finish { specular 0.2 phong 0.7}
} // end of texture
scale <1,1,1>*0.65
rotate <0,0,0>
translate <0,0,0>
} // end of isosurface ---------------- |
|
|
isosurface{ //-------------------------
function{
f_rounded_box(x,y,z,
0.15, // radius of curvature
1.00, 0.75, 0.50 ) // length in x,y,z
}
contained_by {box { -1 , 1 }}
threshold 0
max_gradient 3.168
accuracy 0.0001
texture{
pigment{ color rgb<0.75,0.6,0.45>}
normal { bumps 0.5 scale 0.005 }
finish { phong 1 }
} // end of texture
scale <1,1,1>*1.0
rotate <0,0,0>
translate <0,0,0>
} // end of isosurface ---------------- |
|
|
isosurface{ //-------------------------
function { f_rounded_box(x,y,z,0,1,1,1 )
- f_superellipsoid( x,y,z, 1.0, 0.45)
// exponents east-west, north-south
}
threshold 0
contained_by {box { -1 , 1 }}
max_gradient 10
accuracy 0.005
open // optional
texture {
pigment{ color rgb<0.3,0.15,1>}
finish { specular 0.2 phong 0.7 reflection 0.1}
} // end of texture
scale <1,1,1>*1
rotate <0,0,0>
translate <0,0,0>
} // end of isosurface ---------------- |
|
|
isosurface{ //-------------------------
function { f_torus( x,y,z, 0.75, 0.25)
} // major radius, minor radius
threshold 0.00
max_gradient 5
contained_by{box{ -1, 1 }}
texture{
pigment{ color rgb<0.2,0.45,1>}
finish { specular 0.2 phong 0.7 reflection 0.1}
} // end of texture
scale <1,1,1>*1.5
rotate <0,0,0>
translate <0,0,0>
} // end of isosurface ---------------- |
|
|
isosurface{ //-------------------------
function{ f_torus2( x,y,z, -0.75, 0.66, 0.02)
// needs negative Field Strength
// or a negated function, major radius, minor radius
}
threshold 0.16
accuracy 0.005
max_gradient 10
contained_by{box{ -1, 1 }}
texture{
pigment{ color rgb<1.0,0.05,0.2>}
normal { bumps 0.5 scale 0.035}
finish { diffuse 0.75 specular 0.2
phong 0.7 reflection 0.05}
} // end of texture
scale <1,1,1>*1.5
rotate <0,0,0>
translate <0,0,0>
} // end of isosurface ---------------- |
|
|
isosurface{ //-------------------------
function{ f_paraboloid(x,-y,z, -1) }
accuracy 0.002
max_gradient 4
contained_by{box{ -1, 1 }}
texture{
pigment{ color rgb<0.5,1,0.1>}
finish { phong 1}
} // end of texture
scale <1,1,1>*1.0
rotate <0,0,0>
translate <0,1,0>
} // end of isosurface ---------------- |
|
|
isosurface{ //-------------------------
function { f_sphere(x, y, z, 1) }
threshold 0
accuracy 0.0001
max_gradient 5
contained_by{ sphere{<0,0,0>, 1} }
texture{ pigment{ color rgb<1,0.6,0>}
finish { specular 0.2 phong 1}
} // end of texture
scale <1.00,1.00,1.00>
rotate <0,0,0>
translate <0,0,0>
} // end of isosurface ---------------- |
|
|
isosurface{ //-------------------------
function { f_heart( x,y,z, -0.15)}
threshold 0
accuracy 0.0001
max_gradient 100
contained_by{ box{<-1.1,-1.5,-1.1>,<1.1,1.22,1.5>}}
texture{ pigment{ color rgb<1,0.7,0.1>}
finish { phong 1 specular 0.3}
} // end of texture
scale <1,1,1>*1.0
rotate <-90, 90, 0>
translate <0,1.3,0>
} // end of isosurface ---------------- |
|
|
isosurface{ //-------------------------
function { f_comma( x,y,z, 1) }
threshold 0
accuracy 0.0001
max_gradient 5
contained_by{ sphere {0,1.5} }
texture{ pigment{ color rgb<0.7,1,0>}
finish { phong 0.5 }
} // end of texture
scale <1,1,1> *1.2
rotate <90,0,0>
translate <0,0,0>
} // end of isosurface ---------------- |
|
|
isosurface{ //-------------------------
function{ f_dupin_cyclid( x,y,z,
-0.05, // field strength,
1, // major radius of torus,
0.25, // minor radius of torus,
0.25, // x displacement of torus,
0.0, // y displacement of torus,
0.75 ) // radius of inversion
}
contained_by {sphere {0,1.25}}
texture{
pigment{ color rgb<0.6,0.5,1>}
finish { specular 0.1
roughness 0.1 phong 0.6}
} // end of texture
scale <1,1,1>*1.2
rotate <90,0,0>
translate <0,0,0>
} // end of isosurface ---------------- |
|
|
isosurface{ //-------------------------
function{ f_flange_cover( x,y,z,
0.004, // spikiness,
10, // inverse size,
0.53, // flange, (1 = off)
1 ) // threshold
}
contained_by {sphere {0,1.5}}
threshold 0.01
accuracy 0.00001
max_gradient 5
texture{
pigment{ color rgb<0.9,0.4,0.7>}
finish {specular 0.1
roughness 0.1 phong 0.2 }
} // end of texture
scale <1,1,1>*1
rotate <0,0,0>
translate <0,0,0>
} // end of isosurface ---------------- |
|
|
isosurface{ //-------------------------
function { f_sphere(x,y,z, 0.85)
+ f_spikes( x,y,z,
0.0001, // spikiness, (very low, 1 = sphere)
1.34, // hollowness,
0.95, // size,
0.70, // roundness,
1.00 ) // fatness
}
contained_by {box { -2, 2 }}
threshold 1.55 //1.25
max_gradient 8
texture{
pigment{ color rgb<1,0.15,0.3>}
finish { diffuse 0.75 specular 0.2
phong 0.7 reflection 0.2 }
} // end of texture
scale <1,1,1>*0.65
rotate <0,0,0>
translate <0,0,0>
} // end of isosurface ---------------- |
|
|
isosurface{ //-------------------------
function { y + f_spikes_2d( x,y,z,
2, // height of central spike,
12, // frequency of spikes in the x direction,
12, // frequency of spikes in the z direction,
0.75) // rate at which the spikes reduce
} // as you move away from the center
contained_by {box {<-2,0,-2>,<2,4,2>}}
threshold 1.55 //1.25
max_gradient 8
texture{
pigment{ color rgb<1,0.15,0.3>}
finish { diffuse 0.9 specular 0.2
phong 0.7 reflection 0.2 }
} // end of texture
scale <1,1,1>*0.65
rotate <0,0,0>
translate <0,0,0>
} // end of isosurface ---------------- |
|
|