محاسبه مسافت بین دو نقطه در جاوا – از صفر تا صد

۶۶۴
۱۴۰۲/۰۶/۶
۲ دقیقه
PDF
آموزش متنی جامع
امکان دانلود نسخه PDF

در این راهنما به بررسی شیوه محاسبه مسافت بین دو نقطه در جاوا می‌پردازیم.

محاسبه مسافت بین دو نقطه در جاوا – از صفر تا صدمحاسبه مسافت بین دو نقطه در جاوا – از صفر تا صد
997696

فرمول ریاضی محاسبه مسافت

تصور کنید دو نقطه روی یک صفحه وجود دارد: نقطه اول A دارای مختصات (x1, y1) است و نقطه دوم B مختصات (x2, y2) را دارد و می‌خواهیم AB یعنی مسافت بین دو نقطه را محاسبه کنیم.

ابتدا یک مثلث قائم‌الزاویه با وتر AB می‌سازیم:

مسافت بین دو نقطه در جاوا

بر اساس قضیه فیثاغورث، مجموع مجذورهای طول اضلاع غیر وتر مثلث برابر با مربع طول وتر مثلث است یعنی:

AB2 = AC2 + CB2

در وهله دوم به محاسبه AC و CB می‌پردازیم. بدیهی است که:

AC = y2 - y1

به طور مشابه:

BC = x2 - x1

بخش‌هایی از معادله را جایگزین می‌کنیم:

distance * distance = (y2 - y1) * (y2 - y1) + (x2 - x1) * (x2 - x1)

در نهایت از معادله فوق می‌توانیم مسافت بین دو نقطه را محاسبه کنیم:

distance = sqrt((y2 - y1) * (y2 - y1) + (x2 - x1) * (x2 - x1))

پیاده‌سازی جاوا

اینک به بررسی پیاده‌سازی جاوای این محاسبه می‌پردازیم.

استفاده از فرمول ساده

با این که پکیج‌های java.lang.Math و java.awt.geom.Point2D راه‌حل‌های آماده‌ای ارائه می‌کنند. اما ابتدا فرمول‌های فوق را به صورت زیر پیاده‌سازی می‌کنیم:

برای تست این راه‌حل باید مثلثی با اضلاع 3 و 4 (که در تصویر فوق نمایش یافته است) بسازیم. بدیهی است که اندازه قطر نیز 5 خواهد بود، زیرا:

3 * 3 + 4 * 4 = 5 * 5

راه‌حل را بررسی می‌کنیم:

استفاده از پکیج java.lang.Math

اگر نتیجه ضرب متد ()calculateDistanceBetweenPoints بسیار بزرگ باشد، ممکن است سرریز رخ دهد. برخلاف آن متد ()Math.hypot از overflow یا underflow بی‌درنگ جلوگیری می‌کند.

همین نقاط را مانند قبل می‌گیریم و بررسی می‌کنیم که مسافت همان باشد:

استفاده از پکیج java.awt.geom.Point2D

در نهایت مسافت را با استفاده از متد ()Point2D.distance محاسبه می‌کنیم:

اینک متد را به همان روش تست می‌کنیم:

سخن پایانی

در این راهنما چند روش را برای محاسبه مسافت بین دو نقطه در جاوا بررسی کردیم. همانند همیشه کدهای این مقاله را می‌توانید در صفحه گیت‌هاب (+) ملاحظه کنید.

اگر این نوشته برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

بر اساس رای ۴ نفر
آیا این مطلب برای شما مفید بود؟
اگر پرسشی درباره این مطلب دارید، آن را با ما مطرح کنید.
منابع:
baeldung
PDF
مطالب مرتبط
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *