И еще уточнение: наблюдатель таки в 3D движется?
Хотя, в принципе, особого значения это не имеет при условии, что все опорные предметы расположены строго в одной плоскости.
Датчики расстояния уже пронумерованы. Но они не определяют направление. Надо было об этом сказать.
У вас уже классическая задача спутниковой навигации получается. Решается аналитически по (минимум) трем показаниям датчиков расстояния.
Нужно замерять расстояния между кубиками не в декартовой, а в полярной системе координат. Тогда, сортируя по модулю радиус-вектора, получим для каждого кубика свою уникальную конфигурацию. Ну, а разные угловые координаты не дадут нам «перепутать» близкие по модулю расстояния.
У меня проблема была в том, что часть объектов появляется, часть исчезает — т.е. перебирать иной раз приходилось довольно долго. А если количество кубиков постоянно, сложностей особых не будет.
Для полностью однозначного определения координат хватит (если считать погрешность нулевой) всего лишь трех кубиков — главное, чтобы они образовывали неравносторонний треугольник (точнее — все три стороны должны иметь разную длину).
В действительности мы имеем погрешность измерений, причем она зависит еще и от угла наблюдения — поэтому-то лучше, чтобы кубиков было побольше.
Относительные расстояния определяются с точностью до некоторой пороговой величины для каждого кубика, затем вычисляется некоторый критерий сравнения и по нему выбирается наиболее подходящая конфигурация. По ней и вычисляются расстояния. Почитайте. Может, поможет.
Можно, кстати, использовать local storage для сохранения введенных пользователем первый раз данных (ФИО, адрес и т.п.), а при его повторном заходе просто проверять — если есть данные, то подставлять сразу в формочку их, если нет — пусть заполняет.
И никаких данных на сервере хранить не надо будет.
Ну, вообще-то, это — хороший подход к «умному дому» (в идеале автосигнализация — часть комплекса «умный дом»).
Ну, а т.к. стандартов на «умные дома» нет, а фантазии есть где разгуляться, тема, я считаю, еще долго будет актуальной.
А в подобной автосигнализации понамешано очень много чего: и работа с сим-картой, и обработка изображений, и разнообразная электроника (реализация всяких концевиков/датчиков/и т.п.); можно еще анализ голоса прикрутить и/или сканер отпечатков пальцев…
Может у вас с охлаждением проблема?
А я все подумывал нетбук в качестве сервера использовать, но, к сожалению, там только одна сетевушка — полноценный шлюз не сделать…
Я так понял, вы хотите создавать рекламные ролики?
Если нет — то хотя бы озвучьте, для чего планируется применять такие «презентации». Может, что-нибудь более дельное подскажут.
Просто так сказать не могу: это зависит от ваших потребностей.
Существуют контроллеры со встроенным ethernet (от вас — лишь гальваническая развязка), USB, SPI, UART, CAN и прочими шинами/протоколами.
Простейший датчик температуры я делал когда-то, еще будучи студентом, вообще на PIC'овском микроконтроллере. Ну, а для добавления GSM-модуля нужно просто поискать готовые модули и протоколы их подключения к микроконтроллеру (GPIO, например).
Есть вообще уже готовые модули (вроде такого), к которым вам нужно лишь подключить температурный датчик (к АЦП).
Проблема в том, что, например, Chrome некорректно отображает сложные SVG; в опере вообще проблема на проблеме; Firefox только недавно научился в webGL рисовать каустику…
В общем, увы, но пока что полноценное html5-приложение можно сделать лишь для определенного браузера.
Плюсую подсчет шагов.
А чтобы точно определить нуль, лучше всего использовать механический стопор: например, отвести привод до упора + «на всякий случай» сделать еще шагов 50 (сами так и делаем во многих случаях, т.к. концевики зачастую имеют гистерезис, из-за которого погрешность установки нуля может выйти слишком большой — до сотни микрон).
Да, ориентировочно меньше ~30МБ (но это будет лишь ядро + часть coreutils) никак не получится. Прошли уже те времена, когда линукс на дискетку помещался. Сейчас одно только ядро (сжатое) 10..15МБ занимает!
Хотя, в принципе, особого значения это не имеет при условии, что все опорные предметы расположены строго в одной плоскости.