Принадлежит ли точка прямой уравнение

Видео:Определить, принадлежит ли точка с заданными координатами графику функцииСкачать

Определить, принадлежит ли точка с заданными координатами графику функции

Общее уравнение прямой: описание, примеры, решение задач

Данная статья продолжает тему уравнения прямой на плоскости: рассмотрим такой вид уравнения, как общее уравнение прямой. Зададим теорему и приведем ее доказательство; разберемся, что такое неполное общее уравнение прямой и как осуществлять переходы от общего уравнения к другим типам уравнений прямой. Всю теорию закрепим иллюстрациями и решением практических задач.

Видео:Вариант 47, № 3. Как определить, принадлежит ли точка с заданными координатами прямой ax+by=c. Пр. 2Скачать

Вариант 47, № 3. Как определить, принадлежит ли точка с заданными координатами прямой ax+by=c. Пр. 2

Общее уравнение прямой: основные сведения

Пусть на плоскости задана прямоугольная система координат O x y .

Любое уравнение первой степени, имеющее вид A x + B y + C = 0 , где А , В , С – некоторые действительные числа ( А и В не равны одновременно нулю) определяет прямую линию в прямоугольной системе координат на плоскости. В свою очередь, любая прямая в прямоугольной системе координат на плоскости определяется уравнением, имеющим вид A x + B y + C = 0 при некотором наборе значений А , В , С .

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

  1. Докажем, что уравнение A x + B y + C = 0 определяет на плоскости прямую.

Пусть существует некоторая точка М 0 ( x 0 , y 0 ) , координаты которой отвечают уравнению A x + B y + C = 0 . Таким образом: A x 0 + B y 0 + C = 0 . Вычтем из левой и правой частей уравнений A x + B y + C = 0 левую и правую части уравнения A x 0 + B y 0 + C = 0 , получим новое уравнение, имеющее вид A ( x — x 0 ) + B ( y — y 0 ) = 0 . Оно эквивалентно A x + B y + C = 0 .

Полученное уравнение A ( x — x 0 ) + B ( y — y 0 ) = 0 является необходимым и достаточным условием перпендикулярности векторов n → = ( A , B ) и M 0 M → = ( x — x 0 , y — y 0 ) . Таким образом, множество точек M ( x , y ) задает в прямоугольной системе координат прямую линию, перпендикулярную направлению вектора n → = ( A , B ) . Можем предположить, что это не так, но тогда бы векторы n → = ( A , B ) и M 0 M → = ( x — x 0 , y — y 0 ) не являлись бы перпендикулярными, и равенство A ( x — x 0 ) + B ( y — y 0 ) = 0 не было бы верным.

Принадлежит ли точка прямой уравнение

Следовательно, уравнение A ( x — x 0 ) + B ( y — y 0 ) = 0 определяет некоторую прямую в прямоугольной системе координат на плоскости, а значит и эквивалентное ему уравнение A x + B y + C = 0 определяет ту же прямую. Так мы доказали первую часть теоремы.

  1. Приведем доказательство, что любую прямую в прямоугольной системе координат на плоскости можно задать уравнением первой степени A x + B y + C = 0 .

Зададим в прямоугольной системе координат на плоскости прямую a ; точку M 0 ( x 0 , y 0 ) , через которую проходит эта прямая, а также нормальный вектор этой прямой n → = ( A , B ) .

Пусть также существует некоторая точка M ( x , y ) – плавающая точка прямой. В таком случае, векторы n → = ( A , B ) и M 0 M → = ( x — x 0 , y — y 0 ) являются перпендикулярными друг другу, и их скалярное произведение есть нуль:

n → , M 0 M → = A ( x — x 0 ) + B ( y — y 0 ) = 0

Перепишем уравнение A x + B y — A x 0 — B y 0 = 0 , определим C : C = — A x 0 — B y 0 и в конечном результате получим уравнение A x + B y + C = 0 .

Так, мы доказали и вторую часть теоремы, и доказали всю теорему в целом.

Уравнение, имеющее вид A x + B y + C = 0 – это общее уравнение прямой на плоскости в прямоугольной системе координат O x y .

Опираясь на доказанную теорему, мы можем сделать вывод, что заданные на плоскости в фиксированной прямоугольной системе координат прямая линия и ее общее уравнение неразрывно связаны. Иначе говоря, исходной прямой соответствует ее общее уравнение; общему уравнению прямой соответствует заданная прямая.

Из доказательства теоремы также следует, что коэффициенты А и В при переменных x и y являются координатами нормального вектора прямой, которая задана общим уравнением прямой A x + B y + C = 0 .

Рассмотрим конкретный пример общего уравнения прямой.

