Descrizioni ed esempi per il raytracer POV-Ray di Friedrich A. Lohmüller
    Oggetti Geometrici in POV-Ray
English English English
Français français
Deutsch Deutsch

Home
- POV-Ray Tutorial
 
Oggetti Geometrici
  Indice
Oggetti di Base
Forme con macros + CSG
Oggetti in "shapes3.inc"
Altri Oggetti come Macros
Oggetti di Testo 3D

Altri Oggetti
  ->blob
  - sphere_sweep
  - julia_fractal
  - Regulare Polyhedron
  - Paraboloid, Hyperboloid
  - Equazioni Polynomiali
  - Cubic & Quartic shapes
  - Parametric shapes

Forme Non-CSG
height_field + HF macros
Isosurfaces
                                   

"blob{ ... }" - metaballs, superfichi equidpotenziali (isosurface) di campi scalari

Per questa sorta di formes
solo due tipi di componenti sont ammissibile:
    "sphere" e "cylinder" !
(tutt'e due con un valore addizionale di "strength"!)
blob
Esempio di sintassi generale:
#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

Esempi:
 
blob
#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
blob
#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
blob
#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 con fiocci while:
 
blob

blob

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

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