/[opencvs]/eyes/points.c
ViewVC logotype

Diff of /eyes/points.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.8 by hib, Wed Dec 26 18:40:23 2012 UTC revision 1.9 by hib, Sun Apr 21 08:22:13 2013 UTC
# Line 1  Line 1 
1  #include <stdio.h>  #include <stdio.h>
2  #include <stdlib.h>  #include <stdlib.h>
3    
4  #define cyclone  #define antique
5    
6    #ifdef antique
7    #define WIDTH 16
8    #define HEIGHT 16
9    #endif
10    
11  #ifdef salka  #ifdef salka
12  #define WIDTH 132  #define WIDTH 132
# Line 73  for (x=0;x<width;x++) { Line 77  for (x=0;x<width;x++) {
77    }    }
78  size=width*height;  size=width*height;
79    
80  #define set(x,y,c,e) {there[x][y]=e;int cc;cc=(c);if (cc==-1) cc=y*width+x;printf("%010d|%d|%d\n",e,x,y);size=size-1;pos[cc]=pos[size];}  int set(int x,int y,int c,int e)
81    {
82    there[x][y]=e;
83    int cc;cc=(c);
84    if (cc==-1) {
85      for (cc=0;cc<size;cc++) {
86        if (pos[cc]== (y*width+x)) break;
87        }
88      if (cc==size) {
89        fprintf(stderr,"huh??????error\n");
90        exit(-1);
91        }
92      }
93    if (e>0) printf("%010d|%d|%d\n",e,x,y);
94    size=size-1;pos[cc]=pos[size];
95    }
96    
97    
98  #ifdef salka  #ifdef salka
# Line 143  set(32,5,-1,1); Line 162  set(32,5,-1,1);
162  set(22,11,-1,1);  set(22,11,-1,1);
163  #endif  #endif
164    
165    #ifdef antique
166    set(10,5,-1,-1);
167    set(11,5,-1,-1);
168    set(10,6,-1,-1);
169    set(11,6,-1,-1);
170    set(11,7,-1,-1);
171    {
172    int i;
173    for (i=0;i<16;i++) {
174      set(i,0,-1,-1);
175      set(i,15,-1,-1);
176      set(i,14,-1,-1);
177      }
178    for (i=1;i<14;i++) {
179      set(0,i,-1,-1);
180      set(15,i,-1,-1);
181      }
182    }
183    
184    set(9,5,-1,1);
185    set(12,5,-1,1);
186    set(9,10,-1,1);
187    set(11,10,-1,1);
188    set(9,7,-1,1);
189    
190    #endif
191    
192    
193  while (size) {  while (size) {
194    int c,d,e;    int c,d,e;
195    c = (rand()>>1) % (size);    c = (rand()>>1) % (size);
# Line 150  while (size) { Line 197  while (size) {
197    x = d % width;    x = d % width;
198    y = d / width;    y = d / width;
199    if (there[x][y]) {    if (there[x][y]) {
200      fprintf(stderr,"no %d %d %d %d\n",c,d,x,y);      fprintf(stderr,"no %d %d %d %d\n as %d",c,d,x,y,there[x][y]);
201        int i;
202        for (i=0;i<size;i++) {
203          int x,y;
204          int d;
205          d = pos[c];
206          x = d % width;
207          y = d / width;
208          fprintf(stderr,"i %d posi %d x %d y %d there %d\n",i,pos[i],x,y,there[x][y]);
209          }
210      exit(1);      exit(1);
211      }      }
212    if ( (x && (e=there[x-1][y])) ||    if ( (x && ((e=there[x-1][y])>0)) ||
213         ((x<width-1)&&(e=there[x+1][y])) ||         ((x<width-1)&&((e=there[x+1][y])>0)) ||
214         ((y<height-1)&&(e=there[x][y+1])) ||         ((y<height-1)&&((e=there[x][y+1])>0)) ||
215         ((y)&&(e=there[x][y-1])) ) {         ((y)&&((e=there[x][y-1])>0)) ) {
216      e++;      e++;
217      set(x,y,c,e);      set(x,y,c,e);
218      }      }

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

  ViewVC Help
Powered by ViewVC 1.1.5