Descriptions et exemples pour le POV-Ray raytracer par Friedrich A. Lohmueller
  Objets Géométriques de POV-Ray
English English English
Italiano  Italiano
Deutsch 

Page d'Accueil
- Tutorièl POV-Ray
 
Objets Géométriques
   table des matières

Objets de "shapes3.inc"
- Segment_of_CylinderRing
- Segment_of_Torus
- Segment_of_Object
- Egg
- Egg_Shape
- Facetted_Egg
- Facetted_Egg_Shape
>Facetted_Sphere
- Ring_Sphere
- Column_N
- Column_N_AB
- Pyramid_N
- Pyramid_N_AB
- Round_Pyramid_N_out
- Round_Pyramid_N_in
- Round_Cylinder_Tube
- Rounded_Tube_AB
- Rounded_Tube
- Round_N_Tube_Polygon
- Round_Conic_Torus
- Round_Conic_Prism
- Half_Hollowed_Rounded_Cyl1
- Half_Hollowed_Rounded_Cyl2

 
                                       
Cette forme est définie dans mon include file "shapes3.inc" ( anciennement "shapes_lo.inc" ) .
Facetted_Sphereune sphère facettée.
Facetted_Sphere
Syntaxe générale :
object{ Facetted_Sphere(
             Quarter_Meridian_Segments,
             Equatorial_Segments
           ) //------------------------
        texture{ ... }
      } // end of object --------------
Quarter_Meridian_Segments =
      nombre de segments dans un quart de méridien,
Equatorial_Segments =
      nombre de segments dans un quart de méridien.
Le rayon externe est à l'échelle 1 unité.
Exemple :
#include "shapes3.inc"
object{ Facetted_Sphere (6, 16 )
        texture{ pigment{ color rgb<1,1,1>}
                 finish { phong 0.1}
               } // end texture
        scale<1,1,1> rotate<0,0,0>
        translate< 0, 1, 0>
      } // end of object ------------------
Voici quelques variations de cette macro :
Facetted_Spheres
Quelques variations de "Facetted_Sphere(...)"

La macro en détail
Ceci est réalisé par une intersection de prismes avec une sphère facettée externe à un bout :
Facetted_Sphere
Facetted_Sphere
Facetted_Sphere - 1 élément des prisme de l'intersection
Facetted_Sphere (6, 12 ) = intersection de 12 éléments des prisme

// ----------------------- macro Facetted_Sphere()
#macro Facetted_Sphere( Quarter_Meridian_Segments,
                        Equatorial_Segments
                      ) //------------------------

#local Facets_Silhouette =
 prism {
   -2 ,2 ,
   2*Quarter_Meridian_Segments+4
   < -2,-1.00 >,

   #local Nr    = -Quarter_Meridian_Segments;
   #local EndNr =  Quarter_Meridian_Segments;
   #while (Nr < EndNr+1)
     #local Angle_degrees = Nr* 90/EndNr;
     #local Angle_radians = radians(Angle_degrees);
   < cos(Angle_radians) , sin(Angle_radians)>,

   #local Nr = Nr + 1 ;
   #end
   < -2, 1 >,
   < -2,-1 >
 //turns prism in z direction:
 rotate<-90,0,0> scale<1,1,-1>
 } // end of prism object -------------------------

intersection{
 #local Nr = 0;                  // start
 #local EndNr = Equatorial_Segments; // end
 #while (Nr < EndNr)

 object{ Facets_Silhouette
         rotate<0,Nr * 360/EndNr,0>
       } //------------------------------

 #local Nr = Nr + 1;    // next Nr
 #end // ---------------  end of loop

} // end of intersection

#end //--------------- end of macro Facetted_Sphere()

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