На хабрахабре размещена заметка одного чумового очумельца. На мой взгляд, эта идея гениальна своей простотой, элегантностью и эффектом. В заметке всё расписано, но я повторюсь. Берётся лазерная указка, кнопка на ней фиксируется так, чтобы лазер светил постоянно. Далее, указка крепится на кулере от процессора (скажем, с помощью клея, пластилина, горячего силикона или ещё чего-нибудь). Крепится так, чтобы сама указка располагалась почти на оси вентилятора, но под небольшим углом. Кулер запитывается от источника питания. При его вращении указка, из-за наличия некоторого отклонения от оси, очерчивает на поверхности, куда светит, окружность (а не точку, как было бы, если бы указка располагалась точно на оси). Так получается базовая картинка. Далее, на динамик колонки, воспроизводящей звук, крепится небольшая отражающая поверхность, например, зеркало или кусочек компакт-диска, а луч указки направляется на это зеркало но так, чтобы отражённый луч светил куда-нибудь на стену. В результате на стене проецируется луч указки, отражённый от зеркальной поверхности, закрепленной на динамике. На этом всё. Теперь через динамик начинаем воспроизводить звук, в результате чего луч указки начинает "плясать" на стене, описывая красивые фигуры. Вот, что получается в результате:
На хабрахабре можно найти ещё видео и картинки этого тестового сетапа.
Идея эта, по сути, механическим способом реализует довольно простую, но элегантную математическую модель, где луч лазера описывает окружность с радиусом, меняющимся в зависимости от амплитуды сигнала. Иными словами, если записать это в полярных координатах (r, Phi), где r - радиус , а Phi - угол, то лазер чертит в воздухе картину, описываемую как:
r(t) = C + A(t),
где
C - некое постоянное значение смещения от 0 (DC), t - время, или просто номер цифрового отсчёта сигнала, A(t) - амплитуда воспроизводимого сигнала в момент t или значение сэмпла в момент t. Скорость вращения задаётся функцией Phi(t). Для постоянной скорости (как в случае с кулером), скорость изменения Phi постоянна. Можно развить идею, и вращать кулер с разной скоростью, зависящей, скажем, от частотного состава сигнала. Тогда функция Phi(t) будет задаваться некоей зависимостью от частоты сигнала.
Вашими мыслями вы можете делиться в комментариях к заметке.
Пожалуйста, обратите внимание! Если вы хотите что-то сообщить автору WebSound.Ru, лучше сделать это не здесь, а направить ваше сообщение по e-mail.
Пожалуйста, составляйте свои комментарии в вежливой форме. Не засоряйте сайт бессодержательными и невежливыми сообщениями.
Ниже располагаются комментарии к этой заметке
Пожалуйста, обратите внимание! Если вы хотите что-то сообщить автору WebSound.Ru, лучше сделать это не здесь, а направить ваше сообщение по e-mail. Пожалуйста, составляйте свои комментарии в вежливой форме. Не засоряйте сайт бессодержательными и невежливыми сообщениями.