###### Beschreibungen und Beispiele zum Raytracer POV-Rayvon Friedrich A. Lohmüller            Geometrische Körper in POV-Ray
English
Italiano
Français

Home
- POV-Ray Tutorial

Geometrische Körper
Inhaltsübersicht
Grundformen
Körper mit Makros + CSG
Körper in "shapes3.inc"
Andere Körper als Makros
3D-Text-Objekte
Andere Formen
Non CSG Körper
height_field + HF macros

Isosurfaces
- with Basic Surfaces
- with Sine Functions
->by Built-in Functions
- by Helix Functions
- by Pattern Functions

isosurface{ ... } - mit built-in Grundfunktionen. Beispiele:
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 ----------------```

 © Friedrich A. Lohmüller, 2014 www.f-lohmueller.de