Descriptions et exemples pour le POV-Ray raytracer par Friedrich A. Lohmueller
      Objets POV-Ray - Comment faire des objets pour POV-Ray
English English English
Italiano  Italiano
Deutsch 

Page d'Accueil
- POV-Ray Tutorial

  - Exemples POV-Ray
   Table des matières
  - Geometrie
    - Pion
    - Cube au grillage
    - Octogone
    - Œuf - Ovoïde
    - Ètoile
    - Lentille optique
    - Échiquier
    - Forme ballon monocol
    - Forme de Erlenmeyer
    - Deux cylindres fondus
    - Tétraèdre régulier
    - Triangle de Penrose
    - Yin & Yang
    - Poissons
    - 3 Poissons
    - Feuille de Trèfle
  - Architecture
  - Technique
                                               
 
Œuf - Ovoïde

Œuf - Ovoïde

La Construction de un Œuf - une form ovoïde.
Exemple pour l'sage du commande "intersection" et / ou "difference".
Objets:   "box", "sphere".
Méthodes: "#declare", "union{...}", "intersection", "difference".
Cliquez ici pour un exemple !

La Construction détaillée:

Les parties communes (= intersection) d'une sphère respectivement d'un ellipsoïde (gris clair) et d'un parallélépipède rectangle "box" (gris foncé) forment une hémisphère (la moitié inférieur d'un Œuf) respectivement un demi-ellipsoïde (la moitié supérieur d'un Œuf). Les deux parties sont réunit par "union" pour la forme complète d'un Œuf.
La même effet on peut obtenir avec l'usage de "difference" avec les parallélépipèdes rectangles reflétes plan xz.

Vue de face (Vue en direction 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

Cela fait l'immage suivante :
 
Egg Shape 600x450
La description de la scène
pour POV-Ray :
"povegg0.txt" ou "povegg0.pov"

Un variation de ce thème :

On peut remplacer les parties marquées comme suit :

//----------------------------//de <--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 
... et nous obtenons l'immage suivante :
 
Example Egg 600x450

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