Интервью
Вадим Хлопонин о рисовании лазером
Одной из главных достопримечательностей фестиваля компьютерного искусства Chaos Constructions 2011 был лазерный проектор, выводивший на ближайшую стену завораживающие изображения — крутящиеся кубики, подобие игры Pong и даже целый мультфильм. Нам удалось побеседовать с создателем проектора — его зовут Вадим Хлопонин, и над своим проектом он работает в питерском тридцатом физико-математическом лицее.
- Расскажите, с чего начинался проект.
- Где-то года два назад, уже выпустившись из любимого тридцатого физматлицея, мы с друзьями-физиками начали вести детский кружок по радиофизике и микроэлектронике. Тогда же мы обнаружили, что у нас без всякого дела лежит лазер. Решили, что надо бы его как-нибудь задействовать — с этого всё и понеслось. Сначала мы хотели делать проектор сами, потому что покупать что-то тогда денег не было, а лазер уже был.
Мы взяли головки от винчестеров, которые ездят по блинам, оторвали сами головки, приклеили зеркала, попытались получить картинку. Но картинка оказалась жутко смазанной и никуда не годилась. Простейший цветочек нарисовать ещё было можно, но какие-то буквы нарисовать уже было сложно.
Параллельно мы смотрели в интернете, кто что ещё делал в этой области. Люди пытались делать гальваносканеры сами: обтачивали магниты, клеили их на оси, вставляли керамические подшипники. Мы озадачились этой темой, но после трёх испоганенных магнитов решили оставить попытки.
Мы поднакопили деньжат и купили эти самые гальваносканеры. И почти в тот же день, как они пришли, или на следующий из школьного окна на стену соседнего дома мы уже смогли проецировать фигурки. Было красиво — народ ходит, пальцем показывает, эффект есть. Хоть темно и далеко, но как-то на стенке видно.
Мультфильм в лазерном исполнении.
Здесь можно посмотреть оригинал, из которого извлекались контуры, а примерное представление о том, как проекция выглядит на стене, можно составить по видео, снятому на месте.
Потом мы стали делать управляющую схему. Вариаций было много, перепробовали две платы с самодельными контроллерами. То скорости USB не хватало, то памяти, но что-то более дорогое покупать денег не было. В конце концов взяли аудиокарточку. С аудиокартой кое-как разобрались, железо заработало.
Начали разбираться с управляющим софтом. Мы нашли какие-то простенькие самописные программки для Windows, которые выводили аудио, потом нашли программу, специально заточенную под это дело, но, правда, с какого-то года автор начал просить за неё деньги. Старая версия была такая глючная и медленная, зато она понимала специальные файлы для лазерных шоу — мы нашли несколько таких в интернете, в том числе какие-то мультики.
После этого примерно в это же время ещё один человек то ли из Канады, то ли из Штатов написал библиотечку под Linux — OpenLase. Мы её немного доработали и получили то, что используем сейчас. То есть в джек-сервер выводится эта картинка, построенная программой, и оттуда посылается напрямую в аудиокарту.
- И под это вы написали всяких демок?
- Да, сейчас специально для Chaos Constructions сделали несколько роликов.
- Как вы их обрабатываете?
- Кубики и всякий пинг-понг — это сделано на неком подобии OpenGL. То есть у нас есть библиотека с похожими командами, и всякие 3D-кубики и ракетки для пинг-понга рисуются просто. Звук тоже выводится прямо из программы. Для видео автор библиотеки написал специальный парсер. Парсер написан на ассемблере и в реальном времени обрабатывает видео — выделяет контуры и в векторном виде передаёт на лазер.
- Пока что проектор используете только для демо?
- В прошлом году месяца полтора из лицея вещали, какие-то мультики крутили, поздравляли лицеистов с новым годом, и, как оказалось, на следующий день открытых дверей в апреле довольно-таки много людей пришло, увидев эти наши письмена. Сейчас думаем над тем, как сделать из этого проекта какой-нибудь стартап. Можно делать такие проекторы на заказ или давать проектор в аренду, писать для него лазерные шоу под специализированные задачи. Кому-то, к примеру, надо такое на дискотеку — можно тематическое шоу написать. Вообще систему планируется доработать, избавиться от аудиокарты, сделать свою плату управления, оптимизировать немножко, чтобы можно было увеличить скорость развёртки и выпустить такой опенсорсный проект.
- С исходниками платы?
- С исходниками платы, с исходниками программы, сделать программу, чтобы простые пользователи могли сами создавать лазерные шоу. Чтобы можно было векторную графику из SVG загружать. Но конвертировать любое видео достаточно сложно. Это будет просто мешанина из линий...
- Но мультфильмы можно?
- Мультфильмы попытаться можно, подобрав параметры выделения контура.
- Скажите, сколько человек работает над этим проектом?
- В основном этим занимаюсь я, плюс ещё два человека немного помогают. Так что, считайте, трое.
- Сколько времени всё заняло, когда начали?