ARCore Measurment for Android
31.2 MB
Rozmiar Pliku
- Bezpieczeństwo
Everyone
Android 10.0+
Android OS
O ARCore Measurment for Android
Aplikacja wykorzystuje AR Core do pomiaru odległości, powierzchni i objętości.
1. Pomiar odległości
Odległość to najbardziej podstawowy pomiar AR. Jest obliczana jako euklidesowa odległość między dwoma współrzędnymi 3D (kotwicami) umieszczonymi w scenie AR.
2. Pomiar powierzchni
Aby zmierzyć powierzchnię, użytkownik musi umieścić co najmniej trzy kotwice, tworząc wielokąt. Większość pomiarów powierzchni AR zakłada, że powierzchnia jest płaską płaszczyzną (powierzchnia 2D w przestrzeni 3D).
Algorytm:
Najpopularniejszą metodą jest wzór sznurowadła (wzór geodety). Ponieważ punkty znajdują się w 3D, należy je najpierw rzutować na płaszczyznę 2D (używając normalnej do płaszczyzny) lub upewnić się, że wszystkie punkty leżą na tej samej wykrytej płaszczyźnie rdzenia AR.
3. Pomiar objętości
Objętość jest znacznie bardziej złożona, ponieważ wymaga głębokości. Istnieją dwa główne sposoby podejścia do tego:
- Metoda prostopadłościanu (wytłaczania): Zmierz powierzchnię podłogi (jak opisano powyżej), a następnie zmierz odległość pionową (wysokość).
Wzór: Objętość = Powierzchnia * Wysokość
- Metoda Bounding Box: Użyj dwóch przekątnych punktów narożnych, aby zdefiniować sześcian 3D.
- API głębokości (zaawansowane): Użyj AR Core, aby utworzyć chmurę punktów obiektu i obliczyć objętość za pomocą wypukłej otoczki lub wokselizacji. Jest to znacznie dokładniejsze w przypadku obiektów o nieregularnych kształtach, ale wymaga urządzenia z czujnikiem czasu przelotu (Time-of-Flight) lub wysokiej jakości obsługą głębokości.
Skoro zagłębiasz się w implementację, prawdziwym wyzwaniem w AR Core nie jest tylko matematyka, ale UX i precyzja. Pomiar przestrzeni 3D na ekranie 2D może być dla użytkowników trudny.
Oto opis struktury logiki Java dla tych funkcji:
1. Odległość (podstawa)
Aby uzyskać dokładny pomiar, należy użyć Session hit Test() do umieszczenia punktów kotwiczących. Użycie punktów kotwiczących gwarantuje, że nawet jeśli kamera się przesunie, punkty pozostaną „zablokowane” względem współrzędnych świata fizycznego.
2. Powierzchnia (geometria planarna)
W przypadku powierzchni użytkownicy zazwyczaj chcą zmierzyć podłogę lub ścianę. Należy ograniczyć punkty do jednej płaszczyzny. Jeśli punkty znajdują się na tej samej płaszczyźnie poziomej (wartości y są niemal identyczne), można zignorować oś y i potraktować to jako obliczenie wielokąta 2D.
Wskazówka dotycząca implementacji: Przechowuj punkty w obiekcie List. Gdy użytkownik dodaje nowy punkt, dynamicznie aktualizuj podgląd „bieżącego obszaru”. Wzór na sznurowadło jest tutaj standardem, ponieważ działa dla dowolnego wielokąta, który nie przecina się sam ze sobą (kształty nieregularne).
3. Objętość (metoda „prostokątna”)
Obliczanie objętości dowolnego obiektu 3D jest bardzo trudne bez czujnika LiDAR. W przypadku standardowej aplikacji Java AR Core najpewniejszą metodą jest metoda wielokąta wytłoczonego:
1. Zdefiniuj podstawę: Użytkownik klika punkty, aby zdefiniować powierzchnię podłogi (A).
2. Zdefiniuj wysokość: Użytkownik klika punkt na podłodze i przeciąga linię w górę lub klika punkt na suficie (h).
3. Oblicz: V = A * h.
Wskazówki dotyczące dokładności
API Głębokości: Jeśli urządzenie je obsługuje, włącz API Głębokości Surowej. Umożliwia ono przeprowadzanie testów trafień na obiektach „niepłaskich” (takich jak kanapa lub piłka), które standardowe wyszukiwanie płaszczyzn może pominąć.
Wygładzanie: Współrzędne rzeczywistości rozszerzonej (AR) mogą ulegać drganiom. Użyj prostego filtra średniej ruchomej w ustawieniu kamery lub wynikach testu trafień, aby zapobiec gwałtownym wahaniom wartości pomiarów.
Sugerowana architektura
Menedżer pomiarów: Klasa pojedyncza lub pomocnicza do przechowywania listy aktywnych punktów odniesienia.
Renderer: Obsługuje rysowanie linii i etykiet tekstowych w nakładce rzeczywistości rozszerzonej (AR).
Konwerter jednostek: Narzędzie do przełączania między jednostkami metrycznymi (metry/cm) i imperialnymi (stopy/cale).
Aplikacja, oprócz wymienionych funkcji, posiada również dodatkowe funkcje, takie jak lokalizacja: w języku angielskim, hiszpańskim, francuskim, bułgarskim i niemieckim. Obliczenia odległości, powierzchni i objętości są podawane w metrach, które można przeliczyć na centymetry, cale i stopy.
What's new in the latest 9.0
Informacje ARCore Measurment for Android APK
Superszybkie i bezpieczne pobieranie za pośrednictwem aplikacji APKPure
Jedno kliknięcie, aby zainstalować pliki XAPK/APK na Androidzie!







