মনে করুন আমাদের ২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)