* @POINTIR PROCEDUR FD218221 20/03/11 21:15:01 10549 * * *---------------------------------------------------------------------* * * * PTS1 = @POINTIR | 'UNIF' N1 | (MAIL1) ('PINI' PTS2) * * | 'EXCL' N1 'SPHE' D1 (N2) | * * * * ... ('GERM' IGER1) ; * * * *---------------------------------------------------------------------* * * * Acquisition des arguments : * * * * Dimensions de travail (IDIM1) : * * * Je cree le texte 'VOLU' 'SI' 'DIME' = 3 pour l'op. 'INCL' : * 'SI' (IDIM1 'EGA' 3) ; 'SINO' ; 'FINS' ; * * * Precision pour l'operateur INCLus : * TOL1 = -1.E-5 ; * * *---------------------------------------------------------------------* * * * DISTRIBUTION UNIFORME * * * 'SI' ('EGA' DISTRI1 'UNIF') ; * * * Arguments optionnels : * * * * Initialisation des donnees sur le domaine du tirage : * IMAIL1 = FAUX ; IMAIL1 = VRAI ; MESTIR1 = 1. ; 'REPE' B0 IDIM1 ; MESTIR1 = MESTIR1 * (MAXI1 - MINI1) ; TMOY1 . &B0 = 0.5 * (MAXI1 + MINI1) ; TECA1 . &B0 = 0.5 * (MAXI1 - MINI1) ; 'FIN' B0 ; 'SINO' ; 'REPE' B0 IDIM1 ; TMOY1 . &B0 = 0.5 ; TECA1 . &B0 = 0.5 ; 'FIN' B0 ; RTIR1 = 1. ; 'FINS' ; * * * Valeur du germe : * IGER1 = 1 ; IAUTO1 = FAUX ; 'SI' ('EGA' MOT1 'GERM') ; IAUTO1 = VRAI ; IGER1 = 'ABS' IGER2 ; 'FINS' ; 'SINO' ; 'FINS' ; 'FINS' ; 'FINS' ; * * * Tirage des points : * NB1 = 'ENTI' (('FLOT' NPTS1) * RTIR1) ; 'REPE' B0 IDIM1 ; NB1 IGER1 ; 'FIN' B0 ; NPTSI1 = 0 ; 'REPE' B1 NB1 ; IP1 = &B1 ; 'REPE' B0 IDIM1 ; 'FIN' B0 ; 'FINSI' ; 'FINSI' ; 'FINSI'; * CB215821 : Ancienne Syntaxe retirée en 2015 * PTSI1 = 'POIN' LCPTI1 ; 'SI' IMAIL1 ; 'ITER' B1 ; 'FINS' ; 'FINS' ; 'SI' (NPTSI1 'EGA' 0) ; 'SINO' ; PTS1 = PTS1 'ET' PTSI1 ; 'FINS' ; NPTSI1 = NPTSI1 + 1 ; 'SI' (NPTSI1 'EGA' NPTS1) ; 'QUIT' B1 ; 'FINS' ; 'FIN' B1 ; * * * Nouveau germe si germe auto : * 'SI' IAUTO1 ; 'OPTI' 'IMPR' IMPR1 ; 'OPTI' 'ECHO' VECH1 ; 'FINS' ; * * 'FINS' ; * * *---------------------------------------------------------------------* * * * PROCESSUS D'EXCLUSION * * * * REPU = ancienne synthaxe pour le processus d'exclusion (repulsion) * 'SI' (('EGA' DISTRI1 'EXCL') 'OU' ('EGA' DISTRI1 'REPU')) ; * * * Arguments processus d'exclusion : * 'SI' ('EGA' ZREP1 'SPHE') ; 'SINO' ; 'FINS' ; * * * Initialisation des donnees sur le domaine du tirage : * IMAIL1 = FAUX ; IMAIL1 = VRAI ; MESTIR1 = 1. ; 'REPE' B0 IDIM1 ; MESTIR1 = MESTIR1 * (MAXI1 - MINI1) ; TMOY1 . &B0 = 0.5 * (MAXI1 + MINI1) ; TECA1 . &B0 = 0.5 * (MAXI1 - MINI1) ; 'FIN' B0 ; 'SINO' ; 'REPE' B0 IDIM1 ; TMOY1 . &B0 = 0.5 ; TECA1 . &B0 = 0.5 ; 'FIN' B0 ; RTIR1 = 1. ; 'FINS' ; * * * Initialisation du nombre de tirages : NTIR1 * NTIR1 = 25 * ('ENTI' (('FLOT' NPTS1) * RTIR1)) ; 'FINS' ; * * * Initialisation des points du tirage et du germe : * IPTS2 = FAUX ; IGER1 = 1 ; IAUTO1 = FAUX ; 'REPE' XB0 2 ; 'SI' ('EGA' MOT1 'PINI') ; IPTS2 = VRAI ; 'ITER' XB0 ; 'FINS' ; 'SI' ('EGA' MOT1 'GERM') ; IAUTO1 = VRAI ; IGER1 = 'ABS' IGER2 ; 'FINS' ; 'SINO' ; 'FINS' ; 'FINS' ; 'FINS' ; 'FIN' XB0 ; * * * Tirage des points : * NB1 = NTIR1 ; 'REPE' B0 IDIM1 ; NB1 IGER1 ; 'FIN' B0 ; NPTSI1 = 0 ; 'REPE' B1 NB1 ; IP1 = &B1 ; 'REPE' B0 IDIM1 ; 'FIN' B0 ; FINSI; FINSI; FINSI; * CB215821 : Ancienne Syntaxe retirée en 2015 * PTSI1 = 'POIN' LCPTI1 ; 'SI' IMAIL1 ; 'ITER' B1 ; 'FINS' ; 'FINS' ; 'SI' IPTS2 ; 'SI' (NPTSI1 'EGA' 0) ; 'SINO' ; 'FINS' ; 'SI' (DI2 '>EG' DREP1) ; 'SI' (NPTSI1 'EGA' 0) ; 'SINO' ; PTS1 = PTS1 'ET' PTSI1 ; 'FINS' ; NPTSI1 = NPTSI1 + 1 ; 'FINS' ; 'SINO' ; 'SI' (NPTSI1 'EGA' 0) ; NPTSI1 = NPTSI1 + 1 ; 'SINO' ; 'SI' (DI2 '>EG' DREP1) ; PTS1 = PTS1 'ET' PTSI1 ; NPTSI1 = NPTSI1 + 1 ; 'FINS' ; 'FINS' ; 'FINS' ; 'SI' (NPTSI1 'EGA' NPTS1) ; 'QUIT' B1 ; 'FINS' ; 'FIN' B1 ; * * * Creation d'un maillage vide si aucun point tire : * 'SI' (NPTSI1 'EGA' 0) ; 'FINS' ; * * * Nouveau germe si germe auto : * 'SI' IAUTO1 ; 'OPTI' 'IMPR' IMPR1 ; 'OPTI' 'ECHO' VECH1 ; 'FINS' ; * * 'FINS' ; * * *---------------------------------------------------------------------* * * * Message : * * * 'RESP' PTS1 ; 'FINP' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales