У тривимірної геометрії Евкліда, якщо для двох прямих немає такої площині, якій би вони належали, то вони називаються мимобіжними прямими і не мають точок перетину. Якщо прямі знаходяться в одній площині, то є три можливості. Якщо вони збігаються, вони мають нескінченно багато спільних точок (а саме, всі точки на цих прямих). Якщо прямі різні, але мають один і той же нахил, вони паралельні і не мають спільних точок. В іншому випадку вони мають одну точку перетину.
У неевклідової геометрії дві прямі можуть перетинатися в декількох точках і кількість прямих, які не перетинаються з даною прямою (паралельних) може бути більшим за одиницю.
Необхідною умовою перетину двох прямих є приналежність їх одній площині, тобто ці прямі не повинні бути мимобіжними прямими. Виконання цієї умови еквівалентно виродженості чотиригранника, у якого дві вершини лежать на одній прямій, а дві інші — на іншій (тобто об'єм цього тетраедра дорівнює нулю). Алгебраїчну форму цієї умови можна знайти в статті Мимобіжні прямі § Перевірка на мимобіжність.
Розглянемо перетин двох прямих та на площині, де пряма визначена двома різними точками та , а пряма — різними точками та [1].
Точку перетину прямих та можна знайти за допомогою визначників
Визначники можна переписати у вигляді:
Зауважимо, що знаходиться точка перетину прямих, а не відрізків між точками, і, тому вона може лежати поза відрізками. Якщо шукати рішення в термінах кривих Безьє першого порядку, то можна перевірити параметри цих кривих 0.0 ≤ t ≤ 1.0 та 0.0 ≤ u ≤ 1.0 (t та u — параметри)[2].
Якщо дві прямі є паралельними або збігаються, тоді знаменник дорівнює нулю:
У випадку коли прямі майже паралельні, при обчисленні на комп'ютері можуть виникнути числові складнощі, оскільки знаменник буде занадто близьким до нуля, й розпізнавання такого випадку може потребувати відповідного тесту на «невизначеність» для програми. Більш стійке і загальне рішення може бути отримано при обертанні відрізків таким чином, що один з них стане горизонтальним, а тоді параметричне рішення другої прямої легко отримати. При роз'вязанні необхідно уважно розглянути окремі випадки розташування прямих та відрізків, такі як паралельність чи збіг прямих, можливе накладення відрізків.
Координати і точки перетину двох невертикальних прямих можна легко знайти за допомогою наступних підставлень і перетворень та , де і — кутові коефіцієнти прямих, а та — координати перетину прямих з віссю Oy. У точці перетину прямих (якщо вони перетинаються), обидві координати будуть збігатися, звідки отримуємо рівність:
Ми можемо перетворити це рівняння з метою виділення :
,
тоді:
.
Для знаходження підставляємо у будь-яке з двох рівнянь. Нехай у перше:
.
Звідси отримуємо точку перетину прямих:
Зауважимо, що при дві прямі паралельні. Якщо при цьому , прямі різні та не мають перетинів, в іншому ж випадку прямі збігаються.
При використанні однорідних координат точка перетину двох явно заданих прямих може бути знайдена досить просто. У 2-вимірному просторі будь-яка точка може бути визначена як проєкція 3-мірної точки, заданої трійкою . Відображення 3-мірних координат у 2-мірні відбувається за формулою . Просто перетворити координати точок 2-вимірному простору в однорідні координати, прирівнявши третю координату одиниці — .
Припустимо, що ми хочемо знайти перетин двох нескінченних прямих у 2-вимірному просторі, які задані формулами та . Можемо записати ці дві прямі в координатах прямої[en] як та .
Перетин двох прямих тоді просто задається формулами[3]:
У двомірному просторі, перетин в одній точці трьох і більше прямих майже напевнонеможливий. Для того, щоб визначити, чи перетинаються прямі в одній точці, і, якщо перетинаються, для пошуку точки перетину, запишемо i-е рівняння прямої (i = 1, …, n), як і скомпонуємо ці рівняння в матричному вигляді
де i-м рядком матриці n × 2 буде , відповідно w — це 2 × 1 вектор (x, y)T, а i-й елемент вектора-стовпця b дорівнює bi (i = 1, …, n). Якщо матриця A має незалежні стовпці, її ранг дорівнює 2. Тоді і лише тоді, коли ранг розширеної матриці [A | b ] дорівнює 2, існує рішення матричного рівняння і, таким чином, існує точка перетину n прямих. Точка перетину, якщо вона існує, знаходиться так:
де є псевдообернена матриця до матриці . Як альтернатива, рішення може бути знайдено шляхом спільного розв'язання двох незалежних рівнянь. Але якщо ранг матриці A дорівнює 1, а ранг розширеної матриці дорівнює 2, розв'язків немає. У разі ж, коли ранг розширеної матриці дорівнює 1, всі прямі збігаються.
Представлений вище підхід поширюється на тривимірний простір. У тривимірному та n-вимірних просторах навіть дві прямі майже напевно не перетинаються. Пари непаралельних прямих, які не перетинаються, називаються перехресними. Але коли перетин існує, його можна знайти наступним чином. У тривимірному просторі пряма представляється перетином двох площин, кожна з яких задається формулою Тоді множина n прямих може бути представлена у вигляді 2n рівнянь від 3-вимірного координатного вектора w = (x, y, z)T:
де A дорівнює 2n × 3 і b дорівнює 2n × 1. Як і раніше, існує єдина точка перетину тоді і тільки тоді, коли A та розширена матриця [A | b ] мають максимальний ранг, якщо перетин існує, то він задається формулою:
У двовимірному просторі спочатку представляють пряму як пару об'єктів: точку на прямій та одиничний векторнормалі, перпендикулярний до цієї прямої. Тобто, якщо та — точки на прямій 1, то нехай і
,
який є одиничним вектором на прямій, повернутим на 90 градусів.
Зауважимо, що відстань від точки x до прямої задається формулою:
Хоча в просторах вище двох нормаль не визначається однозначно, її можна узагальнити на будь-яку розмірність, якщо зауважити, що є просто (симетричною) матрицею усі власні значення якої дорівнюють 1, за винятком нульового власного значення в напрямку вздовж прямої, яка визначає напівнорму на відстані між точкою та іншою точкою, на якій досягається відстань до прямої. У просторі довільної вимірності, якщо це — одиничний вектор уздовж i-ї лінії, тоді
Для того, щоб знайти точку перетину набору прямих, обчислюємо точку з мінімальною відстанню до них. Кожна пряма визначається точкою та вектором одиничної довжини . Квадрат відстані від точки до однієї з прямих обчислюється за теоремою Піфагора:
Де: є проєкція: на -ту пряму. Сума квадратів відстаней до всіх прямих становить:
.
Щоб мінімізувати цей вираз, візьмемо похідну по :
.
В результаті:
,
де — цє одинична матриця. Це матриця , з розв'язком , є псевдообернена матриця до .
↑Antonio, Franklin (1992). Chapter IV.6: Faster Line Segment Intersection. У Kirk, David (ред.). Graphics Gems III. Academic Press, Inc. с. 199—202. ISBN0-12-059756-X.