Descrizioni ed esempi per il raytracer POV-Ray di Friedrich A. Lohmüller
Esempi POV-Ray - Come fare oggetti per POV-Ray
English English English
Français français
Deutsch Deutsch

Home
- POV-Ray Tutorial

  - Esempi per POV-Ray
   Indice generale
  - Geometria
    - Pedone
    - Cubo wireframe
    - Ottagono
    - Forma ovoidale
    - Stella
    - Lente ottica
    - Scacchiera
    - Forma Pallone

    - Forma Erlenmeyer
    - Due Cilindri Fondati
    - Tetraedro Regolare
    - Triangolo di Penrose
    - Yin & Yang
    - Partizione Pisciforme
    - Rosetta Trilobato
    - Partizione Trilobata
  - Architettura
  - Tecnica
                                               
 
Forma ovoidale

Forma ovoidale

La costruzione di un a forma ovoidale.
Esempio per l'uso di "intersection" e / o "difference".
Oggetti: "box", "sphere".
Metodi:  "#declare", "union{...}", "intersection", "difference".
Cliccare qui per un esempio!

La costruzione nel dettaglio:

Le parti in comune (= intersection) di una sfera oppure di un ellissoide (grigio chiaro) e un "box" (grigio scuro) formano una semisfera (la metà inferiore di un uovo) respectivly un semi-ellissoide (la metà  superiore di un uovo). Le due parti sono uniti con "union" per la forma completa di un uovo.
Lo stesso effetto si può ottenere con l'uso di "difference" con i "box" riflettati al piano xz.

Veduta anteriore. (Vista in direzione z)

//--------------------------------------
#declare Egg_Tex =            //  <--1
texture{ pigment{color White}
         normal {bumps 0.4 scale 0.01}
         finish {diffuse 0.9 phong 0.1}
       } // end of texture
//---------------------------//  <--2
#declare Egg_upperpart =
intersection{
 sphere{<0,0,0>,1 scale<1,1.75,1>}
 box{<-1,0,-1>,<1,1.75,1>}
//Alternativly with "difference":
// difference{
// sphere{<0,0,0>,1 scale<1,1.75,1>}
// box{<-1,-1.75,-1>,<1,0,1>}
 }//------------------------------------

 #declare Egg_lowerpart =
intersection{
 sphere{<0,0,0>,1 scale<1,1,1>}
 box{<-1,-1,-1>,<1,0,1>}
//Alternativly with "difference":
//difference{
// sphere{<0,0,0>,1 scale<1,1,1>}
// box{<-1,0,-1>,<1,1,1>}
 }//------------------------------------

 #declare Egg =
union{ object{Egg_upperpart }
       object{Egg_lowerpart}
       texture{Egg_Tex}
 }//--------------------------// <--3
object{ Egg_upperpart
        translate<-1.1,1.1,0>
        texture{Egg_Tex}}
object{ Egg_lowerpart
        translate<-1.1,0.9,0>
        texture{Egg_Tex}}
object{ Egg       translate< 1.1,1.0,0>}
//-------------------------------- end

L'immagine risultando:
 
Egg Shape 600x450
La descrizione della scena per POV-Ray:
"povegg0.txt" o "povegg0.pov"

Una variazione sul tema:

Se rimpiazziamo le parti marcati come segue:

//----------------------------//from <--1
#declare Egg_Tex =
 texture{pigment{color rgb<1,0.85,0.0>}
         normal {bumps 0.75 scale 0.1}
         finish {diffuse 0.9 phong 1}}
                              //to <--2
//--------------------------//from <--3
union{
object{ Egg scale 0.4 translate<-1,1,-1>}
object{ Egg scale 0.4 translate< 0,1,-1>}
object{ Egg scale 0.4 translate< 1,1,-1>}
object{ Egg scale 0.4 translate<-1,1, 0>}
object{ Egg scale 0.4 translate< 0,1, 0>}
object{ Egg scale 0.4 translate< 1,1, 0>}
object{ Egg scale 0.4 translate<-1,1, 1>}
object{ Egg scale 0.4 translate< 0,1, 1>}
object{ Egg scale 0.4 translate< 1,1, 1>}
rotate<-40,40,0>
translate<0.3,0.7,-0.1>
}//---------------------------------- end 
.. dopo questo ottenons quest'immagine:
 
Example Egg 600x450
 
top

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