Пусть задано уравнение 2 x + 3 y — 2 = 0 , которому соответствует прямая линия в заданной прямоугольной системе координат. Нормальный вектор этой прямой – это вектор n → = ( 2 , 3 ) . Изобразим заданную прямую линию на чертеже.

Принадлежит ли точка прямой уравнение

Также можно утверждать и следующее: прямая, которую мы видим на чертеже, определяется общим уравнением 2 x + 3 y — 2 = 0 , поскольку координаты всех точек заданной прямой отвечают этому уравнению.

Мы можем получить уравнение λ · A x + λ · B y + λ · C = 0 , умножив обе части общего уравнения прямой на число λ , не равное нулю. Полученное уравнение является эквивалентом исходного общего уравнения, следовательно, будет описывать ту же прямую на плоскости.

Видео:Составляем уравнение прямой по точкамСкачать

Составляем уравнение прямой по точкам

Неполное уравнение общей прямой

Полное общее уравнение прямой – такое общее уравнение прямой A x + B y + C = 0 , в котором числа А , В , С отличны от нуля. В ином случае уравнение является неполным.

Разберем все вариации неполного общего уравнения прямой.

  1. Когда А = 0 , В ≠ 0 , С ≠ 0 , общее уравнение принимает вид B y + C = 0 . Такое неполное общее уравнение задает в прямоугольной системе координат O x y прямую, которая параллельна оси O x , поскольку при любом действительном значении x переменная y примет значение — C B . Иначе говоря, общее уравнение прямой A x + B y + C = 0 , когда А = 0 , В ≠ 0 , задает геометрическое место точек ( x , y ) , координаты которых равны одному и тому же числу — C B .
  2. Если А = 0 , В ≠ 0 , С = 0 , общее уравнение принимает вид y = 0 . Такое неполное уравнение определяет ось абсцисс O x .
  3. Когда А ≠ 0 , В = 0 , С ≠ 0 , получаем неполное общее уравнение A x + С = 0 , задающее прямую, параллельную оси ординат.
  4. Пусть А ≠ 0 , В = 0 , С = 0 , тогда неполное общее уравнение примет вид x = 0 , и это есть уравнение координатной прямой O y .
  5. Наконец, при А ≠ 0 , В ≠ 0 , С = 0 , неполное общее уравнение принимает вид A x + B y = 0 . И это уравнение описывает прямую, которая проходит через начало координат. В самом деле, пара чисел ( 0 , 0 ) отвечает равенству A x + B y = 0 , поскольку А · 0 + В · 0 = 0 .

Графически проиллюстрируем все вышеуказанные виды неполного общего уравнения прямой.

Принадлежит ли точка прямой уравнение

Известно, что заданная прямая параллельна оси ординат и проходит через точку 2 7 , — 11 . Необходимо записать общее уравнение заданной прямой.

Решение

Прямая, параллельная оси ординат, задается уравнением вида A x + C = 0 , в котором А ≠ 0 . Также условием заданы координаты точки, через которую проходит прямая, и координаты этой точки отвечают условиям неполного общего уравнения A x + C = 0 , т.е. верно равенство:

Из него возможно определить C , если придать A какое-то ненулевое значение, к примеру, A = 7 . В таком случае получим: 7 · 2 7 + C = 0 ⇔ C = — 2 . Нам известны оба коэффициента A и C , подставим их в уравнение A x + C = 0 и получим требуемое уравнение прямой: 7 x — 2 = 0

Ответ: 7 x — 2 = 0

На чертеже изображена прямая, необходимо записать ее уравнение.

Принадлежит ли точка прямой уравнение

Решение

Приведенный чертеж позволяет нам легко взять исходные данные для решения задачи. Мы видим на чертеже, что заданная прямая параллельна оси O x и проходит через точку ( 0 , 3 ) .

Прямую, которая параллельна очи абсцисс, определяет неполное общее уравнение B y + С = 0 . Найдем значения B и C . Координаты точки ( 0 , 3 ) , поскольку через нее проходит заданная прямая, будут удовлетворять уравнению прямой B y + С = 0 , тогда справедливым является равенство: В · 3 + С = 0 . Зададим для В какое-то значение, отличное от нуля. Допустим, В = 1 , в таком случае из равенства В · 3 + С = 0 можем найти С : С = — 3 . Используем известные значения В и С , получаем требуемое уравнение прямой: y — 3 = 0 .

Ответ: y — 3 = 0 .

Видео:Вариант 48, № 3. Как определить, принадлежит ли точка с заданными координатами прямой ax+by=c?Скачать

Вариант 48, № 3. Как определить, принадлежит ли точка с заданными координатами прямой ax+by=c?

Общее уравнение прямой, проходящей через заданную точку плоскости

