Difference between revisions of "Team:NYU Shanghai/Code"

 
(3 intermediate revisions by the same user not shown)
Line 543: Line 543:
 
<br><span></span><span></span>
 
<br><span></span><span></span>
 
<br><br><span></span><span></span>//black background
 
<br><br><span></span><span></span>//black background
<br><span></span><span></span><br>noStroke();
+
<br><span></span><span></span>noStroke();
<br><span></span><span></span><br>fill(0);
+
<br><span></span><span></span>fill(0);
<br><span></span><span></span><br>rect(-interval, -interval, (grid_size+interval)*grid_num+interval*2,  
+
<br><span></span><span></span>rect(-interval, -interval, (grid_size+interval)*grid_num+interval*2,  
<br><span></span><span></span><br>(grid_size+interval)*grid_num+interval*2);
+
<br><span></span><span></span>(grid_size+interval)*grid_num+interval*2);
 
<br><span></span><span></span>
 
<br><span></span><span></span>
<br><span></span><span></span><br><br>for (int i=0; i < sequence.length; i++) {
+
<br><span></span><span></span>for (int i=0; i < sequence.length; i++) {
<br><span></span><span></span><span></span><br>x=(grid_size+interval)*(i%grid_num);
+
<br><span></span><span></span><span></span>x=(grid_size+interval)*(i%grid_num);
<br><span></span><span></span><span></span><br>y=(grid_size+interval)*(i/grid_num);
+
<br><span></span><span></span><span></span>y=(grid_size+interval)*(i/grid_num);
<br><span></span><span></span><span></span><br>if (sequence[i]) {
+
<br><span></span><span></span><span></span>if (sequence[i]) {
<br><span></span><span></span><span></span><span></span><br>fill(red, green, blue);
+
<br><span></span><span></span><span></span><span></span>fill(red, green, blue);
<br><span></span><span></span><span></span><br>} else {
+
<br><span></span><span></span><span></span>} else {
<br><span></span><span></span><span></span><span></span><br>if (select){fill(100);}
+
<br><span></span><span></span><span></span><span></span>if (select){fill(100);}
<br><span></span><span></span><span></span><span></span><br>else {fill(70);}
+
<br><span></span><span></span><span></span><span></span>else {fill(70);}
<br><span></span><span></span><span></span><br>}
+
<br><span></span><span></span><span></span>}
<br><span></span><span></span><span></span><br>rect(x, y, grid_size, grid_size);
+
<br><span></span><span></span><span></span>rect(x, y, grid_size, grid_size);
<br><span></span><span></span><br>}
+
<br><span></span><span></span>}
  
  
Line 858: Line 858:
 
  <br><span></span> }
 
  <br><span></span> }
  
