Top.Mail.Ru
Ответы

Pasal! Как найти точку пересечения двух прямых? ax+by+c=0

По дате
По рейтингу
Аватар пользователя
Новичок
15лет

Если вопрос открыт, то дай знать на почту. Скину исходник. А вообще на каком языке реализовать нужно?
Или тебя интересует сам механизм?
Если коротко:
есть 4 точки
например A1 B1 принадлежащие первой прямой
и A2 B2 - второй

double a1x = a1.X,
a2x=a2.X, b1x=b1.X, b2x=b2.X, a1y=a1.Y, a2y=a2.Y, b2y=b2.Y, b1y=b1.Y;

double A1 = b1y - a1y;
double B1 = a1x - b1x;
double C1 = a1x * (a1y - b1y) + a1y * (b1x - a1x);
double A2 = b2y - a2y;
double B2 = a2x - b2x;
double C2 = a2x * (a2y - b2y) + a2y * (b2x - a2x);
Выше считаются коэффициенты.

ну и сам расчет точки пересечения:
resx = (((B1 * C2) - (B2 * C1)) / ((A1 * B2) - (A2 * B1)));
resy = (((C1 * A2) - (C2 * A1)) / ((A1 * B2) - (A2 * B1)));

это как раз координаты.
да.. . чуть не забыл, расчет координат нужно засунуть в какой нить try потому как может заткнуться на исключение, когда прямые параллельны.... в итоге получишь деление на ноль

Аватар пользователя
Гуру
15лет

приравнять их уравнения

Аватар пользователя
Просветленный
15лет

Решением системы двух лин. уравнений