Пусть заданная прямая проходит через точку М 0 ( x 0 , y 0 ) , тогда ее координаты отвечают общему уравнению прямой, т.е. верно равенство: A x 0 + B y 0 + C = 0 . Отнимем левую и правую части этого уравнения от левой и правой части общего полного уравнения прямой. Получим: A ( x — x 0 ) + B ( y — y 0 ) + C = 0 , это уравнение эквивалентно исходному общему, проходит через точку М 0 ( x 0 , y 0 ) и имеет нормальный вектор n → = ( A , B ) .

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

Даны точка М 0 ( — 3 , 4 ) , через которую проходит прямая, и нормальный вектор этой прямой n → = ( 1 , — 2 ) . Необходимо записать уравнение заданной прямой.

Решение

Исходные условия позволяют нам получить необходимые данные для составления уравнения: А = 1 , В = — 2 , x 0 = — 3 , y 0 = 4 . Тогда:

A ( x — x 0 ) + B ( y — y 0 ) = 0 ⇔ 1 · ( x — ( — 3 ) ) — 2 · y ( y — 4 ) = 0 ⇔ ⇔ x — 2 y + 22 = 0

Задачу можно было решить иначе. Общее уравнение прямой имеет вид A x + B y + C = 0 . Заданный нормальный вектор позволяет получить значения коэффициентов A и B , тогда:

A x + B y + C = 0 ⇔ 1 · x — 2 · y + C = 0 ⇔ x — 2 · y + C = 0

Теперь найдем значение С, используя заданную условием задачи точку М 0 ( — 3 , 4 ) , через которую проходит прямая. Координаты этой точки отвечают уравнению x — 2 · y + C = 0 , т.е. — 3 — 2 · 4 + С = 0 . Отсюда С = 11 . Требуемое уравнение прямой принимает вид: x — 2 · y + 11 = 0 .

Ответ: x — 2 · y + 11 = 0 .

Задана прямая 2 3 x — y — 1 2 = 0 и точка М 0 , лежащая на этой прямой. Известна лишь абсцисса этой точки, и она равна — 3 . Необходимо определить ординату заданной точки.

Решение

Зададим обозначение координат точки М 0 как x 0 и y 0 . В исходных данных указано, что x 0 = — 3 . Поскольку точка принадлежит заданной прямой, значит ее координаты отвечают общему уравнению этой прямой. Тогда верным будет равенство:

2 3 x 0 — y 0 — 1 2 = 0

Определяем y 0 : 2 3 · ( — 3 ) — y 0 — 1 2 = 0 ⇔ — 5 2 — y 0 = 0 ⇔ y 0 = — 5 2

Ответ: — 5 2

Видео:Математика без Ху!ни. Уравнения прямой. Часть 1. Уравнение с угловым коэффициентом.Скачать

Математика без Ху!ни. Уравнения прямой. Часть 1. Уравнение с угловым коэффициентом.

Переход от общего уравнения прямой к прочим видам уравнений прямой и обратно

Как мы знаем, существует несколько видов уравнения одной и той же прямой на плоскости. Выбор вида уравнения зависит от условий задачи; возможно выбирать тот, который более удобен для ее решения. Здесь очень пригодится навык преобразования уравнения одного вида в уравнение другого вида.

Для начала рассмотрим переход от общего уравнения вида A x + B y + C = 0 к каноническому уравнению x — x 1 a x = y — y 1 a y .

Если А ≠ 0 , тогда переносим слагаемое B y в правую часть общего уравнения. В левой части выносим A за скобки. В итоге получаем: A x + C A = — B y .

Это равенство возможно записать как пропорцию: x + C A — B = y A .

В случае, если В ≠ 0 , оставляем в левой части общегь уравнения только слагаемое A x , прочие переносим в правую часть, получаем: A x = — B y — C . Выносим – В за скобки, тогда: A x = — B y + C B .

Перепишем равенство в виде пропорции: x — B = y + C B A .

Конечно, заучивать полученные формулы нет необходимости. Достаточно знать алгоритм действий при переходе от общего уравнения к каноническому.

Задано общее уравнение прямой 3 y — 4 = 0 . Необходимо преобразовать его в каноническое уравнение.

Решение

Запишем исходное уравнение как 3 y — 4 = 0 . Далее действуем по алгоритму: в левой части остаётся слагаемое 0 x ; а в правой части выносим — 3 за скобки; получаем: 0 x = — 3 y — 4 3 .

Запишем полученное равенство как пропорцию: x — 3 = y — 4 3 0 . Так, мы получили уравнение канонического вида.

Ответ: x — 3 = y — 4 3 0 .

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

Прямая задана уравнением 2 x — 5 y — 1 = 0 . Запишите параметрические уравнения этой прямой.

