Sunday, February 21, 2010

processingとJava Image Filters(pixels)を使用して万華鏡のような画像が動くアニメーションを表示する

processingとJava Image Filters(pixels)を使用して万華鏡のような画像が動くアニメーションを表示するには、以下のコードを実行します。Java Image Filtersはhttps://pixels.dev.java.net/servlets/ProjectDocumentListから pixels-core-2.1.3-SNAPSHOT.jarをダウンロードしてSketchのフォルダのcodeサブフォルダに配置するか、 Sketch->Add FilesメニューからSketchに追加します。


// キャンバスサイズ
int rad = 0;
PImage img;
KaleidoscopeFilter kf;

void setup(){
img = loadImage("sf2.jpg");
size(img.width, img.height);
// 万華鏡のような画像を生成する
kf = new KaleidoscopeFilter();
// 面数
kf.setSides(6);
// 角度1
kf.setAngle(20f/180f*ImageMath.PI);
// 角度2
kf.setAngle2(50f/180f*ImageMath.PI);
// 半径
kf.setRadius(100);
}

void draw(){
// 中心X
kf.setCentreX(0.5f+0.15*cos(2*PI*rad/360));
// 中心Y
kf.setCentreY(0.5f+0.10*sin(2*PI*rad/360));

PImage img2 = new PImage(kf.filter((BufferedImage)img.getImage(), null));
image(img2, 0, 0);
rad+=6;
}


元画像(sf2.jpg)


出力画像


動作環境
processing 1.0.9

関連項目
Processing とJava Image Filters(pixels)を使用して万華鏡のような画像を作成する

No comments: