কম্পিউটার টিউটোরিয়াল

২D প্লেনে একটি বিন্দু থেকে একটি রেখায় লম্বের পা বের করা C++-তে


মনে করুন আমাদের ২D প্লেনে একটি বিন্দু P এবং একটি রেখার সমীকরণ দেওয়া আছে। কাজটি হল P থেকে রেখায় লম্বের পা বের করা।

সরল রেখার সমীকরণ হল ax + by + c = 0। P দিয়ে যাওয়া এবং রেখার সাথে লম্ব রেখার সমীকরণ। P এবং Q দিয়ে যাওয়া রেখার সমীকরণ হবে ay - bx + d = 0। এছাড়া P(x1, y1), এবং Q(x2, y2), তাই P-এর কোঅর্ডিনেট সমীকরণে বসাব।

ay₁ - bx₁ + d = 0, তাই d = bx₁ - ay₁

Q হল দেওয়া রেখা এবং P এবং Q দিয়ে যাওয়া রেখার ছেদবিন্দু, তাই আমরা এই দুটি সমীকরণের সমাধান বের করব।

ax + by + c = 0, & ay - bx + (bx₁ - ay₁) = 0

যেহেতু a, b, c, d সব জানা, আমরা এই সূত্র ব্যবহার করে বের করতে পারি -

$$\frac{x-x_{1}}{a}=\frac{y-y_{1}}{b}=\frac{-(ax_{1}+by_{1}+c)}{a^{2}+b^{2}}$$

উদাহরণ

#include <iostream>
using namespace std;

void getFootCoordinate(double a, double b, double c, double x1, double y1) {
    double p = -1 * (a * x1 + b * y1 + c) / (a * a + b * b);
    double x = p * a + x1;
    double y = p * b + y1;
    cout << "(" << x << ", " << y << ")";
}

int main() {
    double a = 0.0;
    double b = 1.0;
    double c = -2;
    double x1 = 3.0;
    double y1 = 3.0;
    cout << "The coordinate is: ";
    getFootCoordinate(a, b, c, x1, y1);
}

আউটপুট

The coordinate is: (3, 2)

  1. C++ গ্রিডে একটি পয়েন্ট থেকে অন্য পয়েন্টে যাওয়ার পথের সংখ্যা বের করুন

  2. বিভাজক থেকে সংখ্যা খুঁজে বের করা C++-এ

  3. ২-ডি প্লেনে একটি পয়েন্টের মিরর ইমেজ খুঁজে বের করা C++-এ

  4. সি++-এ একটি রেখার মিড-পয়েন্ট বের করার প্রোগ্রাম