Решение

Осуществим переход от общего уравнения к каноническому:

2 x — 5 y — 1 = 0 ⇔ 2 x = 5 y + 1 ⇔ 2 x = 5 y + 1 5 ⇔ x 5 = y + 1 5 2

Теперь примем обе части полученного канонического уравнения равными λ , тогда:

x 5 = λ y + 1 5 2 = λ ⇔ x = 5 · λ y = — 1 5 + 2 · λ , λ ∈ R

Ответ: x = 5 · λ y = — 1 5 + 2 · λ , λ ∈ R

Общее уравнение можно преобразовать в уравнение прямой с угловым коэффициентом y = k · x + b , но только тогда, когда В ≠ 0 . Для перехода в левой части оставляем слагаемое B y , остальные переносятся в правую. Получим: B y = — A x — C . Разделим обе части полученного равенство на B , отличное от нуля: y = — A B x — C B .

Задано общее уравнение прямой: 2 x + 7 y = 0 . Необходимо преобразовать то уравнение в уравнение с угловым коэффициентом.

Решение

Произведем нужные действия по алгоритму:

2 x + 7 y = 0 ⇔ 7 y — 2 x ⇔ y = — 2 7 x

Ответ: y = — 2 7 x .

Из общего уравнения прямой достаточно просто получить уравнение в отрезках вида x a + y b = 1 . Чтобы осуществить такой переход, перенесем число C в правую часть равенства, разделим обе части полученного равенства на – С и, наконец, перенесем в знаменатели коэффициенты при переменных x и y :

A x + B y + C = 0 ⇔ A x + B y = — C ⇔ ⇔ A — C x + B — C y = 1 ⇔ x — C A + y — C B = 1

Необходимо преобразовать общее уравнение прямой x — 7 y + 1 2 = 0 в уравнение прямой в отрезках.

Решение

Перенесем 1 2 в правую часть: x — 7 y + 1 2 = 0 ⇔ x — 7 y = — 1 2 .

Разделим на -1/2 обе части равенства: x — 7 y = — 1 2 ⇔ 1 — 1 2 x — 7 — 1 2 y = 1 .

Преобразуем далее в необходимый вид: 1 — 1 2 x — 7 — 1 2 y = 1 ⇔ x — 1 2 + y 1 14 = 1 .

Ответ: x — 1 2 + y 1 14 = 1 .

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

Уравнение прямой в отрезках и уравнение с угловым коэффициентом легко преобразовать в общее, просто собрав все слагаемые в левой части равенства:

x a + y b ⇔ 1 a x + 1 b y — 1 = 0 ⇔ A x + B y + C = 0 y = k x + b ⇔ y — k x — b = 0 ⇔ A x + B y + C = 0

Каноническое уравнение преобразуется к общему по следующей схеме:

x — x 1 a x = y — y 1 a y ⇔ a y · ( x — x 1 ) = a x ( y — y 1 ) ⇔ ⇔ a y x — a x y — a y x 1 + a x y 1 = 0 ⇔ A x + B y + C = 0

Для перехода от параметрических сначала осуществляется переход к каноническому, а затем – к общему:

x = x 1 + a x · λ y = y 1 + a y · λ ⇔ x — x 1 a x = y — y 1 a y ⇔ A x + B y + C = 0

Заданы параметрические уравнения прямой x = — 1 + 2 · λ y = 4 . Необходимо записать общее уравнение этой прямой.

Решение

Осуществим переход от параметрических уравнений к каноническому:

x = — 1 + 2 · λ y = 4 ⇔ x = — 1 + 2 · λ y = 4 + 0 · λ ⇔ λ = x + 1 2 λ = y — 4 0 ⇔ x + 1 2 = y — 4 0

Перейдем от канонического к общему:

x + 1 2 = y — 4 0 ⇔ 0 · ( x + 1 ) = 2 ( y — 4 ) ⇔ y — 4 = 0

Ответ: y — 4 = 0

Задано уравнение прямой в отрезках x 3 + y 1 2 = 1 . Необходимо осуществить переход к общему виду уравнения.

Решение:

Просто перепишем уравнение в необходимом виде:

x 3 + y 1 2 = 1 ⇔ 1 3 x + 2 y — 1 = 0

Ответ: 1 3 x + 2 y — 1 = 0 .

Видео:9 класс, 7 урок, Уравнение прямойСкачать

9 класс, 7 урок, Уравнение прямой

Составление общего уравнения прямой

Выше мы говорили о том, что общее уравнение возможно записать при известных координатах нормального вектора и координатах точки, через которую проходит прямая. Такая прямая определяется уравнением A ( x — x 0 ) + B ( y — y 0 ) = 0 . Там же мы разобрали соответствующий пример.

