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


در این مطلب، ضمن بیان مفهوم «همخطی» (Collinear)، روش نوشتن برنامه بررسی هم خطی نقاط بیان و پیادهسازی آن در زبانهای برنامهنویسی گوناگون شامل «سیپلاسپلاس» (++C)، «سی» (C)، «جاوا» (Java)، «پایتون» (Python)، «پیاچپی» (PHP) و «سیشارپ» (#C) انجام شده است. «همخطی» (Collinear) مفهومی در هندسه است. بر این اساس، سه نقطه یا بیشتر همخط محسوب میشوند اگر همه روی یک خط راست قرار بگیرند. مجموعه نقاط دارای این خصوصیت را همخط مینامند. در هندسه تحلیلی، در یک فضای nبُعدی، مجموعهای از سه یا تعداد بیشتری نقطه را هم خط گویند اگر و تنها اگر، ماتریس مختصات این بردارها از رتبه ۱ یا کمتر باشد. اکنون، هدف نوشتن برنامه بررسی هم خط بودن نقاط است. برای درک بهتر موضوع، مثال زیر قابل توجه است.
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
اگر نوشته بالا برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی
- آموزش برنامهنویسی C++
- مجموعه آموزشهای ریاضیات
- یافتن دور همیلتونی با الگوریتم پس گرد — به زبان ساده
- الگوریتم بازی مار و پله همراه با کد — به زبان ساده
- حل مساله n وزیر با الگوریتم پسگرد (Backtracking) — به زبان ساده
- الگوریتم جست و جوی دودویی در جاوا اسکریپت — به زبان ساده
^^