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
  - sphere
  - cylinder
  - cone
  - torus
  - box
  - prism
  - plane
  > sor
  - lathe
  - superellipsoid
  - ovus

Forme con macros + CSG
Oggetti in "shapes3.inc"
Altri Oggetti come Macros
Oggetti di Testo 3D
Altre Oggetti
Forme Non-CSG
height_field + HF macros
Isosurfaces
                                   
Sample sor

"sor" - superficie di rotazione

"sor"
"sor" - superficie di rotazione

cioé surface of revolution


Sintassi generale:
sor{ n,
      < x1, y1 >,
      < x2, y2 >,
      < x3, y3 >,
               ...
      < xn, yn >
      texture{ ... }
      }

Qui "n" punti < xi, yi >( i = 1 à n ) sono usato da definire la silhouette di un corpo nel piano xy. Quelli punti sono collegati con una curva di spline. Il corpo si forma per rotazione di questa linea di silhouette attorno all'asse y.
Per principio questa curva è chiuso perpendicolare all'asse y.
Se vogliamo un corpo aperto, dobbiamo aggiungere la parola chiave "open".
Qualche tempo si vede un errore causato dalla precisione di calcolo limitata, si vede dei buchi nella superficie di rotazione. Qualche tempo il é possibile di ridurre questi errori, se si aggiunge la parola chiave "sturm" (questo costringe POV-Ray di usare l'algoritmo di Sturm per calcolare radici - è più lento ma anche più preciso).

Per ottenere un'altra posizione e/o orientazione della superficie di rotazione noi dobbiamo usare "rotate<  ,   ,   >" e "translate< , , >" .
Sample 1 sor 600x450
 
L'esempio sinistra:
// sor
// à zero (chiuso, meno una box):
sor{ 8, //n=8 Punkte!
     < 0.00, 0.00>,
     < 0.60, 0.00>,
     < 0.72, 0.44>,
     < 0.31, 0.93>,
     < 0.49, 1.26>,
     < 0.48, 1.35>,
     < 0.43, 1.56>,
     < 0.16, 1.60>
     texture{
       pigment{color White}
       finish { phong 0.5}
    }
  } // end of sor

//-----------------------
 
L'esempio à destra
// sor
// à destra (aperto):
sor{ 8, // n=8 punti!
     < 0.00, 0.00>,
     < 0.60, 0.00>,
     < 0.72, 0.44>,
     < 0.31, 0.93>,
     < 0.49, 1.26>,
     < 0.48, 1.35>,
     < 0.43, 1.56>,
     < 0.16, 1.60>
     open // <--------------!!!
     translate<2,0,0>
     texture{
       pigment{color White}
       finish {phong 0.5}
     }
   } // end of sor
//-----------------------

Consiglio: Perchè l'oggetto "sor" invece del'oggetto "lathe" ? (l'ultimo molte volte sempre più flessibile!)
Con calcolare un CSG d'altri oggetti con un oggetto "sor" bisogna sciogliere equazioni quadratiche, con oggetti "lathe" bisogna sciogliere equazioni del grado 6. Equazioni quadratiche sono più veloci e più precisi da sciogliere! Questo punto è molto importante perchè questi oggetti hanno molte parti nella superficie!

top

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