Хаотични мисли за живота, свободата и всичко останало
От доста време проучвам възможностите да си направя multitouch маса. Зарибих се по тази идея след като попаднах на една Python библиотека за създаване на интерактивни мултитъч приложения - pyMT. Ето едно кратко видео (video link):
Преди всичко обаче е нужен хардуера. Оказа се, че има доста голяма общност - http://nuigroup.com, където човек може да намери цялата му необходима информация за създаването на интеркативна маса. След седмици събиране на смелост и доста четене по въпроса, реших да пробвам да направя подобно нещо.
Как работи
Технологията като цяло е оптична. Всичко се свежда до анализиране на видео от камера, която заснема дисплея. От него в реално време се извличат данните за местоположението на пръстите по дисплея. Самият дисплей е изработен от няколко слоя - плексиглас и прожекционен материал, върху който се проектира видеото от компютъра.
Анализът на данните от камерата е доста сложна задача, особено ако върху дисплея се проектира картина. За това едни умни хора са се сетили да улеснят софтуерните алгоритми като филтрират максимално входните данни посредством инфраред светлина.
Инфраред спектъра се намира между 750 - 1400nm и е невидим за човешкото око. Той има широко приложение - от дистанционните управления до системите за нощно виждане.
Но да се върнем на мултитъча. Това, което трябва да направим е да осветим достатъчно дисплея с инфраред светлина и да модифицираме камерата така, че да заснема САМО този спектър. Когато докоснем дисплея, независимо какво проектираме върху него, ще получим само отразената от пръстите ни светлина под формата на бели петна. Тогава анализа на видеото ще бъде драстично по-лесен.
Има няколко метода за постигане на това. Най-използваните са FTIR и DI.
Frustrated Total Internal Reflection (FTIR)
Това е метод, който използва свойството Total Internal Reflection, което притежават някои материали. Най-общо казано, когато инжектираме светлина в такъв материал (например Плексиглас), тя рефлектира вътре в него и остава там докато не срещне друг материал (например кожата на човек). Когато това се случи, светлината се отразява, излиза от плексигласа и може да бъде уловена от камерата.
Rear Diffused Illumination (DI)
Тук инфраред светлината се излъчва под повърхността, която може да бъде дори обикновено стъкло. Върху стъклото се поставя дифузионен материал. Когато го докоснем се отразява повече светлина от обкръжението, която се улавя от камерата.
Софтуерът
Има няколко multitouch библиотеки. Въпреки, че повечето са с отворен код, информация за работата им има основно за Windows и OSX. Не липсва и такава за Linux, но до колкото разбирам хакерстването тук ще е голямо.
Проектът iBar
Крайната ми цел е интерактивен мултитъч барплот, работещ с opensource софтуер. Надявам се, в новата ни кухня, барплотът да бъде точно такъв. Дали ще стане - само времето (и упоритостта ми) ще покаже. Ще гледам да описвам тук основните стъпки до постигането на тази цел. А те на първо четене са тези:
- Избор на технология (FTIR или DI).
- Избор на материал(и) за дисплея.
- Намиране на източник на инфраред светлина.
- Избор и модифициране на уеб-камера.
- Избор на проектор.
- Проектиране и изработка на кутия за експерименталната постановка.
- Доста работа по софтуера.
- Проектиране и изработка на пространството под барплота.
p.s. Не успях да намеря информация на български на тази тема и подозирам, че тя не е особено популярна. Ако има някой, който прави / е правил подобно нещо, ще се радвам да се запознаем за да впрегнем усилия в тази посока.
При операция куките за разбиване на организирана престъпна група, занимаваща се нападение и бой на граждани, е задържан нейния лидер - Ц.Ц.
Някой има ли впечатления от телевизията на Мтел - Quarto? Искам само един кабел да влиза в къщи и не искам сателитна антена на балкона
Борислав Михайлов: "Стабилни сме финансово, но нямаме пари.." :)
А подгряващата група бяха някакви супер готини румънци на име Urma. Много, много яка музика правят. Някой чувал ли ги е?
Навигация в Букурещ + Андроид + Google Maps + Роуминг = 40 кинта.
| Виж повече > |
Go, езикът за програмиране на Google
Защо да използваме отворени формати
от stan в Наводнение в София - река "Черни Връх"
от martin в Наводнение в София - река "Черни Връх"
от suni в Барселона в снимки
от златко в Основните команди в Unix/Linux
от stan в Промени в блога: CouchDB
(cc) 2007-2010 Станислав Михайлов
Съдържанието на този сайт може да бъде използвано съгласно условията на Криейтив Комънс Признание.
Повече тук.
КОМЕНТАРИ
alexx
28.12.2009 18:31
Стане, весели празници първо. Не искам да те разочаровам, но такъв барплот вече съществува. Виж: http://www.i-bar.ch/info/ и филмчето на: http://www.youtube.com/watch?v=iaKehq6qsdY&feature=related Свържи се с тях, англичани са, а моя опит с английските фирми е добър. Доста са отзивчиви. Още интересни връзки: http://www.youtube.com/watch?v=olWjnfBoY8E http://www.youtube.com/watch?v=pQpr3W-YmcQ&feature=related http://hacks.mozilla.org/2009/08/multi-touch-firefox/
alexx
28.12.2009 18:32
ПП: Връзките в коментарите излязоха ужасно.
stan
28.12.2009 19:40
Мерси за линка, Алекс. Сега трябва да измисля друго име за проекта :). Иначе доста хора са правили такива неща, но са ужасно скъпи. Мисля да си го сглобя сам. Весели празници и на теб.
stan
28.12.2009 19:47
А това MT-Mini е точно това, което съм направил за тест.