Форум программистов, компьютерный форум, киберфорум
Геометрия
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 02.12.2018
Сообщений: 3
1

Точка пересечения прямых в пространстве

17.12.2018, 18:45. Просмотров 1018. Ответов 8
Метки нет (Все метки)


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

Попробовал сделать способом, изложенным в этой теме: Точка пересечения двух прямых в пространстве
Метод рабочий, вот только если знаменатель будет нулем, тогда значение вычисляться не будет. Что делать в таком случае?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.12.2018, 18:45
Ответы с готовыми решениями:

Точка пересечения двух прямых в пространстве
Помогите, пожалуйста, вывести формулу нахождения координат точки пересечения прямых в пространстве....

Найти точку пересечения прямых в пространстве
Добрый день. Каким образом можно найти точку пересечения прямых, заданных координатами концов...

Точки сближения и пересечения прямых в пространстве
Здравствуйте! Из-за спора с женой, ужинать буду, если смогу решить пару задачек... Не могли бы...

Как найти координаты точки пересечения прямых в пространстве?
Имеются 2 уравнение прямых в пространстве в каноническом виде: L1 = (X-0)/0 = (Y+204.75)/0.25 =...

8
1594 / 847 / 149
Регистрация: 24.02.2013
Сообщений: 2,209
Записей в блоге: 12
17.12.2018, 20:38 2
Пример сделан для 2D. Для 3D - аналогично.
0
Миниатюры
Точка пересечения прямых в пространстве  
Модератор
Эксперт по математике/физике
6267 / 3998 / 1483
Регистрация: 09.10.2009
Сообщений: 7,465
Записей в блоге: 4
17.12.2018, 21:24 3
Цитата Сообщение от Corwell Посмотреть сообщение
Что делать в таком случае?
В таком случае кроме того что взять готовые формулы, не плохо бы понять суть метода.
Цитата Сообщение от Corwell Посмотреть сообщение
если знаменатель будет нулем, тогда значение вычисляться не будет
Естественно, чаще всего произвольно взятые две прямые в пространстве не пересекаются, а являются скрещивающимися. А пересечение это скорее исключение. На плоскости наоборот - две произвольные прямые, как правило, пересекаются, а не параллельны.
Могу написать формулы через определители, используя для каждой прямой не по 2 точки, а точку и направляющий вектор (чтобы было понятно, где влияют сами векторы, а где точки). В обозначениях по ссылке одна прямая https://www.cyberforum.ru/cgi-bin/latex.cgi?X=X_0+\bar{L}u, \: u \in R, вторая прямая https://www.cyberforum.ru/cgi-bin/latex.cgi?X=X_1+\bar{L}_1v, \: v \in R
Нужно приравнять правые части этих двух выражений и решить систему 3*2 относительно чисел u,v. "3" потому что координат три, равенства будут покоординатные.
Если https://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{vmatrix}x_1-x_0 & y_1-y_0 & z_1-z_0\\ p & q & r\\ p_1 & q_1 & r_1\end{vmatrix}=0, то прямые лежат в одной плоскости, а значит могут пересечься. Если нет - они скрещивающиеся.
Тогда искомая точка пересечения, полученная решением вышенаписанной системы, будет
https://www.cyberforum.ru/cgi-bin/latex.cgi?T=X_0+\bar{L} \cdot \frac{\begin{vmatrix}x_1-x_0 & y_1-y_0\\ p_1 & q_1\end{vmatrix}}{\begin{vmatrix}p & q\\ p_1 & q_1\end{vmatrix}}
Если знаменатель равен 0 (при том, что определитель 3-го порядка равен 0), то прямые параллельные, т.е. точки T нет.
0
0 / 0 / 0
Регистрация: 02.12.2018
Сообщений: 3
19.12.2018, 23:08  [ТС] 4
А еще неплохо бы понять, в чем заключается вопрос.

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

Например:
A(0;0;0), B(5;0;0)
A1(3;0;0) B1(8;7;3), где А, А1 — координаты начала отрезков; В, В1 — координаты концов.

