Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tìm chân đường thẳng đứng từ điểm đến đường thẳng trong mặt phẳng 2D trong C++


Cho điểm P(x1,y1) và đường thẳng ax+by+c=0. Tìm chân đường thẳng đứng từ P đến đường thẳng.

Đường thẳng vuông góc qua P: ay - bx + d = 0, với d = bx1 - ay1. Giao điểm của hai đường thẳng là chân. Công thức: (x-x1)/a = (y-y1)/b = -(ax1+by1+c)/(a^2+b^2).

Ví dụ

#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); }

Kết quả

The coordinate is: (3, 2)