برنامه بررسی هم خطی نقاط – به زبان ساده

۳۴۵
۱۴۰۲/۰۴/۱۰
۷ دقیقه
PDF
برنامه بررسی هم خطی نقاط – به زبان سادهبرنامه بررسی هم خطی نقاط – به زبان ساده
آموزش متنی جامع
امکان دانلود نسخه PDF

در این مطلب، ضمن بیان مفهوم «هم‌خطی» (Collinear)، روش نوشتن برنامه بررسی هم خطی نقاط بیان و پیاده‌سازی آن در زبان‌های برنامه‌نویسی گوناگون شامل «سی‌پلاس‌پلاس» (++C)، «سی» (C)، «جاوا» (Java)، «پایتون» (Python)، «پی‌اچ‌پی» (PHP) و «سی‌شارپ» (#C) انجام شده است. «هم‌خطی» (Collinear) مفهومی در هندسه است. بر این اساس، سه نقطه یا بیشتر هم‌خط محسوب می‌شوند اگر همه روی یک خط راست قرار بگیرند. مجموعه نقاط دارای این خصوصیت را هم‌خط می‌نامند. در هندسه تحلیلی، در یک فضای nبُعدی، مجموعه‌ای از سه یا تعداد بیشتری نقطه را هم خط گویند اگر و تنها اگر، ماتریس مختصات این بردارها از رتبه ۱ یا کم‌تر باشد. اکنون، هدف نوشتن برنامه بررسی هم خط بودن نقاط است. برای درک بهتر موضوع، مثال زیر قابل توجه است.

997696
Input : (1, 1), (1, 4), (1, 5)
Output : Yes 
The points lie on a straight line

Input : (1, 5), (2, 5), (4, 6)
Output : No 
The points do not lie on a straight line

راهکار اول برای بررسی هم خطی نقاط

سه نقطه روی یک خط راست قرار دارند اگر مساحت مثلث شکل گرفته به وسیله این سه نقطه، صفر باشد.

بنابراین، بررسی می‌شود که مساحت ناحیه شکل گرفته برابر با صفر است یا نه.

:فرمول محاسبه مساحت مثلث، به صورت زیر است 
0.5 * [x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2)]

:فرمول اساسا نیمی از مقدار دترمینان زیر است
x1 x2 x3
y1 y2 y3
1   1  1

پیاده‌سازی راهکار اول بررسی هم خطی نقاط در ++C

پیاده‌سازی راهکار اول بررسی هم‌خطی نقاط در C

پیاده‌سازی راهکار اول بررسی هم خطی نقاط در جاوا

پیاده‌سازی راهکار اول بررسی هم خطی نقاط در پایتون

پیاده‌سازی راهکار اول بررسی هم خطی نقاط در سی‌شارپ

پیاده‌سازی راهکار اول بررسی هم خطی نقاط در PHP

خروجی قطعه کدهای بالا (برای نقاطی که به برنامه داده شده است)، به صورت زیر است.

Yes

راهکار دوم برای بررسی هم خطی نقاط

برای سه نقطه، شیب هر جفت از نقاط باید با شیب دیگر جفت نقاط، برابر باشد.

برای مثال، شیب خطی که (x2, y2) و (x3, y3) را به یکدیگر متصل می‌کند، باید مشابه باشد.

(y3 - y2)/(x3 - x2) = (y2 - y1)/(x2 - x1)

به عبارت دیگر:

(y3 - y2)(x2 - x1) = (y2 - y1)(x3 - x2)

اگر خروجی این رابطه، برابر با صفر باشد، یعنی نقاط روی یک خط راست قرار دارند و در واقع، هم‌خط هستند.

پیاده‌سازی راهکار دوم بررسی هم خطی نقاط در C

پیاده‌سازی راهکار دوم بررسی هم خطی نقاط در جاوا

پیاده‌سازی راهکار دوم بررسی هم خطی نقاط در پایتون

پیاده‌سازی راهکار دوم بررسی هم خطی نقاط در سی‌شارپ

پیاده‌سازی راهکار دوم بررسی هم خطی نقاط در PHP

خروجی قطعه کد بالا به صورت زیر است.

No

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

^^

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

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