Уравнение прямой по двум точкам java

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

По введенным пользователем координатам двух точек вывести уравнение прямой, проходящей через эти точки.

Общее уравнение прямой имеет вид y = kx + b . Для какой-то конкретной прямой в уравнении коэффициенты k и b заменяются на числа, например, y = 4x — 2 . Задача сводится именно к нахождению этих коэффициентов.

Так как координаты точки это значения x и y , то мы имеем два уравнения. Пусть, например, координаты точки А(3;2), а координаты B(-1;-1). Получаем уравнения:
2 = k*3 + b,
-1 = k*(-1) + b.
Решая полученную систему уравнений находим значения k и b :
b = 2 — 3k
-1 = -k + 2 — 3k
4k = 3
k = 3/4 = 0.75
b = 2 — 3 * 0.75 = 2 — 2.25 = -0.25
Таким образом, получается уравнение конкретной прямой, проходящей через указанные точки: y = 0.75x — 0.25.

Алгоритм решения данной задаче на языке программирования будет таков:

  1. Получить значения координат первой точки и присвоить их переменным, например x1 и y1 .
  2. Получить значения координат ( x2, y2 ) второй точки.
  3. Вычислить значение k по формуле k = (y1 — y2) / (x1 — x2) .
  4. Вычислить значение b по формуле b = y2 — k * x2 .
  5. Вывести на экран полученное уравнение.

Найти пересечение двух линий в Java

Быстрый взгляд на решение Java для простой математической проблемы

  • Автор записи

Автор: baeldung
Дата записи

1. Обзор

В этом быстром учебнике мы покажем как найти точку пересечения двух линий, определяемых линейными функциями в форме перехвата склона.

2. Математическая формула пересечения

Любая прямая линия (кроме вертикальной) на плоскости может быть определена линейной функцией:

где м это склон и b это y-перехват.

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

Допустим, у нас есть две строки. Первая функция определяет первую строку:

А вторая функция определяет вторую строку:

Мы хотим найти точку пересечения этих линий. Очевидно, что уравнение верно для точки пересечения:

Давайте заменим y- Переменные:

Из вышеупомянутого уравнения мы можем найти x- координата:

Наконец, мы можем найти y-координаты точки пересечения:

Теперь перейдем к части реализации.

3. Реализация Java

Во-первых, у нас есть четыре входные переменные – m1, b1 для первой строки, и m2, b2 для второй строки.

Во-вторых, мы преобразуем расчетную точку пересечения в объект java.awt.Point тип.

Наконец, линии могут быть параллельными, поэтому давайте сделают возвращенное значение Необязательно

Теперь давайте выберем некоторые значения и тестируем метод на параллельные и нетейоные линии.

Возьмем, к примеру, x -ось ( у ) как первая линия, и линия, определяемая y – 1 в качестве второй строки.

Для второй линии склон м равна 1 что означает 45 градусов, и у -Перехват равен -1 что означает, что линия перехватывает у оси в точке (0, -1).

Интуитивно понятно, что точка пересечения второй линии с x -ось должна быть (1,0 ):

Во-первых, давайте убедитесь, что Пункт присутствует, так как линии не параллельны, а затем проверить значения x и у :

Наконец, давайте возьмем две параллельные линии и убедитесь, что возвращенное значение пусто:

4. Заключение

В этом учебнике мы показали, как рассчитать точку пересечения двух линий.

Как обычно, полный исходный код доступен более на GitHub .

Как Найти точку пересечения 2х прямых, зная только 2 точки каждой прямой?

Нам дано 4 точки(2пары):
(x1,y1) и (x2,y2)

Известно, что они НЕ параллельны и пересекаются в какой-то точке. Вопрос — как найти эту точку?

Если можно то какую-нибудь формулу или просто код (на Java) Заранее спасибо!

  • Вопрос задан более трёх лет назад
  • 2920 просмотров

Зная две точки, можно подобрать коэффициенты a и b: y = ax + b через систему двух уравнений для каждой прямой.

Зная эти коэффициенты делаете систему из двух уравнений для точки пересечения.


источники:

http://javascopes.com/java-intersection-of-two-lines-76213c48/

http://qna.habr.com/q/299992