ARCore Measurment for Android
31.2 MB
Размер файла
- Безопасность
Everyone
Android 10.0+
Android OS
Oписание ARCore Measurment for Android
Приложение использует AR Core для измерения расстояния, площади и объема.
1. Измерение расстояния
Расстояние — это наиболее фундаментальный параметр измерения в дополненной реальности. Оно рассчитывается как евклидово расстояние между двумя 3D-координатами (якорями), размещенными в сцене дополненной реальности.
2. Измерение площади
Для измерения площади пользователь должен разместить как минимум три якоря, чтобы сформировать многоугольник. Большинство измерений площади в дополненной реальности предполагают, что поверхность является плоской (2D-поверхность в 3D-пространстве).
Алгоритм:
Наиболее распространенный подход — это формула шнурка (формула геодезиста). Поскольку точки находятся в 3D, сначала следует спроецировать их на 2D-плоскость (используя нормаль плоскости) или убедиться, что все точки лежат на одной и той же обнаруженной плоскости ядра дополненной реальности.
3. Измерение объема
Объем значительно сложнее, поскольку требует измерения глубины. Существует два основных способа решения этой задачи:
— Метод коробки (экструзия): измерьте площадь пола (как описано выше), а затем измерьте вертикальное расстояние (высоту).
Формула: Объем = Площадь * Высота
- Метод ограничивающего прямоугольника: Используйте две диагональные угловые точки для определения 3D-куба.
- API глубины (расширенный): Используйте AR Core для создания облака точек объекта и вычисления объема с помощью выпуклой оболочки или вокселизации. Это гораздо точнее для объектов неправильной формы, но требует устройства с датчиком времени пролета или высококачественной поддержкой глубины.
Поскольку вы углубляетесь в реализацию, настоящая проблема в AR Core заключается не только в математике, но и в пользовательском интерфейсе и точности. Измерение 3D-пространства на 2D-экране может быть сложным для пользователей.
Вот как структурировать вашу Java-логику для этих функций:
1. Расстояние (основа)
Для получения точного измерения следует использовать Session hit Test() для размещения якорей. Использование якорей гарантирует, что даже если камера смещается, точки остаются «зафиксированными» в координатах физического мира.
2. Площадь (Плоская геометрия)
Для вычисления площади пользователи обычно хотят измерить пол или стену. Следует ограничить количество точек одной плоскостью. Если точки находятся на одной горизонтальной плоскости (значения y почти одинаковы), можно игнорировать ось y и рассматривать это как вычисление для двумерного многоугольника.
Совет по реализации: храните точки в List. По мере добавления пользователем новой точки динамически обновляйте предварительный просмотр «текущей площади». Формула «шнурок» является здесь стандартной, поскольку она работает для любого несамопересекающегося многоугольника (неправильных форм).
3. Объём (Метод «коробки»)
Вычисление объёма произвольного трёхмерного объекта очень сложно без датчика LiDAR. Для стандартного приложения Java AR Core наиболее надёжным способом является метод вытянутого многоугольника:
1. Определение основания: пользователь щёлкает точками, чтобы определить площадь пола (A).
2. Определение высоты: Пользователь щелкает по точке на полу и перетаскивает линию вверх, или щелкает по точке на потолке (h).
3. Расчет: V = A * h.
Советы по точности
API глубины: Если устройство поддерживает API глубины, включите его. Он позволяет выполнять проверку попадания на «неплоские» объекты (например, диван или мяч), которые стандартный поиск плоскости может пропустить.
Сглаживание: Координаты AR могут колебаться. Используйте простой фильтр скользящего среднего для положения камеры или результатов проверки попадания, чтобы предотвратить резкие скачки значений измерений.
Рекомендуемая архитектура
Менеджер измерений: Синглтон или вспомогательный класс для хранения списка активных якорей.
Рендерер: отвечает за отрисовку линий и текстовых меток в AR-наложении.
Конвертер единиц: Утилита для переключения между метрической системой (метры/см) и имперской (футы/дюймы).
Приложение, помимо указанных функций, имеет дополнительные функции, такие как локализация: английский, испанский, французский, болгарский и немецкий языки. Рассчитываемые расстояние, площадь и объем отображаются в метрах, которые можно перевести в сантиметры, дюймы и футы.
Что нового в последней версии 9.0
Информация ARCore Measurment for Android APK
Супер Быстрая и Безопасная Загрузка через Приложение APKPure
Один клик для установки XAPK/APK файлов на Android!








