Download voro2d.dgibi

Back to the list

* fichier voro2d.dgibi
*
*----------------------------------------------------------------------*
* voro3d.dgibi est un exemple d'utilisation dans un cas bidimensionel  *
* de la procedure MAILVORO de maillage d'agregats cubiques de polyedres*
* de Voronoi. Cette procedure fait appel a l'operateur VORO            *
* La procedure @POINTIR permet de "tirer" aleatoirement un ensemble    *
* de points servant de germe de la partition de Voronoi.               *
*----------------------------------------------------------------------*
*
*
*
*
*----------------------------------------------------------------------*
*          Maillage d'un agregat 2D de polyedres de Voronoi            *
*----------------------------------------------------------------------*
*
*-------------------- Parametres de la realisation --------------------*
*                                                                      *
* NBG1     : Nombre de polyedres.                                      *
* DEXC1    : Distance d'exclusion entre points germes des polyedres.   *
*            Attention, si la distance est trop importante, le nombre  *
*            de polyedres demandes ne pourra pas etre atteint.         *
*            Par defaut, vaut 1/5 de la taille moyenne des polyedres.  *
* ITRAC1   : VRAI => affichage resultats.                              *
NBG1    = 50;
DEXC1   = 0.05;
ITRAC   = FAUX;
*
OPTI 'ECHO' 1 ;
*
OPTI 'DIME' 2 'ELEM' 'TRI3' ;
*
*----------------------------------------------------------------------*
*                  Definition du contour de l'agregat                  *
*----------------------------------------------------------------------*

** CONTOUR SIMPLE (CARRE UNITAIRE)
SURF1    = (D 1 (0. 0.) (1. 0.)) TRAN 1 (0. 1.) ;
CON1     = CONT SURF1 ;

** CONTOUR CONCAVE (ETOILE A N BRANCHES)
N        = 5 ;
R1       = 0.5 ;
R2       = 0.2 ;
P0       = 0.5 0.5 ;
P1       = P0 PLUS (0. R1) ;
P11      = P0 PLUS (0. R2) ;
P11      = P11 TOUR (0.5*360./N) P0 ;
PA       = P1 ;
PB       = P11 ;
MP1      = PA ET PB ;
REPE B1 (N-1);
  PC       = PA TOUR (360./N) P0 ;
  PD       = PB TOUR (360./N) P0 ;
  MP1      = MP1 ET PC ET PD ;
  PA       = PC ;
  PB       = PD ;
FIN B1 ;
CON2     = QUEL 'SEG2' MP1 ;
CON2     = D 1 CON2 P1 ;
*----------------------------------------------------------------------*
*                Tirage des points germes des polyedres                *
*----------------------------------------------------------------------*
*
'SAUT' 1 'LIGN' ;
'MESS' '***** Tirage des points germes des polyedres' ;
*
MAIL1 = @POINTIR 'EXCL' NBG1 'SPHE' DEXC1 ;
*
** PARTITIONS DE VORONOI
TAB0     = VORO MAIL1 CON1 ;
A0       = TAB0 . 'VISU' ;
** MAILLAGE DE LA PARTITION DE VORONOI
TAB1     = MAILVORO TAB0 CON1 'COUL';
*
SI ITRAC;
  V1       = TAB1 . 'MAIL' ;
  TRAC 'FACE' V1 'TITR' 'Maillage de la partition de Voronoi' ;
FINS;
*
** PARTITIONS DE VORONOI
TAB0     = VORO MAIL1 CON2 ;
A0       = TAB0 . 'VISU' ;
** MAILLAGE DE LA PARTITION DE VORONOI
TAB1     = MAILVORO TAB0 CON2 'COUL' ;
SI ITRAC;
  V1       = TAB1 . 'MAIL' ;
  TRAC 'FACE' V1 'TITR' 'Maillage de la partition de Voronoi' ;
FINS;





FIN;

 

© Cast3M 2003 - All rights reserved.
Disclaimer