Descriptions et exemples pour le POV-Ray raytracer par Friedrich A. Lohmueller
English English English
Italiano  Italiano
Deutsch 

Page d'AccueilHome
- POV-Ray Tutorial

  Systèmes de coordonnées
  et Fonctions en 2D

  - Papier quadrillé
  - Système de coordonnées
      avec les Axes
  > Macro pour un quadrillage
      avec deux niveaux
  - Fonctions 2D
      Examples
  - Fonctions mathématiques
      en POV-Ray
                                           
Un quadrillage avec deux niveaux
La Construction d'un plan avec une quadrillage avec deux formats (p.ex. 1m et 0.1m)
par la superposition de 5 textures pour un système de coordonnée.
Objets:    "plane, cylinder, cone".
Méthods: "color_map, layered textures, macro"
        

Construction en détail :
Nous utilisons une première macro pour creer rayures avec une distance imposée vers une direction.
Avec une seconde macro nous ajoutons un premier quadrillage avec cette rayures deux fois avec la première échelle (par ex. avec 1 unité) et avec une tournée de 90° autour de l'axe y. Puis nous ajoutons le second quadrillage avec la second échelle (par ex. avec 0.1 unité) de la même manière.


//------------------------------------- ////////////
#macro Raster_Lines (RScale, LineW, Intensity_)
 pigment{ gradient x scale RScale
          color_map{
           [0.000   color rgbt<1,1,1,0>*Intensity_]
           [0+LineW color rgbt<1,1,1,0>*Intensity_]
           [0+LineW color rgbt<1,1,1,1>]
           [1-LineW color rgbt<1,1,1,1>]
           [1-LineW color rgbt<1,1,1,0>*Intensity_]
           [1.000   color rgbt<1,1,1,0>*Intensity_]
           } // end color_map
         } // end pigment
 #end// of Raster(RScale, HLine)-macro
//------------------------------------- ////////////
//------------------------------------- ////////////
#macro Raster_Plate(
    RD1, Width1,//primary raster distance/width,
    RD2, Width2,//secondary raster distance/width,
    Base_Texture, //  non = pigment { Clear }
    Intensity, // Line gray intensity
    Start_Box, End_Box, // vectors
  ) //------------------------------------------
//----------------------------------------------
box{ Start_Box,End_Box
     texture{ Base_Texture }
  #if (RD1 > 0 ) // raster big  RD1, Width1,
    texture { Raster_Lines(RD1,Width1,Intensity) }
    texture { Raster_Lines(RD1,Width1,Intensity)
              rotate<0,90,0>}
  #end
  #if (RD2 > 0 ) // raster small RD2, Width2,
    texture { Raster_Lines(RD2,Width2,Intensity) }
    texture { Raster_Lines(RD2,Width2,Intensity)
              rotate<0,90,0>}
  #end
} // end box -----------------------------------
#end // ------------------------------ end of macro
//------------------------------------- ////////////

// How to use:  ------------------------------------
#declare B_Tex =
  texture{ pigment{ color rgb<1,1,1<*1.2}}
//--------------------------------------------------
object{ Raster_Plate(
    1.0, 0.010,// RD1, Width1,// 1st distance/width,
    0.1, 0.045,// RD2, Width2,// 2nd distance/width,
    B_Tex, // Base_Texture, // non = pigment{Clear}
    0.6, // Intensity, // Line gray intensity
    <-2,-0.05,-2>, <2,0,2>, //Start/End
  ) //----------------------------------------------
  rotate<0,0,0>
  translate<0,0.001,0>
} //------------------------------------------------

Grid with 2 Levels
Quadrillage avec deux niveaux.
Téléchargement de cette scène pour POV-Ray :
raster_plate_2.pov
Grid with 2 Levels
Quadrillage avec deux niveaux avec plan de base.




Grids with 2 Levels
Quadrillage 3D avec deux niveaux.
Téléchargement de cette scène pour POV-Ray :
raster_plate_4.pov

top

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