Реалізація AR-вимірювання відстаней та площ

Технічні аспекти AR-вимірювання відстаней та площ AR-вимірювання відстаней — один із небагатьох AR-юскейсів, де користувач одразу розуміє цінність. Але точність AR-вимірювання в production виявляється болючою темою: на iPhone 11 без LiDAR похибка може сягати 5-8%, а на iPad Pro з LiDAR — менше 1%

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Реалізація AR-вимірювання відстаней та площ
Середній
~2-3 дні

Наші компетенції:

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    895
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    597

Технічні аспекти AR-вимірювання відстаней та площ

AR-вимірювання відстаней — один із небагатьох AR-юскейсів, де користувач одразу розуміє цінність. Але точність AR-вимірювання в production виявляється болючою темою: на iPhone 11 без LiDAR похибка може сягати 5-8%, а на iPad Pro з LiDAR — менше 1%. Цю різницю потрібно чесно донести до клієнта ще на етапі проектування. Наш досвід показує, що багато команд неправильно обирають стек і потім переписують алгоритми. Ми пропонуємо «під ключ» надійне рішення з урахуванням усіх нюансів — зв'яжіться з нами для оцінки вашого завдання.

LiDAR vs SLAM: реальна різниця в точності AR-вимірювань

LiDAR забезпечує точність у 5-10 разів вищу порівняно з SLAM-алгоритмами на дистанціях понад 2 метри. Ось порівняння на різних пристроях:

Пристрій Тип датчика Похибка до 2 м Похибка до 5 м
iPhone SE SLAM 2–4% 5–10%
iPhone 12 Pro LiDAR 0.5–1% 1–2%
iPad Pro (M1) LiDAR 0.3–0.8% 0.8–1.5%

Без LiDAR (ARKit Visual SLAM): ARKit визначає відстань через тріангуляцію feature points. Точність сильно залежить від текстури поверхні, освітлення та пройденого шляху камери. Монотонні поверхні (білий стіл, однотонна підлога) дають +3–5% до похибки. Для застосунків, де потрібна сертифікаційна точність (будівництво, страхування, нерухомість), LiDAR — не опція, а вимога. Для побутового використання SLAM достатньо. Детальніше — у документації ARKit (https://developer.apple.com/documentation/arkit/checking_accuracy_of_estimated_scene_depth).

Як будується вимірювання відстані?

Користувач тапає по екрану — створюється точка у світових координатах через raycast. Відстань між двома точками — евклідова відстань у 3D-просторі:

func distance(_ a: simd_float3, _ b: simd_float3) -> Float { return simd_distance(a, b) } 

Для відображення лінії між точками в RealityKit — ModelEntity з MeshResource.generateBox(size:) витягнутим за вектором між точками та повернутим через simd_look(at:from:up:relativeTo:). Альтернатива — SCNGeometry з двома вершинами та примітивом .line у SceneKit.

Текстовий лейбл з відстанню — ModelEntity з MeshResource.generateText() або billboard SCNNode з SCNBillboardConstraint щоб завжди дивився на камеру.

Як виміряти площу полігону?

Площа обчислюється через алгоритм Гаусса (shoelace formula) для 2D-проекції:

func polygonArea(_ points: [simd_float3]) -> Float { var area: Float = 0 let n = points.count for i in 0..<n { let j = (i + 1) % n area += points[i].x * points[j].z area -= points[j].x * points[i].z } return abs(area) / 2 } 

Важливий нюанс: якщо точки розставлені на поверхні з нахилом (наприклад, сходи), проекція на XZ дасть занижену площу. Для похилих поверхонь потрібна 3D-площа через cross product.

Чому UI-патерни критичні для точності?

Crosshair у центрі екрану з індикатором confidence — користувач повинен розуміти, коли точка зафіксована достатньо точно. Якщо ARKit повертає ARRaycastResult з .estimatedPlane — показувати попередження «наведіть на поверхню». Якщо .existingPlaneGeometry — все гаразд.

Снепінг до вже поставлених точок на відстані < 5 см в екранному просторі — обов'язковий для замикання полігону при вимірюванні площі. Без цього користувач не може точно замкнути контур.

Експорт результатів: порівняння методів

Формат Призначення Складність реалізації
Скріншот Швидкий перегляд для користувача Низька (ARView.snapshot)
PDF Офіційний звіт з планом Середня (UIGraphicsPDFRenderer)
JSON Інтеграція в CRM/БД Висока (узгодження схеми)

Типові вимоги: зберегти скріншот з нанесеними вимірами, експортувати дані в PDF або JSON. ARView.snapshot(saveToHDR:completion:) у RealityKit. Для PDF — UIGraphicsPDFRenderer з накладеним ARView.snapshot на схематичний план приміщення.

Приклад впровадження: кейс для логістичного складу

Один із наших клієнтів — оператор складської нерухомості — поставив задачу: скоротити час обміру приміщень при здачі в оренду. Ручні заміри рулеткою займали до 30 хвилин на кімнату, похибка сягала 5% через людський фактор. Ми реалізували AR-вимірювання на iPad Pro з LiDAR: користувач обводить периметр приміщення, система автоматично обчислює площу та генерує PDF-звіт. Результат: AR-вимірювання в 10 разів швидше за ручні заміри (2 хвилини замість 30), похибка — менше 1%. Це дозволило знизити трудовитрати на 40% та виключити перерахунки при розбіжностях з орендарями. Економія для клієнта склала близько 10 000 грн на місяць. Отримайте консультацію з впровадження AR-вимірювань — зв'яжіться з нами.

Що входить у роботу

Ми спеціалізуємося на ARKit/RealityKit понад 5 років (5 років на ринку), розробили 7 успішних проєктів з AR-вимірюваннями для нерухомості та будівництва, обслуговуємо понад 30 клієнтів. Гарантуємо точність сертифікованих алгоритмів. У послугу входить:

  • Архітектура прототипу: вибір стеку (ARKit/RealityKit + SwiftUI/UIKit)
  • Реалізація алгоритмів: raycast, снепінг, polygon area (Gauss)
  • UI: crosshair з індикацією confidence, снепінг кутів
  • Експорт: скріншот, PDF з планом, JSON/CSV
  • Тестування на 10+ пристроях з різними датчиками
  • Дотримання App Store Review Guidelines (Section 2.3.10, точність вимірювань)
  • Документація та приклад коду

Строки та вартість

Лінійне вимірювання відстані з двома точками — 4-6 днів (від 20 000 грн). Багатоточкове вимірювання площі з експортом — 10-14 днів (від 40 000 грн). Підтримка LiDAR mesh picking — додатково 3-4 дні (від 10 000 грн). Вартість розраховується індивідуально. Зв'яжіться з нами для демонстрації рішення на вашому пристрої.

Детальніше про процес розробки
  1. Аналітика: визначення вимог до точності, вибір датчиків.
  2. Проектування: UI/UX, архітектура, алгоритми.
  3. Реалізація: код, інтеграція з ARKit/RealityKit.
  4. Тестування: на фізичних пристроях, у різних умовах.
  5. Деплой: публікація через TestFlight або App Store.