Сейчас рассмотрим более сложные примеры, в которых для начала необходимо определить координаты нормального вектора.

Задана прямая, параллельная прямой 2 x — 3 y + 3 3 = 0 . Также известна точка M 0 ( 4 , 1 ) , через которую проходит заданная прямая. Необходимо записать уравнение заданной прямой.

Решение

Исходные условия говорят нам о том, что прямые параллельны, тогда, как нормальный вектор прямой, уравнение которой требуется записать, возьмем направляющий вектор прямой n → = ( 2 , — 3 ) : 2 x — 3 y + 3 3 = 0 . Теперь нам известны все необходимые данные, чтобы составить общее уравнение прямой:

A ( x — x 0 ) + B ( y — y 0 ) = 0 ⇔ 2 ( x — 4 ) — 3 ( y — 1 ) = 0 ⇔ 2 x — 3 y — 5 = 0

Ответ: 2 x — 3 y — 5 = 0 .

Заданная прямая проходит через начало координат перпендикулярно прямой x — 2 3 = y + 4 5 . Необходимо составить общее уравнение заданной прямой.

Решение

Нормальный вектором заданной прямой будет направляющий вектор прямой x — 2 3 = y + 4 5 .

Тогда n → = ( 3 , 5 ) . Прямая проходит через начало координат, т.е. через точку О ( 0 , 0 ) . Составим общее уравнение заданной прямой:

A ( x — x 0 ) + B ( y — y 0 ) = 0 ⇔ 3 ( x — 0 ) + 5 ( y — 0 ) = 0 ⇔ 3 x + 5 y = 0

Видео:Как составить уравнение прямой, проходящей через две точки на плоскости | МатематикаСкачать

Как составить уравнение прямой, проходящей через две точки на плоскости | Математика

Принадлежность точки отрезку. Почему не работает классика?

IP76 > Векторная графика > Принадлежность точки отрезку. Почему не работает классика?

Принадлежит ли точка прямой уравнение

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

Видео:Математика без Ху!ни. Уравнения прямой. Часть 2. Каноническое, общее и в отрезках.Скачать

Математика без Ху!ни. Уравнения прямой. Часть 2. Каноническое, общее и в отрезках.

Причины и постановка задачи

Запросы «как найти принадлежность точки отрезку» уводят на страницу «Пересечение прямых, угол и координаты пересечения», где есть пункт «Принадлежность точки отрезку». В нем рассматривается факт принадлежности точки отрезку, уже после того, как мы определили точку пересечения прямых. То есть точка уже принадлежит прямым, и это абсолютно точно. Осталось только определиться, точка в отрезке между двумя точками отрезка, либо где-то на прямой мимо них.

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

Есть отрезок, заданный точками P1(x1,y1) и P2 (x2,y2) . Необходимо определить, принадлежит ли точка P(x,y) этому отрезку.

Видео:ГЕОМЕТРИЯ 9 класс: Уравнение окружности и прямойСкачать

ГЕОМЕТРИЯ 9 класс: Уравнение окружности и прямой

Классическое уравнение

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

Для совместимости с Delphi 7 введем тип вещественной точки:

Почему бы не сделать сразу TPointF вместо типа TxPoint? Просто у меня гора старых исходников, где используется этот тип, а никакого TPointF не было ни в помине, ни в планах. Delphi 7 казалась вершиной инженерной мысли на тот момент.

В предложение uses дописываем следующее (ради TPointF, и чтобы компилятор XE не доставал хинтами):

Почему именно XE5? Если честно, нет возможности проверить, не ставить же ради этого всю линейку дельфей. Но в XE5 вещественная точка точно есть, а в Delphi 7 ее точно нет. Вот этим и объясняется выбор версии компилятора в директиве. Одни говорят, что TPointF появился в XE2, другие — аж в Delphi 2010. Короче, с таким директивным условием будет работать везде и точка.

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

SameValue — сравнивает два вещественных числа с учетом погрешности Epsilon. Находится в модуле Math, который надо подключить в предложении uses секции implementation.

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

Принадлежит ли точка прямой уравнение Рис.1. Курсор точно на линии, но не определяет, что точка принадлежит отрезку

Если мы попытаемся по координатам курсора мыши определить, попала ли точка в отрезок, нас ждет фиаско. Складывается ощущение, что формула не работает, алгебра — отстой, все в жизни не так.

Видео:Аналитическая геометрия, 6 урок, Уравнение прямойСкачать

Аналитическая геометрия, 6 урок, Уравнение прямой

Расширенная классика

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

Ну, во-первых, вот и разгадка, куда делись значения 1 и 2 из результатов предыдущей функции. Во-вторых, теперь в конечные точки отрезка попадает отлично, но между ними по-прежнему не хочет работать.

