ARCore Measurment for Android
31.2 MB
Bestandsgrootte
- Beveiliging
Everyone
Android 10.0+
Android OS
Over ARCore Measurment for Android
De applicatie gebruikt AR Core voor het meten van afstand, oppervlakte en volume.
1. Afstand meten
Afstand is de meest fundamentele AR-meting. Deze wordt berekend als de Euclidische afstand tussen twee 3D-coördinaten (ankers) die in de AR-scène zijn geplaatst.
2. Oppervlakte meten
Om oppervlakte te meten, moet de gebruiker minimaal drie ankers plaatsen om een polygoon te vormen. De meeste AR-oppervlaktemetingen gaan ervan uit dat het oppervlak een vlak is (2D-oppervlak in 3D-ruimte).
Het algoritme:
De meest gebruikte methode is de veterformule (landmeterformule). Omdat de punten zich in 3D bevinden, moet u ze eerst projecteren op een 2D-vlak (met behulp van de normaal van het vlak) of ervoor zorgen dat alle punten op hetzelfde gedetecteerde AR-kernvlak liggen.
3. Volume meten
Volume is aanzienlijk complexer omdat het diepte vereist. Er zijn twee belangrijke manieren om dit aan te pakken:
- Boxmethode (extrusie): Meet de vloeroppervlakte (zoals hierboven beschreven) en meet vervolgens een verticale afstand (hoogte).
Formule: Volume = Oppervlakte * Hoogte
- Methode voor begrenzingskaders: Gebruik twee diagonale hoekpunten om een 3D-kubus te definiëren.
- Diepte-API (Geavanceerd): Gebruik AR Core om een puntenwolk van een object te creëren en het volume te berekenen via een convexe omhulling of voxelisatie. Dit is veel nauwkeuriger voor onregelmatige objecten, maar vereist een apparaat met een Time-of-Flight-sensor of hoogwaardige diepteondersteuning.
Aangezien je je verdiept in de implementatie, is de echte uitdaging in AR Core niet alleen de wiskunde, maar ook de gebruikerservaring en precisie. Het meten van een 3D-ruimte op een 2D-scherm kan lastig zijn voor gebruikers.
Hieronder volgt een overzicht van hoe je je Java-logica voor deze functies kunt structureren:
1. Afstand (De basis)
Om een zuivere meting te krijgen, moet je Session hit Test() gebruiken om ankers te plaatsen. Het gebruik van ankers zorgt ervoor dat, zelfs als de camera verschuift, de punten "vergrendeld" blijven aan de fysieke wereldcoördinaten.
2. Oppervlakte (Planaire geometrie)
Voor oppervlakte willen gebruikers meestal een vloer of een muur meten. Je moet je punten beperken tot één vlak. Als de punten zich op hetzelfde horizontale vlak bevinden (de y-waarden zijn vrijwel identiek), kun je de y-as negeren en het behandelen als een 2D-polygoonberekening.
Implementatietip: Sla je punten op in een List. Wanneer de gebruiker een nieuw punt toevoegt, werk je dynamisch een "huidig gebied"-voorbeeld bij. De veterformule is hier de standaard, omdat deze werkt voor elke niet-zelfdoorsnijdende polygoon (onregelmatige vormen).
3. Volume (de "Box"-methode)
Het berekenen van het volume van een willekeurig 3D-object is erg moeilijk zonder een LiDAR-sensor. Voor een standaard Java AR Core-app is de meest betrouwbare methode de Extruded Polygon-methode:
1. Definieer de basis: De gebruiker klikt op punten om het vloeroppervlak (A) te definiëren.
2. Definieer de hoogte: De gebruiker klikt op een punt op de vloer en sleept een lijn omhoog, of klikt op een punt op het plafond (h).
3. Bereken: V = A * h.
Pro-tips voor nauwkeurigheid
De diepte-API: Als het apparaat dit ondersteunt, schakel dan de Raw Depth API in. Hiermee kunt u botsingstests uitvoeren op 'niet-vlakke' objecten (zoals een bank of een bal) die standaard vlakdetectie mogelijk mist.
Vloeiendheid: AR-coördinaten kunnen trillen. Gebruik een eenvoudig voortschrijdend gemiddelde filter op de camerapositie of de botsingstestresultaten om te voorkomen dat de meetwaarden snel heen en weer springen.
Voorgestelde architectuur
Meetmanager: Een singleton of helperklasse om de lijst met actieve ankers op te slaan.
Renderer: Verzorgt het tekenen van de lijnen en tekstlabels in de AR-overlay.
Eenheidsomzetter: Een hulpprogramma om te schakelen tussen metrisch (meter/cm) en imperiaal (voet/inches).
De applicatie heeft, naast de gespecificeerde functies, extra functies zoals lokalisatie: Engels, Spaans, Frans, Bulgaars en Duits. Berekende afstand, oppervlakte en volume zijn in meters, die kunnen worden omgezet naar centimeters, inches en voeten.
What's new in the latest 9.0
ARCore Measurment for Android APK -informatie
Oude versies van ARCore Measurment for Android
Supersnel en veilig downloaden via de APKPure-app
Eén klik om XAPK/APK-bestanden op Android te installeren!







