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
  - Géométrie
  - Architecture
    - Maison
    - Toit
    - Tour
    - Châteaux
    - Fenêtre + Porte
    - Escaliers
    - Pyramide
    - Colonne
    - Arc, Arche
    - Clôtures
    - Meubles
    - Ménage
  - Technique
                                       
 
table

Une Portion de Fromage

Objets: "box", "sphere", "Rounded Cylinder", "shapes_lo.inc"
Méthodes: "#declare", "union", "difference", "#while", "#macro"
L'échelle du modèle : 1 unité = 1.00 meter
Premièrement nous devons arranger quelques sphères dans un quadrillage rectangulaire :
#declare Cheese_R_ = 0.30; // width in x
#declare Cheese_H_ = 0.14; // width in y
#local Max_D =  Cheese_H_/4; // distance
#local Max_Num_X = int(Cheese_R_/Max_D)-0.5;
#local Max_Num_Y = max(1,int(Cheese_H_/Max_D)-0.5);
//-------------------------------------------------
 #local NrX = 0.75; // outer loop x
 #while (NrX < Max_Num_X)
  #local NrY = 0.5; // inner loop y
  #while (NrY <  Max_Num_Y)
    sphere{ <0,0,0>,Max_D/2
      translate<(NrX+0.5),(NrY+0.5),0>*Max_D
      pigment{color rgb<1,0.7,0.3>} finish{phong 1}
    } // ------- end sphere
  #local NrY = NrY + 1;  // next Nr y
  #end // --------------- end of inner loop y
  // end inner loop
 #declare NrX = NrX + 1;  // next Nr x
 #end // --------------- end of outer loop x 
Après cela nous ajoutons quelque 'hasard aux échelles et la position. Nous ajoutons avant la boucle :
#declare Rnd_ = seed( 18926 );
et nous remplacons la sphère par la sphère suivante :
sphere{ <0,0,0>,Max_D/2
      scale<1+0.5*(rand(Rnd_)),
            1-0.5*(rand(Rnd_)),
            1+0.5*(0.5-rand(Rnd_))>
      translate<(NrX+0.5)+0.85*(0.5-rand(Rnd_)),   
                (NrY+0.5)+0.85*(0.5-rand(Rnd_)),
                0.15*(0.5-rand(Rnd_))> * Max_D
       pigment{ color rgb<1,0.7,0.3>}
     } // ------- end sphere
Puis nous découpons une portion de fromage par utiliser la macro Round_Cylinder et moi macro Segment_of_Object(Object,Angle) :
Pour télécharger voyez "Pas 2" ici shapes_lo.inc.
#include "shapes_lo.inc"
#declare Cheese_R_  = 0.30; // radius
#declare Cheese_H_  = 0.15; // height
#declare Cheese_Border_R_ = 0.05;
#declare Cut_Angle_ = 30; // degrees
//------------------------------------
#declare Cheese_Shape_ =
object{ Round_Cylinder(
        <0,0,0>,<0,Cheese_H_,0>,
        Cheese_R_ , Cheese_Border_R_, 0) }
object{ Segment_of_Object(Cheese_Shape_,Cut_Angle_)
        texture{ Cheese_Texture }
      } // ----------------------------------------

Maintenant nous devons seulement soustraire les trous de le façade antérieur et derrière della forme "Cheese_Shape_" !
( Voir le fichier della scène pour plus des détails ! )

regulare grid
Un quadrillage rectangulaire
regulare grid
Un quadrillage rectangulaire
avec un peu de 'hasard.
cut of cheese
Une portion de fromage.
cut of cheese
Une portion de fromage avec des trous.
Cliquez ici pour un description de la scène
pour POV-Ray :
fichier ".txt" ou fichier ".pov"
Objets prêt à l'usage pour POV-Ray comme
fichiers include avec fichiers exemple
on peut trouver sur la POV-Ray Objects page.
top

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