Derecelendirme ve geri bildiriminiz için teşekkürler!
Zaten derecelendirdin.
AR Core olmadan mesafe, alan ve hacim (DAV) ölçümü
Trigonometri ve Sensörler Kullanarak Yöntem (Geometri)
Bu, AR olmadan mesafeyi ölçmenin en yaygın yoludur. Kullanıcının telefonu tuttuğu yüksekliği (h) ve ivmeölçer tarafından algılanan eğim açısını (θ) kullanır.
Nasıl çalışır:
Kullanıcı kamerayı bir nesnenin tabanına doğrultursa, mesafe şu formül kullanılarak hesaplanır:
d = h⋅tan(90 − θ )
Uygulamadaki temel adımlar:
SensorManager, Sensor.TYPE_ACCELEROMETER ve Sensor.TYPE_MAGNETIC_FIELD'e erişmek için kullanılır. Cihazın eğimi (θ) hesaplanır. Bundan önce, kullanıcı telefonu tuttuğu yüksekliği seçer.
Bu, karmaşık 3D işlemeye gerek kalmadan yazılım hesaplaması yapmanın en kolay yoludur, ancak kullanıcının belirli bir sırayı izlemesini gerektirir.
Bu yöntemin sorunu:
Kullanıcı hareket etmiyorsa ve sadece önündeki iki noktayı işaretliyorsa, uygulama yalnızca mesafeye dayanarak aralarındaki açıyı bilemez. Matematiksel olarak doğru olması için, pusuladan gelen Azimut'u da kullanmalıyız.
Açı ile birlikte Alan için daha doğru "Java" kodu:
Kullanıcının aynı konumdan 2 nokta işaretlemesini istiyorsanız, iki ölçüm arasında telefonun döndürüldüğü açıyı hesaplamanız gerekir.
// onSensorChanged'da, azimut'u (orientation[0]) da kaydediyoruz
float currentAzimuth;
// Bir nokta yakalandığında, mesafeyi VE açıyı kaydediyoruz
double d1 = capturedDistances.get(0);
double d2 = capturedDistances.get(1);
double angleBetween = Math.abs(azimuth2 - azimuth1);
// İki kenarı ve aralarındaki açıyı veren bir üçgenin alanını hesaplama formülü
// (Konumumuzdan iki noktaya olan mesafeyi ölçerek bir üçgenin alanını hesapladığımızı varsayalım)
double area = 0.5 * d1 * d2 * Math.sin(Math.toRadians(angleBetween));
Hacim için (3 nokta):
İki nokta ile tabanı (Alan) elde ederiz. Üçüncü nokta genellikle Yükseklik için kullanılır.
Kullanıcı duvarın tabanını işaretler (mesafeyi kaydeder).
Kullanıcı telefonu tavana doğru kaldırır.
Dikey yüksekliği H bulmak için eğim farkını hesaplarız.
Hacim = Alan × H.
Uygulama, diğer özel özelliklerin yanı sıra, konum takibi gibi ek işlevlere de sahiptir; hesaplanan mesafeler, alanlar ve hacimler metre, santimetre, inç ve fit cinsinden ölçülebilir ve cihazın kamerasının ölçüm yapacağı yüksekliği seçebilirsiniz.
XAPK/APK dosyalarını Android'e yüklemek için tek tıkla!