* プログラムソース [#xff8d294]
主にプレゼンで使ったものを貼りつけていきます。不親切な解説つき。
徐々に高度になっていけばいいなと思います。

**Processing [#a2440a13]

***minim+FFT [#bc4f7224]
-4月26日

音量によってマルの大きさが変化、マウスの動くスピードによってマルの色が変化するプログラム
----------------------------ココカラ-----------------------------------

import ddf.minim.*;  //minimライブラリのインポート
 
Minim minim;  //Minim型変数であるminimの宣言
AudioPlayer player;		//サウンドデータ格納用の変数
int waveH = 100;  //波形の高さ
int MaxColor; //色の最大値
 
void setup()
{
  size(600, 600, P2D);
  minim = new Minim(this);  //初期化
 //512バイト分のバッファ(メモリ上のスペース)を確保し、サウンドファイルをロードする
  player = minim.loadFile("testsound.mp3", 512); //testsoundという音楽ファイルを読み込む
  player.play();  //ファイルを再生
  
  MaxColor = width;
  colorMode(HSB, MaxColor);
  background(MaxColor -1);
  frameRate(10);
}
 
void draw()
{
  float l_ran;
  float r_ran;
  float l_color;
  float r_color;
  background(0);
  for(int i = 0; i < player.left.size()-1; i++)
  {
    float speed = dist(mouseX,mouseY,pmouseX,pmouseY);//マウスのスピードを求める
    //2点間の距離を測るdistを用いてmouseとpmouseの距離を求め、スピードを算出している。
    l_ran = random(700);//多少中心からバラけさせるためにランダムで数字を取得。
    r_ran = random(700);//この2行がないと全部の円が中心から出ます。
    ellipseMode(CENTER);
    noFill();
    strokeWeight(player.left.get(i)*10);
    stroke(mouseY,min(speed*2,MaxColor - 1),MaxColor - 1);
    l_color = speed / 255 * 100;
    ellipse(300 + (random(300) * player.left.get(i)), 300 - (random(300) * player.left.get(i)),player.left.get(i)*l_ran,player.left.get(i)*l_ran); //如何にマルを綺麗にばらけさせるか悩みに悩んだ結果がこれです
    r_color = 255 - (speed / 255 * 100);
    strokeWeight(player.right.get(i)*8);
    stroke(mouseX,min(speed*2,MaxColor - 1),MaxColor - 1);
    ellipse(300 + (random(300) * player.right.get(i)), 300 + (random(300) * player.right.get(i)),player.right.get(i)*r_ran,player.right.get(i)*r_ran);
  }
}

void stop()
{
  player.close();
  minim.stop();
 
  super.stop();
} 

----------------------------ココマデ-----------------------------------


[[11_Higuchi]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS