Télécharger voro2dp.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier voro2dp.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. *
  5. *----------------------------------------------------------------------*
  6. * voro3d.dgibi est un exemple d'utilisation dans un cas bidimensionel *
  7. * de la procedure MAILVORO de maillage d'agregats cubiques de polyedres*
  8. * de Voronoi ponderes. Cette procedure fait appel a l'operateur VORO *
  9. *----------------------------------------------------------------------*
  10. *
  11. *
  12. *
  13. *
  14. *----------------------------------------------------------------------*
  15. * Maillage d'un agregat 2D de polyedres de Voronoi ponderes *
  16. *----------------------------------------------------------------------*
  17. *
  18. *
  19. * ITRAC1 : VRAI => affichage resultats. *
  20. *
  21. ITRAC = FAUX;
  22. *
  23. OPTI 'ECHO' 1 ;
  24. *
  25. OPTI 'DIME' 2 'ELEM' 'TRI3' ;
  26. *
  27. *----------------------------------------------------------------------*
  28. * Definition du contour de l'agregat *
  29. *----------------------------------------------------------------------*
  30.  
  31. ** CONTOUR SIMPLE (CARRE UNITAIRE)
  32. SURF1 = (D 1 (0. 0.) (1. 0.)) TRAN 1 (0. 1.) ;
  33. CON1 = CONT SURF1 ;
  34.  
  35. ** CONTOUR CONCAVE (ETOILE A N BRANCHES)
  36. N = 5 ;
  37. R1 = 0.5 ;
  38. R2 = 0.2 ;
  39. P0 = 0.5 0.5 ;
  40. P1 = P0 PLUS (0. R1) ;
  41. P11 = P0 PLUS (0. R2) ;
  42. P11 = P11 TOUR (0.5*360./N) P0 ;
  43. PA = P1 ;
  44. PB = P11 ;
  45. MP1 = PA ET PB ;
  46. REPE B1 (N-1);
  47. PC = PA TOUR (360./N) P0 ;
  48. PD = PB TOUR (360./N) P0 ;
  49. MP1 = MP1 ET PC ET PD ;
  50. PA = PC ;
  51. PB = PD ;
  52. FIN B1 ;
  53. CON2 = QUEL 'SEG2' MP1 ;
  54. CON2 = D 1 CON2 P1 ;
  55. *----------------------------------------------------------------------*
  56. * Tirage des points germes des polyedres *
  57. *----------------------------------------------------------------------*
  58. *
  59. *
  60. * 20 POINTS PONDERES ALEATOIREMENT REPARTIS DANS UN CARRE UNITARE *
  61. *
  62.  
  63. LX =
  64. 0.90221 ET 0.20133 ET 0.56560 ET 0.59057 ET 0.62244 ET 0.42929
  65. ET 0.14924 ET 0.81168 ET 0.24833 ET 0.73971 ET 0.47668 ET 0.93702
  66. ET 0.63439 ET 0.54812 ET 0.93299 ET 0.42356 ET 0.41907 ET 0.45798
  67. ET 0.82657 ET 0.40545 ET 0.90096 ET 0.70135 ET 0.07765 ET 0.94570
  68. ET 0.07387 ET 0.85309 ET 0.53336 ET 0.53396 ET 0.89490 ET 0.16526;
  69. LX = LX
  70. ET 0.81715 ET 0.98414 ET 0.42919 ET 0.63140 ET 0.92989 ET 0.30138
  71. ET 0.28205 ET 0.33405 ET 0.73713 ET 0.00172 ET 0.37433 ET 0.73772
  72. ET 0.77386 ET 0.79716 ET 0.15345 ET 0.64825 ET 0.33655 ET 0.90740
  73. ET 0.04992 ET 0.90965 ET 0.22919 ET 0.55122 ET 0.09926 ET 0.54049
  74. ET 0.26713 ET 0.82928 ET 0.83984 ET 0.79921 ET 0.72242 ET 0.63971
  75. ET 0.70409 ET 0.75816 ET 0.73003 ET 0.95563 ;
  76. LX = LX
  77. ET 0.53823 ET 0.81399 ET 0.88579 ET 0.25297 ET 0.00812 ET 0.03646
  78. ET 0.11039 ET 0.32701 ET 0.47379 ET 0.18967 ET 0.16443 ET 0.65597
  79. ET 0.18728 ET 0.48901 ET 0.38849 ET 0.38324 ET 0.06384 ET 0.80955
  80. ET 0.05028 ET 0.65686 ET 0.34012 ET 0.11361 ET 0.87300 ET 0.74131
  81. ET 0.46806 ET 0.86833 ET 0.16237 ET 0.46631 ET 0.82981 ET 0.22157
  82. ET 0.60339 ET 0.26412 ET 0.49831 ET 0.74348 ET 0.99488 ET 0.30290;
  83. LY=
  84. 0.50334 ET 0.30041 ET 0.19801 ET 0.11045 ET 0.89672 ET 0.78634
  85. ET 0.59371 ET 0.52856 ET 0.42802 ET 0.47417 ET 0.69442 ET 0.27451
  86. ET 0.78955 ET 0.94542 ET 0.85125 ET 0.47539 ET 0.96178 ET 0.55086
  87. ET 0.30464 ET 0.56199 ET 0.78903 ET 0.51835;
  88. LY = LY
  89. ET 0.25365 ET 0.49865 ET 0.90667 ET 0.47131 ET 0.51647 ET 0.75300
  90. ET 0.05808 ET 0.48061 ET 0.64561 ET 0.71340 ET 0.30834 ET 0.40382
  91. ET 0.41203 ET 0.35306 ET 0.54772 ET 0.85021 ET 0.33046 ET 0.81722
  92. ET 0.66490 ET 0.66047 ET 0.03584 ET 0.59982 ;
  93. LY = LY
  94. ET 0.70660 ET 0.53181 ET 0.23926 ET 0.60610 ET 0.03037 ET 0.71444
  95. ET 0.79995 ET 0.29242 ET 0.38211 ET 0.02791 ET 0.05256 ET 0.71362
  96. ET 0.24109 ET 0.12412 ET 0.88182 ET 0.18501 ET 0.12004 ET 0.22142
  97. ET 0.56506 ET 0.93326 ET 0.84823 ET 0.83056 ET 0.86773 ET 0.68116;
  98. LY = LY
  99. ET 0.34819 ET 0.51335 ET 0.80420 ET 0.76119 ET 0.61278 ET 0.38769
  100. ET 0.97498 ET 0.00812 ET 0.10674 ET 0.39010 ET 0.11423 ET 0.37106
  101. ET 0.72900 ET 0.40098 ET 0.64321 ET 0.27265 ET 0.43734 ET 0.13851
  102. ET 0.34737 ET 0.76279 ET 0.86224 ET 0.18011 ET 0.06517 ET 0.21181
  103. ET 0.94050 ET 0.17736 ET 0.64957 ET 0.92597 ET 0.11208 ET 0.96287
  104. ET 0.15339 ET 0.14638 ;
  105. LR =
  106. 0.23758197409635060E-001 ET 0.64225183154224375E-001 ET
  107. 0.36736866656056834E-001 ET 0.48504976854531666E-001 ET
  108. 0.46128411806084395E-001 ET 0.65008575999082510E-001 ET
  109. 0.59359147697510210E-001 ET 0.40525167129123948E-001 ET
  110. 0.42953364132498145E-001 ET 0.48204093632001108E-001 ET
  111. 0.37442874863686422E-001 ET 0.69726159306463711E-001 ;
  112. LR = LR ET
  113. 0.61107188600294918E-001 ET 0.35731401565552316E-001 ET
  114. 0.19302348661940839E-001 ET 0.47834911763271745E-001 ET
  115. 0.90756246545905722E-001 ET 0.13845966509209698E-001 ET
  116. 0.44740179105557443E-001 ET 0.38972751482812672E-001 ET
  117. 0.46271060826006100E-001 ET 0.89647170245135861E-002 ET
  118. 0.65347264654501191E-001 ET 0.12597263891101817E-001 ;
  119. LR = LR ET
  120. 0.55706038465277635E-001 ET 0.28879283381112314E-001 ET
  121. 0.68983180052817478E-001 ET 0.44218630884449009E-001 ET
  122. 0.73390292911876515E-001 ET 0.53786251455369867E-001 ET
  123. 0.17437742195548236E-001 ET 0.45008409934954349E-001 ET
  124. 0.42521730084379150E-001 ET 0.80341493863335736E-001 ET
  125. 0.67940469085448041E-001 ET 0.48280785498447477E-001 ;
  126. LR = LR ET
  127. 0.80896198002394018E-001 ET 0.49516689916534545E-001 ET
  128. 0.48198056262435209E-001 ET 0.56665906046409240E-001 ET
  129. 0.68113458238553276E-001 ET 0.52844511680733661E-001 ET
  130. 0.49469896911611702E-001 ET 0.30874947353221008E-001 ET
  131. 0.53597501003170678E-001 ET 0.45377199533094457E-001 ET
  132. 0.70823283907624990E-001 ET 0.78768221923562129E-001 ;
  133. LR = LR ET
  134. 0.70058939575561405E-001 ET 0.28700285091676048E-001 ET
  135. 0.65969897140333952E-001 ET 0.56767461740104927E-001 ET
  136. 0.64479461284492459E-001 ET 0.47001581984256031E-001 ET
  137. 0.71620078488458555E-001 ET 0.51181014757361032E-001 ET
  138. 0.18992366122545450E-001 ET 0.42247195581588980E-001 ET
  139. 0.54835822733444901E-001 ET 0.37945891345290292E-001 ;
  140. LR = LR ET
  141. 0.52109846556006076E-001 ET 0.62539083462572059E-001 ET
  142. 0.42574169989056179E-001 ET 0.65233450692687794E-001 ET
  143. 0.50915456997032538E-001 ET 0.50086042670363942E-001 ET
  144. 0.30391366477836985E-001 ET 0.48591729698561882E-001 ET
  145. 0.32617470563765474E-001 ET 0.79103448891875483E-001 ET
  146. 0.52724526400029392E-001 ET 0.39057808216839948E-001 ;
  147. LR = LR ET
  148. 0.44115132239364523E-001 ET 0.20899367036974637E-001 ET
  149. 0.56948031947744143E-001 ET 0.69589542010186453E-001 ET
  150. 0.17382799880848281E-001 ET 0.58781337535647245E-001 ET
  151. 0.64386557271093048E-001 ET 0.34308860075902836E-001 ET
  152. 0.35652677896725986E-001 ET 0.52824244647675961E-001 ET
  153. 0.51051966323172659E-001 ET 0.50697539397803124E-001 ;
  154. LR = LR ET
  155. 0.43806102776363855E-001 ET 0.55005663170904356E-001 ET
  156. 0.17967702511527621E-001 ET 0.49093270626893483E-001 ET
  157. 0.20165765763335178E-001 ET 0.46686979615819454E-001 ET
  158. 0.27264197797623985E-001 ET 0.60248311830392240E-001 ET
  159. 0.60319556565133998E-001 ET 0.59439936613173559E-001 ;
  160. LR = LR ET
  161. 0.80298573574562368E-001 ET 0.53447624595389348E-001 ET
  162. 0.43649185029704343E-001 ET 0.28663996900077916E-001 ET
  163. 0.64423571479583039E-001 ET 0.26867097833576804E-001;
  164. *
  165. MAIL1 = 'VIDE' 'MAILLAGE'/'POI1';
  166. *
  167. PT1 = 'MANU' 'POI1' ((EXTR LX 1) (EXTR LY 1)) ;
  168. R1 = EXTR LR 1;
  169. CHR1 = MANU CHPO PT1 1 'RAYO' R1 NATURE DISCRET ;
  170. MAIL1 = MAIL1 'ET' PT1 ;
  171. *
  172. REPE B0 ((DIME LX) - 1);
  173. N0 = (&B0 + 1);
  174. PT1 = 'MANU' 'POI1' ((EXTR LX N0) (EXTR LY N0)) ;
  175. MAIL1 = MAIL1 'ET' PT1 ;
  176. R1 = EXTR LR N0;
  177. CHRI = MANU CHPO PT1 1 'RAYO' R1 NATURE DISCRET ;
  178. CHR1 = CHR1 'ET' CHRI;
  179. FIN B0;
  180. *
  181. CHR1 = 'REDU' CHR1 MAIL1 ;
  182. *
  183. *----------------------------------------------------------------------*
  184. * Construction et maillage de la partition de voronoi ponderee *
  185. *----------------------------------------------------------------------*
  186. *
  187. * Cas d'une enveloppe carree
  188. *
  189. ** Construction de la partition
  190. TAB0 = VORO MAIL1 CON1 CHR1;
  191. A0 = TAB0 . 'VISU' ;
  192. *
  193. ** Maillage de la partition
  194. TAB1 = MAILVORO TAB0 CON1 'COUL';
  195. *
  196. SI ITRAC;
  197. *
  198. * Constructions des cercles representants les poids des cellules
  199. POIDS = VIDE MAILLAGE/SEG2;
  200. REPE B0 (NBNO MAIL1);
  201. P1 = MAIL1 POIN &B0;
  202. X1 = COOR P1 1;Y1 = COOR P1 2;
  203. R1 = EXTR CHR1 'RAYO' P1;
  204. C1 = CERC 6 ((X1 + R1) Y1) P1 (X1 (Y1+R1));
  205. C1 = C1 ET (C1 SYME 'DROIT' P1 (X1 (Y1+R1)));
  206. C1 = C1 ET (C1 SYME 'DROIT' P1 ((X1 + R1) Y1));
  207. C1 = C1 COUL VERT;
  208. POIDS = POIDS ET C1;
  209. FIN B0;
  210. ELIM POIDS 1E-10;
  211. *
  212. TRAC ((TAB0.VISU) ET POIDS);
  213. *
  214. V1 = TAB1 . 'MAIL' ;
  215. *
  216. TRAC 'FACE' V1 'TITR' 'Maillage de la partition de Voronoi' ;
  217. FINS;
  218. *----------------------------------------------------------------------*
  219. *
  220. * Cas d'une enveloppe concave
  221. *
  222. ** Construction de la partition
  223. TAB0 = VORO MAIL1 CON2 ;
  224. A0 = TAB0 . 'VISU' ;
  225. ** Maillage de la partition
  226. TAB1 = MAILVORO TAB0 CON2 'COUL' ;
  227. SI ITRAC;
  228. *
  229. V1 = TAB1 . 'MAIL' ;
  230. TRAC 'FACE' V1 'TITR' 'Maillage de la partition de Voronoi' ;
  231. FINS;
  232. *
  233. *
  234. FIN;
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales