Как Найти точку пересечения 2х прямых, зная только 2 точки каждой прямой? Нам дано 4 точки(2пары):
(x1,y1) и (x2,y2)
(x3,y3) и (x4,y4)
Известно, что они НЕ параллельны и пересекаются в какой-то точке. Вопрос - как найти эту точку?
Если можно то какую-нибудь формулу или просто код (на Java) Заранее спасибо!

21 Авг 2019 в 06:16
212 +1
0
Ответы
1

Для нахождения точки пересечения двух прямых можно воспользоваться методом решения системы уравнений. Уравнения прямых можно записать в общем виде y = kx + b, где k - угловой коэффициент прямой, b - свободный член.

По условию, прямые не параллельны, следовательно их угловые коэффициенты не равны. Таким образом, у нас есть система из двух уравнений:

y = k1x + b1
y = k2x + b2

Где k1, b1 - коэффициенты первой прямой, k2, b2 - коэффициенты второй прямой.

Далее подставляем координаты точек (x1,y1) и (x2,y2) в уравнение первой прямой и точки (x3,y3) и (x4,y4) в уравнение второй прямой:

y1 = k1x1 + b1
y2 = k1x2 + b1

y3 = k2x3 + b2
y4 = k2x4 + b2

Получаем систему из 4 уравнений, которую можно решить относительно x и y, чтобы найти точку пересечения прямых.

На языке Java это можно реализовать следующим образом:

public class Main {
public static void main(String[] args) {
double x1 = 1, y1 = 2;
double x2 = 3, y2 = 4;
double x3 = 2, y3 = 1;
double x4 = 4, y4 = 3;
double k1 = (y2 - y1) / (x2 - x1);
double b1 = y1 - k1 * x1;
double k2 = (y4 - y3) / (x4 - x3);
double b2 = y3 - k2 * x3;
double xIntersection = (b2 - b1) / (k1 - k2);
double yIntersection = k1 * xIntersection + b1;
System.out.println("Точка пересечения прямых: (" + xIntersection + ", " + yIntersection + ")");
}
}

Данный код найдет координаты точки пересечения заданных двух прямых.

20 Апр 2024 в 13:21
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир