Перетин прямої і площини: відмінності між версіями
[неперевірена версія] | [неперевірена версія] |
Вилучено вміст Додано вміст
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{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>.
== Параметрична форма ==
[[
Пряма описується всіма точками на прямій і напрямом від конкретної точки. Таким чином будь-яка довільна точка на прямій може бути задана наступним чином
:<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>.
Ця задача зазвичай вирішується у матричній формі, і за допомогою інверсії отриманої матриці:
|