На самом деле — математика по-прежнему царица наук, а мы пытаемся повенчать розу белую с черной жабой.

Выведем в интерфейс значения dx = (p2.x-p1.x), dy = (p2.y-p1.y) и т.д. Плюс результат работы функции (p.x-p1.x)*(p2.y-p1.y) — (p.y-p1.y)*(p2.x-p1.x). И убедимся, что при самых казалось бы максимально возможных приближениях к отрезку, результат ошеломляет своей двух- или трехзначной непохожестью на ноль.

Принадлежит ли точка прямой уравнение Рис.2. Теперь определяет конечные точки, но между ними по-прежнему работает так себе…

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

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

Функция применима в точных расчетах, но не в векторном редакторе.

Видео:Точки пересечения графика линейной функции с координатными осями. 7 класс.Скачать

Точки пересечения графика линейной функции с координатными осями. 7 класс.

Модификация уравнения

Очевидно, надо вычислять как-то иначе. Например вычислять Y по имеющейся координате X и сравнивать с имеющейся координатой Y. Если разница меньше заданного Epsilon — точка принадлежит отрезку. Выразим Y из используемого уравнения прямой. Итак, дано:

Выразим Y:

И напишем еще одну функцию, в которой учтем ситуацию, когда (X2-X1) может быть равно нулю. Это ситуация вертикальной (или почти вертикальной) прямой.

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

Принадлежит ли точка прямой уравнение Рис.3. Все здорово определяет с учетом погрешности Epsilon=12 pix

Но, даже если мы упростили себе процесс «попадания» в отрезок, мы должны знать точные координаты на отрезке. Для этого у нас и появился тип вещественной точки TxPoint и возвращаемый параметр res. В этой версии функции мы производим расчет реальной точки на отрезке.

На рисунке 3 расчетная точка и ее координаты выделена коричневым цветом.

Однако, все равно есть нюанс. Если линия сильно вертикальна, то есть расстояние (X2-X1) невелико, попадать в линию все равно трудно.

Принадлежит ли точка прямой уравнение Рис.3.1. На почти вертикальной линии функция снова капризничает

Связано с тем, что при уменьшении делителя, коим разность по X выступает в нашем случае, сильно вырастает результат, и чем расстояние (X2-X1) меньше, тем труднее попасть в Epsilon.

Видео:Уравнение окружности (1)Скачать

Уравнение окружности (1)

Итоговая функция

В стремлении к совершенству, всегда что-то незамысловатое, в пару строк кода, разрастается в какую-то все учитывающую портянку листинга.

Давайте проверять, что больше (X2-X1) или (Y2-Y1), и в зависимости от результата, будем высчитывать либо Y, либо X. Формулу для X не привожу, он очевидна.

Видео:Математика без Ху!ни. Уравнение плоскости.Скачать

Математика без Ху!ни. Уравнение плоскости.

Почему такая большая функция получилась?

В функции помимо факта принадлежности точки отрезку, также осуществляется проверка на конечные точки — чтобы можно было менять их расположение мышкой. Также, функция возвращает «истинную» точку на отрезке, полученную из приближенной, содержащую погрешность Epsilon.

Можно сократить, не считать конечные точки, не анализировать «вертикальность» и «горизонтальность». Можно взять за настоящую ту точку, которую анализируем и не считать «истинную». Код в этом случае сильно сократиться. Поэтому лучше иметь полный комплект, из которого можно удалить «лишнее» на ваш взгляд.

Зачем нужны такие ощутимо большие проверки на вертикальность и горизонтальность. Ну, во-первых мы освобождаем от условий последний блок вычислений, во-вторых, если убрать, скажем, проверку на dy, погрешность станет в два раза меньше. Потому что отработает это условие: Abs(p1.Y-p.Y) + Abs(p2.Y-p.Y). Имея идеальную горизонтальную линию, подведя курсор на Epsilon допустимый интервал, мы получим в итоге Epsilon + Epsilon = 2 * Epsilon и условие конечно не сработает. Сработает, если подведем на расстояние в два раза меньшее Epsilon.

Если всех этих тонкостей не требуется, можно смело использовать либо эту, либо вообще эту функцию.

Видео:Уравнение прямой в пространстве через 2 точки. 11 класс.Скачать

Уравнение прямой в пространстве через 2 точки. 11 класс.

Классика всегда в моде или Математика — царица наук

Теперь давайте полученную в результате предыдущей функции вещественную точку res подставим в первую функцию. И убедимся, что теоретическая принадлежность точки отрезку работает прекрасно, просто в пространстве грубых целочисленных точек мы не в состоянии гарантированно получить такую точку, которая удовлетворила бы уравнению. Но если мы ее рассчитаем и получим значения с плавающей запятой — все заработает как надо.

