// Eden model // CO904 class // Ellak Somfai, 2011. #include #include #include #define L 200 double dist(int x1, int y1, int x2, int y2) { return sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)); } int main (int argc, char** argv) { int a[L][L]; int center = L/2; int i, j; int size; double maxrad; // initialise random number generator srand48(12315); // empty for (i = 0; i < L; i++) { for (j = 0; j < L; j++) { a[i][j] = 0; } } // seed of cluster a[center][center] = 1; size = 1; maxrad = 0.; // grow do { i = 1 + (L-2) * drand48(); j = 1 + (L-2) * drand48(); if (a[i][j] == 0 && (a[i+1][j] == 1 || a[i-1][j] == 1 || a[i][j+1] == 1 || a[i][j-1] == 1) ) { a[i][j] = 1; size++; maxrad = fmax(dist(i, j, center, center), maxrad); printf("%d %d\n", i, j); } } while (maxrad < L/2 - 2); /* for (i = 0; i < L; i++) { for (j = 0; j < L; j++) { if (a[i][j] == 1) { printf("%d %d\n", i, j); } } } */ return 0; } // vim: set sw=4 cin cino=\:0 sts=4 expandtab :