お遊び
Processingがおもしろい。お絵書きだけじゃなくて動画やiSightも簡単に扱える。ちょっとiSightの映像にマウスドラッグで線を追記できるコードを書いてみた。鏡にマジックで絵を描く感覚。ローラー上でのフォーム変化や、ゴルフのスウィング分析に使えるじゃないんだろうか。iSightや動画アプリがこんなに簡単に作れるなんて!
import processing.video.*; int x; int y; boolean drag = false; LineSet[] lineSet = new LineSet[0]; LineSet tmpLine; Capture video; void setup() { size(800, 600); video = new Capture(this, 800, 600, 30); } void draw() { if (video.available()) { video.read(); image(video, 0, 0); } strokeWeight(3); for (int i = 0; i < lineSet.length; i++) { lineSet[i].drawLine(); } strokeWeight(1); if (drag) { tmpLine.drawMarker(); } } void mousePressed() { x = mouseX; y = mouseY; } void mouseReleased() { lineSet = (LineSet[])append(lineSet, new LineSet(x, y, mouseX, mouseY)); drag = false; } void mouseDragged() { tmpLine = new LineSet(x, y, mouseX, mouseY); drag = true; } class LineSet { int x1, y1; int x2, y2; LineSet(int ax1, int ay1, int ax2, int ay2) { x1 = ax1; y1 = ay1; x2 = ax2; y2 = ay2; } void drawLine() { line(x1, y1, x2, y2); } void drawMarker() { line(x1, y1, x2, y2); ellipse(x1, y1, 6, 6); ellipse(x2, y2, 6, 6); } }