Принадлежит ли точка прямой уравнение Рис.5. Результат применения рассчитанной точки для первой функции

На рисунке 5 добавлен результат функции f(x,y)=(x-x1) * (y2-y1) — (y-y1) * (x2-x1) для рассчитанной точки на отрезке. Он равен, как и следовало ожидать, нулю. А также результат вызова первой функции, которая использует это уравнение и возвращает 3, если точка принадлежит отрезку. Что мы воочию и видим.

1)Поэтому в графике надо избегать типов TPoint, даже если это вызывает необходимость постоянно их округлять для функций GDI.

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

Видео:Определить точки, принадлежащие прямойСкачать

Определить точки, принадлежащие прямой

Скачать

Друзья, спасибо за внимание!

Надеюсь, материал был полезен.

Не пропустите новых интересных штуковин, подписывайтесь на телегу. )))

Если есть вопросы, с удовольствием отвечу.

Исходники и исполняемый файл для GDI и Delphi 7. Проверен в XE 7, XE 10.

Исходники (Delphi 7, XE7, XE10) 11 Кб

Исполняемый файл (zip) 213 Кб

Как подключить GDI+ в Delphi 7 и без проблем скомпилировать в XE 7, XE 10 читаем в этой статье. Там же забираем исходники.

Чтобы нарисовать отрезок, нажмите мышь и, не отпуская, ведите курсор. При отпускании отрезок зафиксируется. При повторном нажатии начнет рисоваться новый отрезок.

За концы отрезка можно таскать. Если попали на отрезок, т.е. видна коричневая точка, можно таскать весь отрезок.

Принадлежит ли точка прямой уравнение

Исходники намеренно выложены в D7 варианте.

При компиляции в XE10 следует снять галочку с Enable High-DPI

Видео:4. Уравнение плоскости проходящей через три точки / в отрезках / доказательство и примерыСкачать

4. Уравнение плоскости проходящей через три точки / в отрезках / доказательство и примеры

Вычислительная геометрия, или как я стал заниматься олимпиадным программированием. Часть 2

Вступление

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

Начнем с взаимного расположения точки относительно прямой, луча и отрезка.

Задача №1

Определить взаимное расположении точки и прямой: лежит выше прямой, на прямой, под прямой.

Решение
Понятно, что если прямая задана своим уравнением ax + by + c = 0, то тут и решать нечего. Достаточно подставить координаты точки в уравнение прямой и проверить чему оно равно. Если больше нуля, то точка находится в верхней полуплоскости, если равна нулю, то точка находится на прямой и если меньше нуля, то точка находится в нижней полуплоскости. Интереснее случай, когда прямая задана, задана координатами двух точек назовем их P1(x1, y1), P2(x2, y2). В этом случае можно спокойно найти коэффициенты a, b и c и применить предыдущее рассуждение. Но надо сначала подумать, оно нам надо? Конечно, нет! Как я говорил косое произведения — это просто жемчужина вычислительной геометрии. Давайте применим его. Известно, что косое произведение двух векторов положительно, если поворот от первого вектора ко второму идет против часовой стрелки, равно нулю, если векторы коллинеарны и отрицательно, если поворот идет по часовой стрелки. Поэтому нам достаточно посчитать косое произведение векторов P1P2 и P1M и по его знаку сделать вывод.

Принадлежит ли точка прямой уравнение

Задача №2

Определить принадлежит ли точка лучу.

Решение
Давайте вспомним, что такое луч: луч — это прямая, ограниченная точкой с одной стороны, а с другой стороны бесконечная. То есть луч задается некоторой начальной точкой и любой точкой лежащей на нем. Пусть точка P1(x1, y1) — начало луча, а P2(x2, y2) — любая точка принадлежащая лучу. Понятно, что если точка принадлежит лучу, то она принадлежит и прямой проходящей через эти точки, но не наоборот. Поэтому принадлежность прямой является необходимым, но не достаточным условием для принадлежности лучу. Поэтому от проверки косового произведения нам никуда не деться. Для достаточного условия нужно вычислить еще и скалярное произведение тех же векторов. Если оно меньше нуля, то точка не принадлежит лучу, если же оно не отрицательно, то точка лежит на луче. Почему так? Давайте посмотрим на рисунок.

Принадлежит ли точка прямой уравнение

Итак, для того чтобы точка M(x, y) лежала на луче с начальной точкой P1(x1, y1), где P2(x2, y2) лежит на луче необходимо и достаточно выполнения двух условий:
1. [P1P2, P1M] = 0 – косое произведение (точка лежит на прямой)
2. (P1P2, P1M) ≥ 0 – скалярное произведение (точка лежит на луче)

