daily pastebin goal
25%
SHARE
TWEET

Untitled

a guest Apr 17th, 2018 55 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //line generation made by TiTi26
  2. //
  3. //16th of April 2018
  4.  
  5. int len=1700, hmax=3, vmax=0;
  6. color c=color(15, 235, 120);        //BLUE :48, 179, 255        PURPLE :193,48,255
  7. int[][] vlines= new int[4][4];      //0: x    1: y    2: orientation    3: triangle
  8. int[][] hlines= new int[4][3];      //0: x    1: x_max    2: orientation
  9. int[][] vlines2= new int[9][5];     //1e ligne pour les valeurs
  10. int[] decoArea= new int[5];
  11. float[][][] deco= new float[0][0][0];          //0: x    1: max_x    2: type of deco (0=triangles:    3d: 1: nmb    2: 1_x )    3: color
  12. //1=squares  :    3d: 1: nmb    2: 1_x    3: 2_x    ...)
  13.  
  14. void setup() {
  15.  
  16.   colorMode(HSB);
  17.   c=color(int(random(0,255)),235,255);                // random color
  18.   c=color(0,235,255);
  19.  
  20.   frameRate(60);
  21.   strokeWeight(7);
  22.   noStroke();
  23.   size(1800, 500);
  24.   background(0);
  25.   fill(c);
  26.  
  27.   for (int i=0; i<4; i++) {
  28.     /*if(i==0) lines[i][0]=(width-lenEnd)/2+int(random(50,250));
  29.      else lines[i][0]=lines[i-1][0]+int(random(100,300));*/
  30.     vlines[i][0]=int(random(0, 90*(i+1))+i*(len-100)/4+(width-len));
  31.     vlines[i][1]=int(random(90, 200));
  32.     vlines[i][2]=int(random(2));
  33.     vlines[i][3]=int(random(3));
  34.     decoArea[i]=vlines[i][0];                  //adding the x value to the decoArea array
  35.   }
  36.  
  37.   if (vlines[3][0]<1500) hmax++;
  38.  
  39.   int p=-1;  //variable pour compter le numéro de la ligne verticale
  40.   for (int i=0; i<hmax; i++) {
  41.     int a=0;
  42.     hlines[i][0]=vlines[i][0]+60;
  43.     if (i>2) hlines[i][1]=int(random(len-120, len-20));
  44.     else hlines[i][1]=vlines[i+1][0]-35;
  45.     hlines[i][2]=int(random(2));
  46.     a=int((hlines[i][1]-hlines[i][0])/200);      //0 to 4 depending on size
  47.     if ((random(0, 200)<(hlines[i][1]-hlines[i][0])%200)) a++;    //random to add an extra one
  48.     if (hlines[i][1]-hlines[i][0]<100) a=0;              //if too small, nothing
  49.     println("a : "+a);
  50.  
  51.     for (int j=0; j<a; j++) {
  52.       p++;
  53.       //vlines2[p][1]=int(random(hlines[i][0]+75+(hlines[i][1]-hlines[i][0])/a*j, hlines[i][1]-(hlines[i][1]-hlines[i][0])/a*(a-1)-50));        //old random
  54.       vlines2[p][1]=int(random((hlines[i][1]-hlines[i][0])*1/a-100)+hlines[i][0]+(hlines[i][1]-hlines[i][0])/a*j+50);
  55.       vlines2[p][2]=int(random(150, 300));
  56.       vlines2[p][3]=int(random(2));
  57.       vlines2[p][4]=int(random(0, 3));
  58.       decoArea=expand(decoArea, decoArea.length+1);
  59.       decoArea[p+4]=vlines2[p][1];            //adding the x value to the decoArea array
  60.     }
  61.     vmax+=a;
  62.   }
  63.  
  64.  
  65.   println("vmax "+vmax);
  66.  
  67.   decoArea=sort(decoArea);        //ordering the x values of all vertical lines
  68.  
  69.   deco= new float[decoArea.length][4][10];    //modifying deco array
  70.   for (int i=1; i<deco.length-1; i++) {
  71.     if (decoArea[i+1]-decoArea[i]>100) {
  72.       deco[i][0][0]=decoArea[i]+60;
  73.       deco[i][1][0]=decoArea[i+1]-10;
  74.       if (deco[i][1][0]-deco[i][0][0]<50) {
  75.         deco[i][2][0]=1;
  76.       } else {
  77.         //deco[i][2][0]=int(random(0,2));                                //DEBUG CHANGE TO (0,2);
  78.         if (i==1) deco[i][2][0]=int(random(0, 2));
  79.         else deco[i][2][0]=1-deco[i-1][2][0];
  80.       }
  81.  
  82.       if (deco[i][2][0]==0) {                                                  //TRIANGLES
  83.         deco[i][2][1]=int(((deco[i][1][0]-deco[i][0][0])-15)/35);
  84.         deco[i][2][2]= deco[i][0][0]+((deco[i][1][0]-deco[i][0][0])-(15+35*deco[i][2][1]))/2;
  85.       }
  86.  
  87.       if (deco[i][2][0]==1) {                                              //SQUARES
  88.         deco[i][2][1]=int(((deco[i][1][0]-deco[i][0][0])+10)/40);
  89.         if((deco[i][1][0]-deco[i][0][0])+10>190) deco[i][2][1]--;
  90.         println("distance : "+(deco[i][1][0]-deco[i][0][0]));
  91.         println("nombre de carrés : "+deco[i][2][1]);
  92.         for (int r=0; r<deco[i][2][1]; r++) {
  93.           deco[i][2][r+2]=(deco[i][1][0]-deco[i][0][0])*(r+1)/deco[i][2][1]-10+(r+1)/deco[i][2][1]*10;
  94.           if (r+1!=deco[i][2][1]) deco[i][2][r+2]+=int(random(-10,10));
  95.           if(r>0) deco[i][2][r+2] = constrain(deco[i][2][r+2],deco[i][2][r+1]+40,deco[i][2][r+1]+70);
  96.           else deco[i][2][r+2] = constrain(deco[i][2][r+2],30,60);
  97.           println("deco "+deco[i][2][r+2]);
  98.         }
  99.       }
  100.     }
  101.     for (int j=2; j<2+deco[i][2][1]; j++) {
  102.       if (j==2) deco[i][3][j]=int(random(1, 4));
  103.       else if (deco[i][3][j-1]==1) deco[i][3][j]=2;
  104.       else if (deco[i][3][j-1]==3) deco[i][3][j]=2;
  105.       else deco[i][3][j]=deco[i][3][j-1]+int(random(0, 2))*2-1;
  106.     }
  107.   }
  108. }
  109.  
  110.  
  111. void draw() {
  112.  
  113.   background(0);
  114.   noStroke();
  115.  
  116.   if (len<len) len+=10;
  117.  
  118.   fill(c);          //basic line
  119.   beginShape();
  120.   vertex((width-len)/2, 10);
  121.   vertex((width-len)/2+len, 10);
  122.   vertex((width-len)/2+len-25, 60);
  123.   vertex((width-len)/2+25, 60);
  124.   endShape(CLOSE);
  125.  
  126.   for (int i=0; i<4; i++) {
  127.     fill(c);
  128.     beginShape();  //vertical lines start
  129.     vertex(vlines[i][0], 10);
  130.     vertex(vlines[i][0]+50, 10);
  131.     vertex(vlines[i][0]+50, vlines[i][1]+vlines[i][2]*25);
  132.     vertex(vlines[i][0], vlines[i][1]+(1-vlines[i][2])*25);
  133.     endShape(CLOSE);
  134.     if (vlines[i][3]>0) {
  135.       fill(c, 255-64*vlines[i][3]);
  136.       triangle(vlines[i][0]+50*(1-vlines[i][2]), vlines[i][1]+10, vlines[i][0]+50*(1-vlines[i][2]), vlines[i][1]+60, vlines[i][0]+50*vlines[i][2], vlines[i][1]+35);
  137.     } //vertical lines end
  138.   }
  139.  
  140.  
  141.   for (int i=0; i<hmax; i++) {
  142.     fill(c, 192);
  143.     beginShape();            //horizontal lines start
  144.     vertex(hlines[i][0]+hlines[i][2]*25, 70);
  145.     vertex(hlines[i][0]+(1-hlines[i][2])*25, 120);
  146.     vertex(hlines[i][1]+(1-hlines[i][2])*25, 120);
  147.     vertex(hlines[i][1]+hlines[i][2]*25, 70);
  148.     endShape(CLOSE);              //horizontal lines end
  149.   }
  150.  
  151.  
  152.   for (int i=0; i<vmax; i++) {
  153.     fill(c, 192);
  154.     beginShape();            //start vertical lines 2
  155.     vertex(vlines2[i][1], 120);
  156.     vertex(vlines2[i][1]+50, 120);
  157.     vertex(vlines2[i][1]+50, vlines2[i][2]+vlines2[i][3]*25);
  158.     vertex(vlines2[i][1], vlines2[i][2]+(1-vlines2[i][3])*25);
  159.     endShape(CLOSE);
  160.  
  161.     if (vlines2[i][4]>0) {
  162.       fill(c, 255-64*(vlines2[i][4]+1));
  163.       triangle(vlines2[i][1]+50*(1-vlines2[i][3]), vlines2[i][2]+10, vlines2[i][1]+50*(1-vlines2[i][3]), vlines2[i][2]+60, vlines2[i][1]+50*vlines2[i][3], vlines2[i][2]+35);
  164.     }
  165.   }      //end vertical lines 2
  166.  
  167.   for (int i=0; i<deco.length-1; i++) {                //start deco
  168.  
  169.     if (deco[i][0][0]!=0&&deco[i][2][0]==0) {
  170.       for (int j=2; j<2+deco[i][2][1]; j++) {
  171.         fill(c, 255-64*deco[i][3][j]);
  172.         //line(deco[i][2][2]+35*(j-2),133,deco[i][2][2]+35*(j-2),133+50);
  173.         triangle(deco[i][2][2]+35*(j-2), 130+50*(j%2), deco[i][2][2]+35*(j-2)+25, 180-50*(j%2), deco[i][2][2]+35*(j-2)+50, 130+50*(j%2));
  174.       }
  175.     } else if (deco[i][0][0]!=0&&deco[i][2][0]==1) {
  176.       fill(c, 0);
  177.       for (int j=2; j<2+deco[i][2][1]; j++) {
  178.         stroke(c, 255-64*deco[i][3][j]);
  179.         //rect(deco[i][1][0]-4, 133, -(deco[i][1][0]-deco[i][0][0])+7, deco[i][1][0]-deco[i][0][0]-7);
  180.         if (j==2) rect(deco[i][0][0]+3, 133, deco[i][2][j]-7, deco[i][2][j]-7);
  181.         else rect(deco[i][0][0]+13+deco[i][2][j-1], 133, deco[i][2][j]-deco[i][2][j-1]-17, deco[i][2][j]-deco[i][2][j-1]-17);
  182.         noStroke();
  183.       }
  184.     }              //end deco
  185.   }
  186. }
  187.  
  188.  
  189. /* 1  =>  a=total
  190.  2  =>  a=(30,total-40)              b=total
  191.  3  =>  a=30+(0,(total-(n°*40-10)))  b=a+40+(0,total-(n°*40-10))-a)  c=total    */
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top