2017-02-07 15 views
-1

私は処理と最小ライブラリを使用しており、ライブオーディオ入力用の3Dリアルタイムビジュアライゼーションを作成しようとしています。処理ビート検出

私はボックスを描き、オーディオ入力のキック、スネア、およびハイハットに反応しています。私はこれらのボックスをキックにも反応するように回転させることを目指しています。どのようにこれらのボックスを回転させることができますか?各オブジェクトの座標系を隔離するために呼び出すpushMatrix();popMatrix();

if (beat.isKick()) kickSize = 200; 
if (beat.isSnare()) snareSize = 250; 
if (beat.isHat()) hatSize = 200; 
translate (width/4, height/4); 
box(kickSize); 
translate(- width/4, - height/4); 

translate (width/2, height/3); 
sphere(snareSize); 
translate(- width/2, - height/3); 

translate (3*width/4, height/4); 
box(hatSize); 
translate(- 3*width/4, - height/4); 


kickSize = constrain(kickSize * 0.95, 1, 32); 
snareSize = constrain(snareSize * 0.95, 1, 32); 
hatSize = constrain(hatSize * 0.95, 1, 32); 
+1

正確に何を求めていますか? 'rotate()'関数を使って形を回転させることができます。何を試しましたか?あなたはどこにいらっしゃいますか? –

+0

「キック」が検出されるたびに回転するように形状を取得します。 – Ham

+0

(width/4、height/4)を変換します。 box(キックサイズ); rotate(kickSize); ( - 幅/ 4、 - 高さ/ 4)を変換します。 これはすべてを回転させるようです。私は別々に各ボックスを回転させたい – Ham

答えて

0

用途:

pushMatrix(); 
translate (width/4, height/4); 
box(kickSize); 
popMatrix(); 

pushMatrix(); 
translate (width/2, height/3); 
sphere(snareSize); 
popMatrix(); 

pushMatrix(); 
translate (3*width/4, height/4); 
box(hatSize); 
popMatrix(); 

は、より多くの詳細については、2D transformations Processing tutorialを見てください。 3Dにも同じ原則が適用されます

関連する問題