Задача №3

Определить принадлежит ли точка отрезку.

Решение
Пусть точки P1(x1, y1), P2(x2, y2) концы заданного отрезка. Опять-таки необходимым условием принадлежности точки отрезку является ее принадлежность прямой проходящей через P1, P2. Далее нам нужно определить лежит ли точка между точками P1 и P2, для этого нам на помощь приходит скалярное произведение векторов только на этот раз других: (MP1, MP2). Если оно меньше либо равно нуля, то точка лежит на отрезке, иначе вне отрезка. Почему так? Посмотрим на рисунок.

Принадлежит ли точка прямой уравнение

Итак, для того чтобы точка M(x, y) лежала на отрезке с концами P1(x1, y1), P2(x2, y2) необходимо и достаточно выполнения условий:
1. [P1P2, P1M] = 0 – косое произведение (точка лежит на прямой)
2. (MP1,MP2) ≤ 0 – скалярное произведение (точка лежит между P1 и P2)

Задача №4

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

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

Принадлежит ли точка прямой уравнение

Если точки находятся по разные стороны относительно прямой, то косые произведения имеют разные знаки, а значит их произведение отрицательно. Если же точки лежат по одну сторону относительно прямой, то знаки косых произведений совпадают, значит, их произведение положительно.
Итак:
1. [P1P2, P1M1] * [P1P2, P1M2] 0 – точки лежат по одну сторону.
3. [P1P2, P1M1] * [P1P2, P1M2] = 0 – одна (или две) из точек лежит на прямой.

Кстати, задача об определении наличия точки пересечения у прямой и отрезка решается точно также. Точнее, это и есть эта же задача: отрезок и прямая пересекаются, когда концы отрезка находятся по разные стороны относительно прямой или когда концы отрезка лежат на прямой, то есть необходимо потребовать [P1P2, P1M1] * [P1P2, P1M2] ≤ 0.

Задача №5

Определить пересекаются ли две прямые.

Решение
Будем считать, что прямые не совпадают. Понятно, что прямые не пересекаются, только если они параллельны. Поэтому, найдя условие параллельности, мы можем, определить пересекаются ли прямые.
Допустим прямые заданы своими уравнениями a1x + b1y + c1 = 0 и a2x + b2y + c2 = 0. Тогда условие параллельности прямых заключается в том, что a1b2 — a2b1 = 0.
Если же прямые заданы точками P1(x1, y1), P2(x2, y2), M1(x3, y3), M2(x4, y4), то условие их параллельности заключается в проверки косого произведения векторов P1P2 и M1M2: если оно равно нулю, то прямые параллельны.

Принадлежит ли точка прямой уравнение

В общем, то когда прямые заданы своими уравнениями мы тоже проверяем косое произведение векторов (-b1, a1), (-b2, a2) которые называются направляющими векторами.

Задача №6

Определить пересекаются ли два отрезка.

Решение
Вот эта задача мне, действительно, нравится. Отрезки пересекаются тогда, когда, концы каждого отрезка лежат по разные стороны от другого отрезка. Посмотрим на рисунок:

Принадлежит ли точка прямой уравнение

Итак, нам нужно проверить, чтобы концы каждого из отрезков лежали по разные стороны относительного концов другого отрезка. Пользуемся косым произведением векторов. Посмотрите на первый рисунок: [P1P2, P1M2] > 0, [P1P2, P1M1] [P1P2, P1M2] * [P1P2, P1M1] 2 + b 2 ).

Задача №8

Расстояние от точки до луча.

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

Принадлежит ли точка прямой уравнение

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

Как же определить падает ли перпендикуляр на луч или нет? Если перпендикуляр не падает на луч, то угол MP1P2 – тупой иначе острый (прямой). Поэтому по знаку скалярного произведения векторов мы можем определить попадает ли перпендикуляр на луч или нет:
1. (P1M, P1P2) 2 .

Теперь рассмотрим случай, когда центр второго круга O2 находится между точками O1 и C. В этом случае получим отрицательное значение величины d2. Использование отрицательного значения d2 приводит к отрицательному значению α. В этом случае необходимо для правильного ответа прибавить к α 2π.
Принадлежит ли точка прямой уравнение

Заключение

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

💥 Видео

Уравнение прямой, проходящей через данную точку в данном направленииСкачать

Уравнение прямой, проходящей через данную точку в данном направлении

Видеоурок "Уравнение прямой с угловым коэффициентом"Скачать

Видеоурок "Уравнение прямой с угловым коэффициентом"

Записать уравнение прямой параллельной или перпендикулярной данной.Скачать

Записать уравнение прямой параллельной или перпендикулярной данной.
Поделиться или сохранить к себе: