惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Check Point Blog
U
Unit 42
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Martin Fowler
Martin Fowler
L
LangChain Blog
博客园_首页
博客园 - 【当耐特】
Vercel News
Vercel News
I
InfoQ
GbyAI
GbyAI
爱范儿
爱范儿
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
B
Blog RSS Feed
A
About on SuperTechFans
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
G
Google Developers Blog
大猫的无限游戏
大猫的无限游戏
Apple Machine Learning Research
Apple Machine Learning Research
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
酷 壳 – CoolShell
酷 壳 – CoolShell
P
Proofpoint News Feed
美团技术团队
V
V2EX
Stack Overflow Blog
Stack Overflow Blog
有赞技术团队
有赞技术团队
Y
Y Combinator Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
H
Help Net Security
Recent Announcements
Recent Announcements
Microsoft Azure Blog
Microsoft Azure Blog
D
Docker
宝玉的分享
宝玉的分享
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
量子位
小众软件
小众软件
J
Java Code Geeks
S
SegmentFault 最新的问题
Engineering at Meta
Engineering at Meta
Google DeepMind News
Google DeepMind News
MongoDB | Blog
MongoDB | Blog
The Cloudflare Blog
Recorded Future
Recorded Future
阮一峰的网络日志
阮一峰的网络日志
T
The Blog of Author Tim Ferriss
MyScale Blog
MyScale Blog
Microsoft Security Blog
Microsoft Security Blog

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Самодельный дисплей, отображающий картинку в воздухе
Евгений · 2026-06-22 · via Все публикации подряд на Хабре

Самодельный дисплей, отображающий картинку в воздухе

10 мин

17

Floating Display

Дисплеи с парящим изображением существуют уже множество лет; они используются, например, для управления лифтами без касаний. Также их можно встретить на ресепшенах, в банкоматах и других местах. Узкая область видимости идеально подходит для безопасного ввода данных, например, PIN-кодов. А со времён пандемии такие концепции обратили на себя большое внимание, поскольку они обеспечивают максимальную гигиену. Принцип, лежащий в основе этого дисплея, не так уж сложен, поэтому я решил изготовить его самостоятельно.

Компоненты

История

Как это работает

Дисплей с парящим изображением (floating display) отображает информацию висящей в воздухе, где оборудование отсутствует. Для этого используется некогерентный источник света (например, яркий дисплей) и пассивные оптические компоненты, собирающие расходящийся от дисплея свет на определённой плоскости фокусировки, образуя в воздухе реальное изображение. Стоит отметить, что принцип отличается от принципа дисплеев призрака Пеппера, где объекты видны за стеклом дисплея (поверхность стекла создаёт призрачное изображение, отражая освещённый объект от скрытой области).

Устройство содержит три основных оптических компонента:

1. Яркий дисплей (например, полевой монитор или современный планшетный компьютер).

2. Светоделитель/полупрозрачное зеркало (например, оргстекло или стекло телесуфлёра).

3. Ретрорефлективная плёнка.

Слева: яркий дисплей, сверху: светоделитель (полупрозрачное зеркало), справа: ретрорефлектор

Слева: яркий дисплей, сверху: светоделитель (полупрозрачное зеркало), справа: ретрорефлектор

Ретрорефлектор

Самая важная часть — это отражающий элемент, называющийся ретрорефлектором. Если светить на зеркало под углом, то он отразится под углом, равным углу падения. Это закон оптики, гласящий, что луч света отражается от поверхности под тем же углом, под которым он падал на неё. Ретрорефлектор же отражает свет обратно к источнику, где бы он ни находился.

Ретрорефлекторы используются в дорожных знаках, на велосипедах и средствах защиты, чтобы сделать их более заметными.

Пример ретрорефлектора на основе сфер: задняя часть велосипедного седла

Пример ретрорефлектора на основе сфер: задняя часть велосипедного седла

Обратное отражение обеспечивается благодаря или стеклянным бусинам, или микропризмам. Эти структуры размером меньше миллиметра, поэтому каждая из них по отдельности незаметна для наблюдателя. В нашем случае микропризмы должны быть как можно более мелкими, равномерно распределёнными и иметь высокое качество.

Дисплей с парящим изображением на основе ретрорефлектора можно реализовать так: если использовать дисплей и позволить изображению отражаться через отражающий лист... то ничего не произойдёт, потому что отражённое изображение образуется непосредственно самим источником света. Однако если мы добавим светоделитель, то отражённые лучи можно будет разделить. Оптические компоненты взаимодействуют следующим образом:

a) Свет испускается с яркого дисплея в направлении светоделителя.

b) Затем он отражается (частично) светоделителем на ретрорефлектор. Свет, возвращаемый ретрорефлектором, отправляется обратно на светоделитель (точно под таким же углом).

c) Свет, проходящий через светоделитель, сходится снаружи, формируя изображение в воздухе.

Ориентация: эти три оптических компонента можно расположить множеством разных способов. Простая версия показана на изображении ниже («эксперимент с картоном»). Я изменил конфигурацию так, чтобы парящее изображение находилось над машиной (потому что считаю, что это выглядит круче...).

(Примечание: здесь важно отметить, что эту концепцию, разумеется, придумал не я. Честь её открытия принадлежит группе японских учёных, изучающих её уже более десяти лет. В конце поста приведены ссылки на научные статьи.)

Приобретение компонентов

Полевой монитор с диагональю 5,5 дюйма (согласно спецификации, 1500 нит)

Полевой монитор с диагональю 5,5 дюйма (согласно спецификации, 1500 нит)

Матрица светодиодов, используемая в качестве альтернативного дисплея

Матрица светодиодов, используемая в качестве альтернативного дисплея

Ретрорефлективная плёнка

Ретрорефлективная плёнка

Моим источником стал сайт https://www.reflecto.shop/ (немецкий магазин, специализирующийся на различных отражающих материалах). В конечном итоге я остановился на Oralite3010. Примечание: я также нашёл компанию, продающую ретрорефлективные материалы для профессионального использования. Однако, как вы уже могли догадаться, они слишком дорогие для хобби. Но всё равно было бы очень интересно их попробовать. Если это вас заинтересовало, то поищите «Nippon Carbide RF-A». Я остановился на достаточно дешёвом Oralite3010, хоть изображение получилось и не очень резким, а яркость могла бы быть чуть выше. В конце концов, это проект самоделки с ограниченным бюджетом, поэтому пришлось мириться с ограничениями.

Структура

Я решил выбрать для корпуса стабильную конструкцию, собрав его из алюминиевого профиля (20x20).

Все необходимые детали для крепления функциональных частей изготовлены на 3D-принтере, их можно найти в репозитории по ссылке в конце статьи:

  • Держатели стекла светоделителя.

  • Рамка полевого монитора.

  • Элементы блока датчиков.

  • Держатель рефлектора.

  • Рамка для Lattepanda.

  • Элементы дизайна корпуса (не показанные выше).

Блок датчиков

С самого начала я хотел реализовать возможность взаимодействия с дисплеем, поэтому мне нужно было найти способ обнаружения позиции пальца, «касающегося» экрана в воздухе. В моей версии устройства достаточно лишь простого взаимодействия, то есть всего нескольких активных областей, в которых можно нажать на кнопку или проделать какое-то другое подобное действие. Я хотел создать подсистему на Arduino, способную обрабатывать простые данные датчиков.

Для этой цели я протестировал множество датчиков.

Первым найденным мной датчиком стал ZX Gesture Sensor производства Sparkfun. В нём используется источник и два приёмника инфракрасного излучения; заявляется, что он может распознавать движения и позицию объекта над датчиком. Настройка и подключение просты, достаточно лишь 5 вольт и подключения к шине I2C. Распознавание жестов с предоставленными примерами работало хорошо. Оно почти без проблем могло распознавать пролистывания влево, вправо и вверх. Однако вывод самой позиции был не очень точным, особенно когда вместо всей ладони я использовал один палец. Расчёт позиции основан на величине отражения, а она ближе к аппроксимации, чем к точному измерению. Однако главная проблема заключалась в том, что когда я включал в комнате яркое освещение, датчик сразу же начинал выдавать мусорные данные. Причина этого в том, что источники света не только испускают свет в видимом спектре, но и содержат определённую долю инфракрасного. Поэтому я не мог полагаться на показания при обычных условиях освещения, и от датчика пришлось отказаться.

TOF-датчики

Затем я начал искать датчики, которые не так чувствительны к окружающему освещению, поэтому обратил внимание на time-of-flight-датчики. TOF-датчики сегодня широко применяются в робототехнике, дронах и других сферах; в последнее время их цена стала приемлемой. Также их активно использует сообщество самодельщиков. Я начал тестирование хорошо известного VL53L0X производства ST Microelectronics. Передатчик и приёмник лазера находились в одном корпусе, поэтому устройство очень компактное.

Настройка и подключение оказались такими же простыми, как и у предыдущего датчика. Достаточно питания 5 В и подключения к шине I2C. Датчик испускает короткие импульсы невидимого лазерного излучения, которое слегка заметно через камеру моего сотового телефона. TOF-датчики измеряют время, необходимое для испускания лазерного импульса, отражения от объекта и возвращения в датчик. Это позволяет выполнять точное измерение расстояний; кроме того, они работают при обычных условиях освещения.

Датчик передаёт точные значения расстояния в миллиметрах и в пределах, где будет находиться парящий дисплей. Однако одно устройство обеспечивает только одномерное измерение. Для определения позиции на парящем дисплее нужно перейти в 2D-плоскость. Очевидно, для этого потребуется несколько датчиков.

Для обеспечения достаточной области видимости моей системы в конечном итоге понадобилось три датчика. Для чтения данных датчиков я использую Arduino Nano; я запрограммировал его на отправку всех показаний расстояний по последовательному соединению. При помощи моей маленькой матрицы датчиков я смогу распознавать три области отображаемого дисплея, и в каждой области я буду получать вертикальную позицию для взаимодействия с «сенсорными» полями.

Первый тест с тремя TOF-датчиками

Первый тест с тремя TOF-датчиками

Каждый из датчиков следит за тремя полями трёх областей

Каждый из датчиков следит за тремя полями трёх областей

Достаточно надёжно можно отслеживать 9 сенсорных полей, чего должно хватить для этой самодельной версии. Для визуализации данных датчиков я написал на PC тестовую программу. Она получает данные через UART (COM-порт) и отображает расстояние каждого датчика в виде цветной точки. Так я убедился, что действительно могу точно замерять позицию пальца в нужной области.

Вроде бы всё работало неплохо. Однако позиция пальца всегда оказывалась немного различающейся, поэтому для определения требовался допуск. Далее мне нужно было найти интервалы датчиков, соответствующие реальным позициям «сенсорных полей» моего парящего дисплея.

Я изменил тестовую программу, добавив простую сетку 3x3, подсвечивающую поле, когда одна из позиций датчика находится в заданном интервале каждого поля. Для этого потребовалось немного покопаться, но в конечном итоге мне удалось найти значения для всех девяти сенсорных областей.

Одноплатный компьютер

Итак, базовая структура готова, осталось добавить контент, который будет интереснее, чем простая тестовая сетка 3x3. Для этого в качестве центрального мозга я выбрал одноплатный компьютер (SBC) Lattepanda. Он позволит легко отображать стандартные изображения и анимации, потому что, по сути, это маленький компьютер с Windows. Полевой монитор подключён через HDMI в качестве второго дисплея, а интегрированный фронтальный экран используется для непосредственного управления SBC.

На фронтальный экран SBC выводятся диагностические данные, позволяющие с лёгкостью настраивать интервалы сенсорных полей. Сенсорный экран стал потрясающим дополнением к машине, добавив ей особый элемент дизайна, выглядящий подобно коммуникационному модулю из будущего. Ещё одна причина выбора Lattepanda заключалась в том, что его можно напрямую соединить с модулем датчиков Arduino Nano. По одному из трёх USB-интерфейсов SBC подаёт на Nano питание и одновременно считывает данные через эмулируемый UART. Остальные два USB-разъёма подключены к двойному проходному разъёму USB, смонтированному на боковой панели. Это позволяет мне с лёгкостью подключать клавиатуру, мышь или USB-накопитель для загрузки в устройство новых изображений и тому подобного.

Lattepanda, смонтированный внутри передней панели; встроенный экран находится непосредственно под ним

Lattepanda, смонтированный внутри передней панели; встроенный экран находится непосредственно под ним

На встроенном экране отображается информация о статусе и выполняется управление устройством

На встроенном экране отображается информация о статусе и выполняется управление устройством

Два USB-разъёма для доступа к SBC

Два USB-разъёма для доступа к SBC

Основной переключатель для включения одноплатного компьютера

Основной переключатель для включения одноплатного компьютера

Последней модификацией стал патчинг включателя полевого монитора и соединение его с оптопарой, управляемой Nano. Благодаря этому простому хаку Nano могла автоматически включать дисплей при каждом своём запуске. Это гарантирует, что внешний дисплей будет готов, когда Lattepanda начинает отображать контент на втором дисплейном выводе. Сам SBC можно включать внешним переключателем на левой панели, соединённым с контактом SW (подключённым к GND). Сам переключатель подсвечивается одним из ШИМ-портов встроенного Arduino Leonardo. Сначала я пытался использовать Leonardo для обработки показаний датчиков, но у меня почему-то не получилось, поэтому я решил воспользоваться внешним Arduino Nano, и всё прекрасно заработало. Исходный код для Arduino Nano добавлен в проект по ссылке, исполняемый файл Lattepanda я могу предоставить по запросу.

Сферы применения

Для чего же можно использовать это устройство, кроме имитации научно-фантастического гаджета? Во-первых, узкая область видимости идеально подходит для безопасного ввода данных (парящее в воздухе изображение видимо, только когда смотришь прямо на него). На этом устройстве можно замечательно вводить PIN-коды в самых многолюдных местах. Ещё один пример — устройство для голосования. А со времён пандемии подобные принципы управления привлекли большой интерес, потому что они обеспечивают максимальную гигиеничность. Так что такие «сенсорные» дисплеи можно применять в сферах, где важно соблюдение гигиены: в больницах, кабинетах врачей или домах престарелых. Кроме того, это хороший вариант для ресторанов, в которых заказы обычно выбираются на сенсорных экранах. И я уверен, что ещё есть множество других областей применения...

Научно-фантастический дизайн

После всех потраченных усилий мне хотелось, чтобы эта машина выглядела круто и научно-фантастически. К сожалению, я не смог найти похожего устройства в моих любимых фантастических мирах (например, в «Звёздных войнах»), поэтому был свободен в реализации собственной версии. Наконец-то мне представилась возможность попробовать некоторые техники, которые я уже давно хотел протестировать:

Напечатанные на 3D-принтере детали с нанесённой алюминиевой фольгой

Напечатанные на 3D-принтере детали с нанесённой алюминиевой фольгой

...потом покрашенные чёрным...

...потом покрашенные чёрным...

...и потёртые проволочной щёткой и стальной мочалкой

...и потёртые проволочной щёткой и стальной мочалкой

Я не могу (пока) печатать металлические детали, но мне они были нужны, поэтому воспользовался простым трюком: а) Сначала обклеиваем напечатанные детали конструкции алюминиевой фольгой. Детали должны иметь текстуру, чтобы можно было вдавить их в фольгу или вдавить фольгу в них. б) Закрашиваем элемент чёрной краской. Ничего сложного не требуется. Перед следующим этапом дождитесь их высыхания. в) Ототрите части краски стальной мочалкой. Благодаря этому будет казаться, что элементом пользовались долгие годы.

Создаём собственные стикеры

Источником вдохновения послужил немецкий журнал Make:

Можно создавать собственные стикеры с помощью лазерного принтера, прозрачной плёнки и чашки с водой. Приклейте прозрачную плёнку (скотч) на бумагу со стикерами, затем вырежьте стикеры и положите их в воду. Через несколько минут достаньте стикеры из воды и аккуратно ототрите размягчившуюся бумагу с плёнки пальцем, а потом приклейте. Хитрость в том, что цвет тонера вода не растворит, поэтому цвет тонера приклеится к плёнке.

Улучшения

В конце концов стало очевидно, что эта конструкция имеет свои недостатки. Основная проблема — снижение качества изображения из-за дифракции, вызванной микроструктурой ретрорефлекторов. С увеличением расстояния изображение становится всё более размытым. Ещё одна серьёзная трудность заключается в снижении яркости изображения, вызванном существенной потерей света при отражении и передаче на светоделителе и ретрорефлексией. Есть и другие проблемы:

  • множественные отражения (призрачные изображения) вызванные нежелательными отражениями на оптических элементах,

  • ограниченность углов обзора (но это может быть и желанным параметром!),

  • перекрытие оптическими элементами,

  • неуклюжий дизайн,

  • очень простые сенсорные взаимодействия из-за моей простой матрицы датчиков.

Потенциальные решения могут быть такими:

  • использовать высококачественный призматический ретрорефлектор (дорого),

  • уменьшить расстояние до парящего изображения для устранения размытия,

  • использовать яркий цифровой светодиодный дисплей,

  • ламинировать оптические элементы поляризационными плёнками и четвертьволновыми плёнками для повышения эффективности света (наверно, не подходит для самодельных устройств),

  • использовать 3D-камеру для улучшения сенсорных взаимодействий (дорого).

Благодарности

Здесь важно признать вклад команды исследователей, более десятка лет занимавшихся этой областью. Ссылки на опубликованные работы профессора Ямамото и других учёных можно найти ниже:

IEC TR 62629-51-1 Edition 1.0 2020-05 : "3D display devices – Part 51-1: Generic introduction of aerial display" Aerial Imaging by Retro-Reflection (AIRR) by [Yamamoto et al. 2014a].

Floating aerial LED signage based on aerial imaging by retro-reflection (AIRR) Hirotsugu Yamamoto, Yuka Tomiyama, and Shiro Suyama, 2014, https://opg.optica.org/oe/fulltext.cfm?uri=oe-22-22-26919&id=303352#

Заключение

На этом мой проект завершён. Надеюсь, он показался вам интересным и вдохновил на его воссоздание.