По этому методу координату z нельзя высчитать, потому что в знаменателе получается 0. Меня интересовало, что делать в таком случае.
0
Эксперт C
25441 / 15834 / 3386
Регистрация: 24.12.2010
Сообщений: 34,644
20.12.2018, 18:01 5
Corwell, В самом деле, каноническое уравнение прямой - это некоторая условная запись, которую надо уметь трактовать. и (z - z0)/0 означает всего лишь, что z = z0
Но если от канонического уравнения перейти к параметрическому, все тут же становится на свои места.
0
Модератор
Эксперт по математике/физике
6267 / 3998 / 1483
Регистрация: 09.10.2009
Сообщений: 7,465
Записей в блоге: 4
20.12.2018, 18:21 6
Цитата Сообщение от Corwell Посмотреть сообщение
Меня интересовало, что делать в таком случае.
Применять другой метод. Этот метод не охватывает всех случаев.
В моём методе, кстати, тоже замечена уязвимость, как говорят компьютерщики - иногда бывает, что в знаменателе одна строчка определителя равна 0. В таком случае вместо написанной дроби из двух определителей написать другую дробь:
https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{\begin{vmatrix}x_1-x_0 & z_1-z_0\\ p_1 & r_1\end{vmatrix}}{\begin{vmatrix}p & r\\ p_1 & r_1\end{vmatrix}} или https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{\begin{vmatrix}y_1-y_0 & z_1-z_0\\ q_1 & r_1\end{vmatrix}}{\begin{vmatrix}q & r\\ q_1 & r_1\end{vmatrix}}, где в знаменателе нет нулевой строки. Заостряю - не просто определитель в знаменателе равен 0 (тогда прямые лежат в одной плоскости и параллельны), а именно строчка состоит из нулей.
Тот числовой пример, который вы привели, как раз и попадает на уязвимость метода по ссылке. Геометрически, у вас одна прямая совпадает с осью ОХ, а другая пересекает первую в точке (3;0;0). В методе по ссылке чел решает систему линейных уравнений по х и y и находит точку (если она есть) - фактически, проецирует пространственные прямые на плоскость XOY. Но координата z зависит от координат zi и yi, а значит, получена решение такой же системы относительно переменных y и z, то есть две данные прямые проецируются на плоскость YOZ и ищется 3-я координата точки пересечения. Но у вас первая прямая при проецировании на плоскость YOZ даёт не прямую, а точку (0;0;0), значит, в знаменателе того метода будет скалярное произведение нуль-вектора на какой-то, то есть 0. И тогда метод не применим, хотя точка пересечения есть.
0
1080 / 692 / 114
Регистрация: 12.10.2013
Сообщений: 4,587
20.12.2018, 20:05 7
может тут?
http://mathworld.wolfram.com/L... ction.html
1
Модератор
Эксперт по математике/физике
6267 / 3998 / 1483
Регистрация: 09.10.2009
Сообщений: 7,465
Записей в блоге: 4
20.12.2018, 23:41 8
Цитата Сообщение от Excalibur921 Посмотреть сообщение
может тут?
Да, формула (24), если перевести её в обозначения того метода по ссылке (или моего), то будет https://www.cyberforum.ru/cgi-bin/latex.cgi?X_0+\bar{L}\frac{\left(\left[X_1-X_0,\bar{L}_1 \right],\left[\bar{L},\bar{L}_1 \right] \right)}{\left|\left[\bar{L},\bar{L}_1 \right] \right|^2} при условии нахождения прямых на одной плоскости https://www.cyberforum.ru/cgi-bin/latex.cgi?\left(X_1-X_0,\bar{L},\bar{L}_1 \right)=0
Но ТС выбрал метод, не требующий знания векторного и скалярного произведений, определителей, а только 4-х арифметических операций.
0
0 / 0 / 0
Регистрация: 02.12.2018
Сообщений: 3
21.12.2018, 21:02  [ТС] 9
jogano, я как раз хотел убедиться, что метод на самом деле не универсальный. Спасибо вам.

Добавлено через 2 минуты
Байт,
Цитата Сообщение от Байт Посмотреть сообщение
и (z - z0)/0 означает всего лишь, что z = z0
Если это правда, то вам тоже спасибо, мне это пригодится.)
Я ведь могу использовать этот метод, и при условии, что (z - z0)/0, просто приравнивать z к z0?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.12.2018, 21:02

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

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

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

Точка пересечения двух пространственных прямых?
Как найти точку пересечения пространственных прямых, заданных параметрически? Или установить что её...

Точка пересечения 2х отрезков в пространстве
Доброго дня всем. Такая постановка задачи, делаю проект для работы с 3D-моделями. И встал вопрос...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.