* プログラムソース [#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]]