Processing クリエイティブ・コーディング入門 - コードが生み出す創造表現という書籍(第2刷)のp.192の下記コードが動作しません。
エラーはありませんが、黒い画面のまま線が描画されません。
解決方法をご存知でしたら教えてください。
Processing
1import processing.video.*; // ビデオライブラリのインポート 2Capture cam; // カメラのインプット 3float scale = 1.0; // 変化の全体スケール 4 5public void setup(){ 6 size(800, 500, P3D); 7 frameRate(60); 8 blendMode(ADD); 9 noFill(); 10 // ビデオキャプチャを初期化する 11 cam = new Capture(this, width, height); 12 cam.start(); 13} 14 15public void draw(){ 16 background(0); 17 strokeWeight(2.0); 18 // ビデオ解析の粒度を設定する 19 float hStep = 4.0; 20 float wStep = 4.0; 21 // 映像を解析する 22 for(float j = 0; j < height; j += hStep){ 23 beginShape(); // 線の描画を開始する 24 for(float i = 0; i < width; i += wStep){ 25 color col = cam.get(int(i), int(j)); // 色を取得する 26 float br = brightness(col); // 明度を計算する 27 stroke(col); // 線の色を設定する 28 // 明るさから高さを決定して頂点を追加 29 vertex(i, j, br * scale); 30 } 31 endShape(); // 線の描画を終了する 32 } 33} 34------ 35// カメラのフレームが更新されたらイベントを実行する 36void captureEvent(Capture c){ 37 cam.read(); 38}
OS:Windows8.1
Processing:4.0b8
ProcessingのP3Dモードで実行画面が出ない場合の対応方法の3.の方法を試してみましたが変化ありませんでした。
同じ書籍のp.136の3Dコードは問題なく動作しました。(P3D、translate()とellipse()で描画)
TN8001さんに提示いただいた下記コードの結果を追記します。
Processing
1void setup() { 2size(400, 400, P3D); 3beginShape(); 4vertex(120, 80, -200); 5vertex(340, 80, -200); 6vertex(340, 300, -200); 7vertex(120, 300, -200); 8endShape(); 9noLoop(); 10} 11void draw() { 12}
あなたの回答
tips
プレビュー
