Descriptions and Examples for the POV-Ray Raytracer by Friedrich A. Lohmüller Geometric Shapes in POV-Ray Italiano Français Deutsch

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
->blob
- sphere_sweep
- julia_fractal
- Regulare Polyhedron
- Paraboloid, Hyperboloid
- Polynomial equations
- Cubic & Quartic shapes
- Parametric shapes

Non CSG Shapes
height_field + HF macros
Isosurfaces

"blob{ ... }" - Metaballs, isosurfaces of scalar fields

##### For this kind of shapes only 2 types of blob components are allowed:spheres and cylinders ! (both with an additionale strength value!)
general syntax sample:
 ```#declare Strength = 1.00; // +/- strength of component's radiating density #declare Radius = 1.00; //(0 < Radius) outer sphere of influence // on other components blob{ threshold 0.6 // threshold (0.0 < threshold <= Strength) // surface falloff threshold number cylinder{<-1,0,0>,< 1,0,0>,Radius,Strength} sphere{ < 0,1.25,0>,Radius,Strength} sphere{ < 0,0,-1.25>,Radius,Strength} // a negative component: sphere{ < 0,1.50,0>,Radius/2,-Strength} // sturm scale 1 rotate<0,0,0> translate<0,0.5,0> texture{ pigment{ color rgb<0.7,1,0.0>} finish { phong 1}} } //---------- end of blob object```

Samples:

 ```#declare Stren = 1.00; #declare R = 1.00; blob{ threshold 0.6 cylinder{<-2,0.00, 0>,<2,0.00,0>, R, Stren} cylinder{< 0,0.75,-2>,<0,0.75,2>, R, Stren} // sturm scale 1 rotate<0,0,0> translate<0,0.5,0> texture{ pigment{ color rgb<1,0,0>*0.8} finish { phong 1}} } //------------- end of blob object```
 ```#declare Stren = 1.0; #declare R = 1.00; blob{ threshold 0.65 cylinder{<-1.00,0,0>,<1.00,0,0>, R, Stren} sphere{ < 2.25,0,0>, R, Stren} // sturm scale 1 rotate<0,0,0> translate<0,0.5,0> texture{ pigment{ color rgb<1,0.7,0>} finish { phong 1}} } //------------- end of blob object```
 ```#declare Stren = 1.0; #declare R1 = 2.00; #declare R2 = 1.00; blob{ threshold 0.65 cylinder{<-1,0,0>,<1,0,0>, R1, Stren} sphere{< 1.35,0, 0.00>, R2,-Stren} sphere{< 0.00,0,-0.65>, R2,-Stren} sphere{< 0.00,0, 0.65>, R2,-Stren} // sturm scale 1 rotate<0,0,0> translate<0,1,0> texture{ pigment{ color rgb<0.7,0.3,1>} finish { phong 1}} } //------------- end of blob object```

Blobs in while loops:

 ```#declare Stren = 1.00; #declare R1 = 1.00; blob{ threshold 0.65 // center sphere{ <0,0,0>, R1, Stren scale<1,2,1>} // wings #local Nr = 0; // start #local EndNr = 7; // end #while (Nr< EndNr) cylinder{<0,0,0>,< 1,0,0>, R1, Stren scale<1,0.3,1> rotate<-30,0,0> translate<1.25,0,0> rotate<0,Nr * 360/EndNr,0>} #local Nr = Nr + 1; // next number Nr #end // --------------- end of loop scale 1 rotate<0,0,0> translate<0,0.5,0> texture{ pigment{ color rgb<0.7,1,0>*0.8} finish { phong 1}} } //------------- end of blob object```

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