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_Sphere, une sphère facettée.
|
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 :
|
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 - 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() |
|
|