<span></span><span></span><br><br>for (x=0; x<w; x++) {
+
<br><br><span></span><span></span>for (x=0; x<w; x++) {
<span></span><span></span><span></span><br>rsum=gsum=bsum=0;
+
<br><span></span><span></span><span></span>rsum=gsum=bsum=0;
<span></span><span></span><span></span><br>yp=-radius*w;
+
<br><br><span></span><span></span><span></span>yp=-radius*w;
<span></span><span></span><span></span><br>for (i=-radius; i<=radius; i++) {
+
<br><span></span><span></span><span></span>for (i=-radius; i<=radius; i++) {
<span></span><span></span><span></span><span></span><br>yi=max(0, yp)+x;
+
<br><span></span><span></span><span></span><span></span>yi=max(0, yp)+x;
<span></span><span></span><span></span><span></span><br>rsum+=r[yi];
+
<br><span></span><span></span><span></span><span></span>rsum+=r[yi];
<span></span><span></span><span></span><span></span><br>gsum+=g[yi];
+
<br><span></span><span></span><span></span><span></span>gsum+=g[yi];
<span></span><span></span><span></span><span></span><br>bsum+=b[yi];
+
<br><span></span><span></span><span></span><span></span>bsum+=b[yi];
<span></span><span></span><span></span><span></span><br>yp+=w;
+
<br><span></span><span></span><span></span><span></span>yp+=w;
<span></span><span></span><span></span><br>}
+
<br><span></span><span></span><span></span>}
<span></span><span></span><span></span><br>yi=x;
+
<br><span></span><span></span><span></span>yi=x;
<span></span><span></span><span></span><br>for (y=0; y<h; y++) {
+
<br><span></span><span></span><span></span>for (y=0; y < h; y++) {
<span></span><span></span><span></span><span></span><br>pix[yi]=0xff000000 | (dv[rsum]<<16) | (dv[gsum]<<8) | dv[bsum];
+
<br><span></span><span></span><span></span><span></span>pix[yi]=0xff000000 | (dv[rsum]<< 16) | (dv[gsum]<< 8) | dv[bsum];
<span></span><span></span><span></span><span></span><br>if (x==0) {
+
<br><span></span><span></span><span></span><span></span>if (x==0) {
<span></span><span></span><span></span><span></span><span></span><br>vmin[y]=min(y+radius+1, hm)*w;
+
<br><span></span><span></span><span></span><span></span><span></span>vmin[y]=min(y+radius+1, hm)*w;
<span></span><span></span><span></span><span></span><span></span><br>vmax[y]=max(y-radius, 0)*w;
+
<br><span></span><span></span><span></span><span></span><span></span>vmax[y]=max(y-radius, 0)*w;
<span></span><span></span><span></span><span></span><br>}
+
<br><span></span><span></span><span></span><span></span>}
<span></span><span></span><span></span><span></span><br>p1=x+vmin[y];
+
<br><span></span><span></span><span></span><span></span>p1=x+vmin[y];
<span></span><span></span><span></span><span></span><br>p2=x+vmax[y];
+
<br><span></span><span></span><span></span><span></span>p2=x+vmax[y];
  
<span></span><span></span><span></span><span></span><br><br>rsum+=r[p1]-r[p2];
+
<br><br><span></span><span></span><span></span><span></span>\rsum+=r[p1]-r[p2];
<span></span><span></span><span></span><span></span><br>gsum+=g[p1]-g[p2];
+
<br><span></span><span></span><span></span><span></span>gsum+=g[p1]-g[p2];
<span></span><span></span><span></span><span></span><br>bsum+=b[p1]-b[p2];
+
<br><span></span><span></span><span></span><span></span>bsum+=b[p1]-b[p2];
  
<span></span><span></span><span></span><span></span><br><br>yi+=w;
+
<br><br><span></span><span></span><span></span><span></span>yi+=w;
<span></span><span></span><span></span><br>}
+
<br><span></span><span></span><span></span>}
<span></span><span></span><br>}
+
<br><span></span><span></span>}
<span></span><br>}
+
<br><span></span>}
  
 
<br><br><span></span>void save_blob() {
 
<br><br><span></span>void save_blob() {
Line 891: Line 891:
 
<br><br><span></span><span></span>Blob b;
 
<br><br><span></span><span></span>Blob b;
 
<br><span></span><span></span>blobs=new float[theBlobDetection.getBlobNb ()][4];
 
<br><span></span><span></span>blobs=new float[theBlobDetection.getBlobNb ()][4];
<br><span></span><span></span>for (int n=0; n<theBlobDetection.getBlobNb (); n++)
+
<br><span></span><span></span>for (int n=0; n < theBlobDetection.getBlobNb (); n++)
 
<br><span></span><span></span>{
 
<br><span></span><span></span>{
 
<br><span></span><span></span><span></span>b=theBlobDetection.getBlob(n);
 
<br><span></span><span></span><span></span>b=theBlobDetection.getBlob(n);
 
<br><span></span><span></span><span></span>if (dist(block_size/2,block_size/2,b.xMin*block_size,
 
<br><span></span><span></span><span></span>if (dist(block_size/2,block_size/2,b.xMin*block_size,
<br><span></span><span></span><span></span><span></span>b.yMin*block_size)<radius
+
<br><span></span><span></span><span></span><span></span>b.yMin*block_size)< radius
<br><span></span><span></span><span></span>&&b.w*block_size>5&&b.w*block_size<25&&
+
<br><span></span><span></span><span></span>&&b.w*block_size>5&&b.w*block_size< 25&&
<br><span></span><span></span><span></span>b.h*block_size>5&&b.h*block_size<25){
+
<br><span></span><span></span><span></span>b.h*block_size>5&&b.h*block_size< 25){
 
<br><span></span><span></span><span></span>blobs[n][0]=b.xMin*block_size;
 
<br><span></span><span></span><span></span>blobs[n][0]=b.xMin*block_size;
 
<br><span></span><span></span><span></span>blobs[n][1]=b.yMin*block_size;
 
<br><span></span><span></span><span></span>blobs[n][1]=b.yMin*block_size;
Line 908: Line 908:
 
<br><br><span></span>void convert() {
 
<br><br><span></span>void convert() {
 
<br><span></span><span></span>int row, col, i;
 
<br><span></span><span></span>int row, col, i;
<br><span></span><span></span>for (int n=0; n<sequence.length; n++) {
+
<br><span></span><span></span>for (int n=0; n< sequence.length; n++) {
 
<br><span></span><span></span><span></span>sequence[n]=false;
 
<br><span></span><span></span><span></span>sequence[n]=false;
 
<br><span></span><span></span>}
 
<br><span></span><span></span>}
<br><span></span><span></span>for (int n=0; n<blobs.length; n++) {
+
<br><span></span><span></span>for (int n=0; n< blobs.length; n++) {
 
<br><span></span><span></span><span></span>row=int(blobs[n][0]+blobs[n][2]*0.5)/grid_size;
 
<br><span></span><span></span><span></span>row=int(blobs[n][0]+blobs[n][2]*0.5)/grid_size;
 
<br><span></span><span></span><span></span>col=int(blobs[n][1]+blobs[n][3]*0.5)/grid_size;
 
<br><span></span><span></span><span></span>col=int(blobs[n][1]+blobs[n][3]*0.5)/grid_size;
 
<br><span></span><span></span><span></span>i=row+col*grid_num;
 
<br><span></span><span></span><span></span>i=row+col*grid_num;
<br><span></span><span></span>if (i>0&&i<grid_num*grid_num) {
+
<br><span></span><span></span>if (i>0&&i< grid_num*grid_num) {
 
<br><span></span><span></span><span></span><span></span>sequence[i]=true;
 
<br><span></span><span></span><span></span><span></span>sequence[i]=true;
<br><span></span><span></span><span></span><br>}
+
<br><span></span><span></span><span></span>}
 
<br><span></span><span></span>}
 
<br><span></span><span></span>}
 
<br><span></span>}
 
<br><span></span>}
Line 931: Line 931:
 
<br><span></span><span></span>rect(-interval,-interval,(grid_size+interval)*grid_num+interval*2,
 
<br><span></span><span></span>rect(-interval,-interval,(grid_size+interval)*grid_num+interval*2,
 
<br><span></span><span></span>(grid_size+interval)*grid_num+interval*2);
 
<br><span></span><span></span>(grid_size+interval)*grid_num+interval*2);
<br><span></span><span></span>for (int i=0; i<sequence.length; i++) {
+
<br><span></span><span></span>for (int i=0; i< sequence.length; i++) {
 
<br><span></span><span></span><span></span>x=(grid_size+interval)*(i%grid_num);
 
<br><span></span><span></span><span></span>x=(grid_size+interval)*(i%grid_num);
<br><span></span><span></span><span></span><br>y=(grid_size+interval)*(i/grid_num);
+
<br><span></span><span></span><span></span>y=(grid_size+interval)*(i/grid_num);
  
<br><br><span></span><span></span><span></span><span></span><br><br>noStroke();
+
<br><br><span></span><span></span><span></span><span></span>noStroke();
 
<span></span><span></span><span></span>
 
<span></span><span></span><span></span>
<br><br><span></span><span></span><span></span><br><br>if (sequence[i]) {
+
<br><br><span></span><span></span><span></span>if (sequence[i]) {
 
<br><span></span><span></span><span></span><span></span><br>fill(avg_color[0], avg_color[1], avg_color[2]);
 
<br><span></span><span></span><span></span><span></span><br>fill(avg_color[0], avg_color[1], avg_color[2]);
<br><span></span><span></span><span></span><br>} else {
+
<br><span></span><span></span><span></span>} else {
<br><span></span><span></span><span></span> <br>fill(70);
+
<br><span></span><span></span><span></span> fill(70);
<br><span></span><span></span><span></span><br>}
+
<br><span></span><span></span><span></span>}
<br><span></span><span></span><span></span><br>rect(x, y, grid_size, grid_size);
+
<br><span></span><span></span><span></span>rect(x, y, grid_size, grid_size);
<br><span></span><span></span><br>}
+
<br><span></span><span></span>}
<br><span></span><span></span><br>popMatrix();
+
<br><span></span><span></span>popMatrix();
 
<br><span></span><br>}
 
<br><span></span><br>}
  
 
<br><br><span></span><br><br>void glow(int n) {
 
<br><br><span></span><br><br>void glow(int n) {
<br><span></span><span></span><br>pushMatrix();
+
<br><span></span><span></span>pushMatrix();
<br><span></span><span></span><br>translate(a, b);
+
<br><span></span><span></span>translate(a, b);
<br><span></span><span></span><br>rectMode(CORNER);
+
<br><span></span><span></span>rectMode(CORNER);
<br><span></span><span></span><br>for (int m=0; m<grid_num; m++) {
+
<br><span></span><span></span>for (int m=0; m< grid_num; m++) {
<br><span></span><span></span><span></span><br>if (sequence[m*grid_num+n]) {
+
<br><span></span><span></span><span></span>if (sequence[m*grid_num+n]) {
<br><span></span><span></span><span></span><span></span><br>for (int p=-1; p<2; p++) {
+
<br><span></span><span></span><span></span><span></span>for (int p=-1; p< 2; p++) {
<br><span></span><span></span><span></span><span></span><span></span><br>for (int q=-1; q<2; q++) {
+
<br><span></span><span></span><span></span><span></span><span></span>for (int q=-1; q< 2; q++) {
<br><span></span><span></span><span></span><span></span><span></span><span></span><br>if (n+p>=0&&n+p<grid_num&&m+q>=0&&
+
<br><span></span><span></span><span></span><span></span><span></span><span></span>if (n+p>=0&&n+p< grid_num&&m+q>=0&&
<br><span></span><span></span><span></span><span></span><span></span><span></span><span></span><br>m+q<grid_num) {
+
<br><span></span><span></span><span></span><span></span><span></span><span></span><span></span>m+q< grid_num) {
<br><span></span><span></span><span></span><span></span><span></span><span></span><span></span><br>noStroke();
+
<br><span></span><span></span><span></span><span></span><span></span><span></span><span></span>noStroke();
<br><br><span></span><span></span><span></span><span></span><span></span><span></span><span></span><br><br>fill(255, 255, 255, 20);
+
<br><br><span></span><span></span><span></span><span></span><span></span><span></span><span></span>fill(255, 255, 255, 20);
<br><span></span><span></span><span></span><span></span><span></span><span></span><span></span><br>rect((n+p)*(interval+grid_size), (m+q)*(interval+grid_size),  
+
<br><span></span><span></span><span></span><span></span><span></span><span></span><span></span>rect((n+p)*(interval+grid_size), (m+q)*(interval+grid_size),  
 
<br><br><span></span><span></span><span></span><span></span><span></span><span></span><span></span>grid_size, grid_size);
 
<br><br><span></span><span></span><span></span><span></span><span></span><span></span><span></span>grid_size, grid_size);
 
<br><span></span><span></span><span></span><span></span><span></span><span></span>}
 
<br><span></span><span></span><span></span><span></span><span></span><span></span>}
Line 977: Line 977:
 
<br><span></span><span></span>float noteVal;
 
<br><span></span><span></span>float noteVal;
 
<br><span></span><span></span>float[] noteVals=new float[0];
 
<br><span></span><span></span>float[] noteVals=new float[0];
<br><span></span><span></span>for (int i=0; i<grid_num; i++) {
+
<br><span></span><span></span>for (int i=0; i< grid_num; i++) {
 
<br> <span></span><span></span><span></span>if (sequence[i*grid_num+n]) {
 
<br> <span></span><span></span><span></span>if (sequence[i*grid_num+n]) {
 
<br><span></span><span></span><span></span><span></span>noteVal = float(notes[i]);
 
<br><span></span><span></span><span></span><span></span>noteVal = float(notes[i]);

Latest revision as of 15:16, 18 September 2015

Code