2017-02-07 2 views
-1

Я использую обработку и библиотеку minim и пытаюсь создать визуализацию в реальном времени в реальном времени для живого аудиовхода.Обработка Beat Detecting

У меня есть нарисованные прямоугольники и реагирует на удар, ловушку и привет шляпы аудиовхода. Я стараюсь, чтобы эти коробки вращаются, также реагируя на удар. как я могу заставить эти коробки вращаться?

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

translate (ширина/4, высота/4); коробка (kickSize); rotate (kickSize); перевод (- ширина/4, - высота/4); Кажется, это все повернуть. я хотел бы повернуть каждую коробку отдельно – Ham

ответ

0

Использование pushMatrix();popMatrix(); требует, чтобы изолировать системы координат для каждого объекта:

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