Processingで波紋を描く(兼テスト投稿)

はじめに

 初めての投稿です。ぼちぼち進めていくかフェードアウトするか分かりませんが、どうぞよろしくお願いいたします。
 適当な性格の私が適当に書いているこのブログを読むに当たり、ご注意やお願いがありますのでリンクで飛んで読んでくださいな。


波紋

 今回はクリックした場所から波紋が広がるプログラムを紹介する。後述の通りテスト投稿的な意味合いが強いので、詳細については後日追記する予定。


テスト投稿

 Processingのソースコードを貼れるとどうなるか、ページ内リンクは出来るか。

・追記1:
 ソースコードを貼ることができ、ページ内リンクもどうやらうまく飛べているようだ。さらに、ソースコードをProcessingにコピペしたところ正常に動いている様子。
 タイトルを後から付けるとURLが変わってしまうみたいなので、タイトルは最初に入れておこうと思う。


ソースコード



/*
波紋
*/
/*
関数目次
*/

int[][] hamon; 
int cnt=0;

int colsu;       //色数
color[] co,kk;


void setup(){
  hamon=new int[30][3];
  
  /*Su-27 Blue
  colsu=4;
  co=new color[colsu];
  co[0]=color(210,225,255);
  co[1]=color(142,189,231);
  co[2]=color(1,96,227);
  co[3]=color(1,96,227);
  */
  /*Opal
  colsu=5;
  co=new color[colsu];
  co[0]=color(#ffffaa);
  co[1]=color(#ffbbff);
  co[2]=color(#aaffff);
  co[3]=color(255);
  co[4]=color(255);
  /**/
      
  /*Rainbow*/
  colsu=6;
  co=new color[colsu];
  co[0]=color(#ff0000);
  co[1]=color(#ffff00);
  co[2]=color(#00ff00);
  co[3]=color(#00ffff);
  co[4]=color(#0000ff);
  co[5]=color(#ff00ff);
  /**/
  
  size(500,500);
  background(128,196,255);
  fill(255,0);
  stroke(0);
  strokeWeight(3);
  
}

void mousePressed(){
  
  stroke(0);
  //ellipse(mouseX,mouseY,50,50);
  hamon[cnt][0]=mouseX;
  hamon[cnt][1]=mouseY;
  hamon[cnt][2]=1;
  cnt++;
  if(cnt==30) cnt=0;
  
  println("cnt: " + cnt);
}

void draw(){
  int i;
  
  background(128,196,255);
  
  for(i=0;i<30;i++){
    stroke(co[i%colsu]);
    if(hamon[i][2]>0){
      ellipse(hamon[i][0],hamon[i][1],hamon[i][2],hamon[i][2]);
      hamon[i][2]++;
    }
    if(hamon[i][2]>2000) hamon[i][2]=0;
    
  }
  
  
}

コメント