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 |
|
|