Перетин прямої і площини: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Inna Z (обговорення | внесок)
м робот косметичні зміни
Рядок 2:
2. Перетин в точці.<br />
3. Перетин є прямою.]]
В аналітичній [[Геометрія|геометрії]], перетин [[Пряма|прямої]] і [[Площина|площини]] може бути [[Порожня множина|порожньою множиною]],
[[Точка|точкою]], або
або прямою. Розрізнення цих випадків, і визначення рівнянь для точки і прямої має своє застосування [[Комп'ютерна графіка|комп'ютерній графіці]], [[:en:motion planning|плануванні руху]], і
[[Виявлення зіткнень|виявленні зіткнень]].
 
== Алгебраїчна форма ==
У [[:en:vector notation|векторному представленні]], площину можна задати у вигляді набору точок <math>\mathbf{p}</math> для яких
:<math>(\mathbf{p}-\mathbf{p_0})\cdot\mathbf{n} = 0</math>
де <math>\mathbf{n}</math> - [[Нормаль (геометрія)|вектор нормалі]], що перпендикулярний площині і <math>\mathbf{p_0}</math> є точкою на площині.
(Це представлення <math>\mathbf{a}\cdot\mathbf{b}</math> означає [[Скалярний добуток|скалярний добуток]] двох векторів <math>\mathbf{a}</math> і <math>\mathbf{b}</math>.)
 
Векторне рівняння прямої є наступним:
:<math>\mathbf{p} = d\mathbf{l} + \mathbf{l_0} \quad d\in\mathbb{R}</math>
де <math>\mathbf{l}</math> це вектор, який вказує напрям прямої, <math>\mathbf{l_0}</math> точка на цій прямій, і <math>d</math> це скаляр в [[Дійсні числа|дійсній]] області чисел.
Підставляючи рівняння прямої в рівняння площини, отримуємо
:<math>(d \mathbf{l} + \mathbf{l_0} - \mathbf{p_0})\cdot\mathbf{n} = 0</math>
Рядок 23:
:<math>d = {(\mathbf{p_0}-\mathbf{l_0})\cdot\mathbf{n} \over \mathbf{l}\cdot\mathbf{n}}.</math>
 
Якщо <math>\mathbf{l}\cdot\mathbf{n} = 0</math> пряма і площина є паралельними. Матимемо два випадки: якщо <math>(\mathbf{p_0}-\mathbf{l_0})\cdot\mathbf{n} =0</math> пряма знаходиться на площині,
що означає, що пряма перетинає площину в кожній точці прямої. В іншому випадку, пряма і площина не мають перетину.
 
Рядок 29:
:<math>d\mathbf{l} + \mathbf{l_0}</math>.
 
== Параметрична форма ==
[[ImageФайл:Line plane.svg|thumb|300px|right|Перетин прямої і площини.]]
Пряма описується всіма точками на прямій і напрямом від конкретної точки. Таким чином будь-яка довільна точка на прямій може бути задана наступним чином
 
:<math>\mathbf{l}_a + (\mathbf{l}_b - \mathbf{l}_a)t, \quad t\in \mathbb{R}</math>
 
де <math>\mathbf{l}_a=(x_a, y_a, z_a)</math> and <math>\mathbf{l}_b=(x_b, y_b, z_b)</math>
є вдома різними точками на прямій.
 
Таким же чином будь-яка довільна точка на площині може бути представлена як:
 
:<math>\mathbf{p}_0 + (\mathbf{p}_1-\mathbf{p}_0)u + (\mathbf{p}_2-\mathbf{p}_0)v, \quad u,v\in\mathbb{R}</math>
Рядок 55:
:<math>\mathbf{l}_a + (\mathbf{l}_b - \mathbf{l}_a)t</math>
 
Якщо лінія паралельна площині тоді вектори <math>\mathbf{l}_b - \mathbf{l}_a</math>, <math>\mathbf{p}_1-\mathbf{p}_0</math>, і <math>\mathbf{p}_2-\mathbf{p}_0</math> будуть [[Лінійно незалежні вектори|лінійно залежними]]
і матриця буде виродженою. Ця ситуація також виникає, коли пряма знаходиться на площині.
 
Рядок 62:
Якщо рішення задовольняє
:<math>u,v \in [0,1], \;\;\; (u+v) \leq 1,</math>
тоді точка перетину знаходиться на площині в межах трикутника, що заданий трьома точками <math>\mathbf{p}_0</math>, <math>\mathbf{p}_1</math> і <math>\mathbf{p}_2</math>.
 
Ця задача зазвичай вирішується у матричній формі, і за допомогою інверсії отриманої матриці: