با تشکر از رتبه و بازخورد شما!
شما قبلاً رتبه بندی کرده اید.
اندازهگیری فاصله، مساحت و حجم (DAV) بدون هسته واقعیت افزوده
روش استفاده از مثلثات و حسگرها (هندسه)
این رایجترین روش برای اندازهگیری فاصله بدون واقعیت افزوده است. در این روش از ارتفاعی که کاربر گوشی را در آن نگه میدارد (h) و زاویه شیب (θ) که توسط شتابسنج تشخیص داده میشود، استفاده میشود.
نحوه کار:
اگر کاربر دوربین را به سمت پایه یک جسم بگیرد، فاصله با استفاده از فرمول زیر محاسبه میشود:
d = h⋅tan(90 − θ)
مراحل کلیدی در برنامه:
از SensorManager برای دسترسی به Sensor.TYPE_ACCELEROMETER و Sensor.TYPE_MAGNETIC_FIELD استفاده میشود. گام دستگاه (θ) محاسبه میشود. قبل از آن، کاربر ارتفاعی را که گوشی را در آن نگه داشته است انتخاب میکند.
این سادهترین راه برای انجام محاسبات نرمافزاری بدون پردازش سهبعدی پیچیده است، اما مستلزم آن است که کاربر یک توالی خاص را دنبال کند.
مشکل این روش:
اگر کاربر در حال حرکت نباشد و به سادگی دو نقطه را در مقابل خود علامتگذاری کند، برنامه هیچ راهی برای دانستن زاویه بین آنها صرفاً بر اساس فاصله ندارد. برای دقت ریاضی، باید از آزیموت قطبنما نیز استفاده کنیم.
کد "جاوا" دقیقتر برای مساحت (با زاویه):
اگر میخواهید کاربر دو نقطه را از یک مکان علامتگذاری کند، باید زاویهای را که گوشی بین دو اندازهگیری چرخانده شده است، محاسبه کنید.
// در onSensorChanged، آزیموت (orientation[0]) را نیز ثبت میکنیم.
float currentAzimuth;
// وقتی یک نقطه ثبت میشود، فاصله و زاویه را ثبت میکنیم.
double d1 = caughtDistances.get(0);
double d2 = caughtDistances.get(1);
double angleBetween = Math.abs(azimuth2 - azimuth1);
// فرمول مساحت مثلث با توجه به دو ضلع و زاویه بین آنها
// (با فرض اینکه ما مساحت مثلث را از موقعیت خود تا دو نقطه اندازهگیری میکنیم)
مساحت مضاعف = 0.5 * d1 * d2 * Math.sin(Math.toRadians(angleBetween));
برای حجم (3 امتیاز):
با دو نقطه، قاعده (مساحت) را داریم. نقطه سوم معمولاً برای ارتفاع استفاده میشود.
کاربر به پایه دیوار اشاره میکند (فاصله را ثبت میکند).
کاربر تلفن را به سمت سقف بالا میبرد.
ما اختلاف شیب را برای یافتن ارتفاع عمودی H محاسبه میکنیم.
حجم = مساحت ضربدر H.
این برنامه، همراه با سایر ویژگیهای خاص، عملکردهای دیگری مانند ردیابی موقعیت مکانی دارد؛ فواصل، مساحتها و حجمهای محاسبه شده را میتوان بر حسب متر، سانتیمتر، اینچ و فوت اندازهگیری کرد و میتوانید ارتفاعی را که دوربین دستگاه در آن اندازهگیری خواهد کرد، انتخاب کنید.
برای نصب فایل های XAPK/APK در اندروید با یک کلیک!