Форум программистов, компьютерный форум, киберфорум
Геометрия
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/334: Рейтинг темы: голосов - 334, средняя оценка - 4.77
1 / 1 / 2
Регистрация: 03.06.2012
Сообщений: 24

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

13.08.2012, 18:56. Показов 62666. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста, вывести формулу нахождения координат точки пересечения прямых в пространстве. Прямые заданы двумя точками. В инете информации почему то недостаточно, помогите
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.08.2012, 18:56
Ответы с готовыми решениями:

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

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

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

18
310 / 57 / 7
Регистрация: 30.05.2012
Сообщений: 295
13.08.2012, 19:23
Лучший ответ Сообщение было отмечено как решение

Решение

Если каноническое уравнение прямой 0:
(x-xo)/p=(y-yo)/q=(z-zo)/r
а каноническое уравнение прямой 1:
(x-x1)/p1=(y-y1)/q1=(z-z1)/r1

То координаты их точки пересечения:


x=(xo*q*p1-x1*q1*p-yo*p*p1+y1*p*p1)/(q*p1-q1*p)
y=(yo*p*q1-y1*p1*q-xo*q*q1+x1*q*q1)/(p*q1-p1*q)
z=(zo*q*r1-z1*q1*r-yo*r*r1+y1*r*r1)/(q*r1-q1*r)

Разумеется прямые могут быть паралельные, совпадать и мимобежные

Добавлено через 54 секунды
доказательство:


1. (x-xo)/p=(y-yo)/q=(z-zo)/r
(x-x1)/p1=(y-y1)/q1=(z-z1)/r1

2. (x-xo)/p=(y-yo)/q
(x-x1)/p1=(y-y1)/q1

3. y=(x-xo)*q/p+yo
y=(x-x1)*q1/p1+y1

4. (x-xo)*q/p+yo=(x-x1)*q1/p1+y1

5. (x-xo)*q*p1+yo*p*p1=(x-x1)*q1*p+y1*p*p1

6. x*(q*p1-p*q1)=xo*q*p1-x1*q1*p-yo*p*p1+y1*p*p1

7. x=(xo*q*p1-x1*q1*p-yo*p*p1+y1*p*p1)/(q*p1-p*q1)

аналогично для y и z

Добавлено через 24 секунды
Цитата Сообщение от Loki_CXZ Посмотреть сообщение
В инете информации почему то недостаточно
неправда
7
0 / 0 / 0
Регистрация: 13.08.2012
Сообщений: 5
13.08.2012, 19:55
тогда вопрос вдогонку. как проверить, что прямые действительно пересекаются?
0
310 / 57 / 7
Регистрация: 30.05.2012
Сообщений: 295
14.08.2012, 01:07
Вы же в знаменателе на что-то делите, если поделите нормально - значит пересекаются и все окей, если где-то в знаменателе 0 а в числителе не ноль - то вроде скрещиваются,
1
 Аватар для cmath
2525 / 1751 / 152
Регистрация: 11.08.2012
Сообщений: 3,349
14.08.2012, 15:37
Как вариант: проверить пересекаются прямые или нет можно следующим образом:
т.к. прямые задаются двумя точками (итого 4) то можно взять 3 точки и составить уравнение плоскости,
после этого подставить координаты 4-ой точки в это уравнение (через две пересекающиеся прямые проходит плоскость и т.д.)

Добавлено через 23 минуты
Только конечно прямые, как указано выше, могут быть параллельны, но это можно очень просто проверить "изъяв" координаты направляющих векторов из уравнений.
2
310 / 57 / 7
Регистрация: 30.05.2012
Сообщений: 295
14.08.2012, 17:47
Hydrogen, все верно
0
Змеюка одышечная
 Аватар для vetvet
9864 / 4595 / 178
Регистрация: 04.01.2011
Сообщений: 8,574
15.08.2012, 18:08
2
Змеюка одышечная
 Аватар для vetvet
9864 / 4595 / 178
Регистрация: 04.01.2011
Сообщений: 8,574
15.08.2012, 18:32
Если определитель не равен 0, то прямые скрещиваются, если равен 0 и координаты направляющих векторов пропорциональны, то прямые параллельны, если определитель равен 0, но координаты направляющих векторов не пропорциональны, то прямые пересекаются.
0
 Аватар для cmath
2525 / 1751 / 152
Регистрация: 11.08.2012
Сообщений: 3,349
16.08.2012, 07:13
Цитата Сообщение от vetvet Посмотреть сообщение
Т.е. Все равно составляем уравнение плоскости и проделываем работу, которую сделал СерыйКардинал
1
Змеюка одышечная
 Аватар для vetvet
9864 / 4595 / 178
Регистрация: 04.01.2011
Сообщений: 8,574
16.08.2012, 16:36
Цитата Сообщение от Hydrogen Посмотреть сообщение
Т.е. Все равно составляем уравнение плоскости и проделываем работу, которую сделал СерыйКардинал
Нет. Вы можете найти только координаты направляющих векторов данных прямых и координаты вектора, соединяющего две точки, лежащие на данных прямых (определитель составлен как раз из этих координат).
0
 Аватар для cmath
2525 / 1751 / 152
Регистрация: 11.08.2012
Сообщений: 3,349
16.08.2012, 17:48
Цитата Сообщение от vetvet Посмотреть сообщение
Сообщение от Hydrogen
Т.е. Все равно составляем уравнение плоскости и проделываем работу, которую сделал СерыйКардинал
Нет. Вы можете найти только координаты направляющих векторов данных прямых и координаты вектора, соединяющего две точки, лежащие на данных прямых (определитель составлен как раз из этих координат).
Я имел ввиду другое. Если рассматривать, что из себя этот определитель представляет, то можно увидеть следующее: у меня есть два направляющих вектора двух прямых и координаты точки,лежащей на одной из прямых(Пусть это будет (x1, y1,z1)) Положим что (x,y,z) координаты некоторой точки на другой прямой(без разницы какой именно точки), составим вектор {x-x1;y-y1,z-z1} и рассмотрим смешанное произведение этих трех векторов (направляющих и составленного из координат)и прировняем его к нулю (вырожденный параллелепипед). Координаты направляющих {l1;m1;n1} и {l2;m2;n2}
Получим знакомый по картинке определитель (только вместо x2, y2, z2 - x, y, z) Если существуют точки, удовлетворяющие получившемуся уровнения, то они образуют собой непрерывное множество (известно какое) и если точка с координатами (x2,y2,z2) этому множеству принадлежит, то её координаты удовлетворяют уравнению, оговоренному выше.
Итог: я клоню к тому, что ваш способ базируется на той же идее, а именно: Написать уравнение плоскости которая возможно проходит через прямые (только другим способом) и подставить координаты точки в него, тем самым доказав (или наоборот опровергнув) существование такой плоскости. А дальше следуют выводы оговоренные выше.
0
Змеюка одышечная
 Аватар для vetvet
9864 / 4595 / 178
Регистрация: 04.01.2011
Сообщений: 8,574
16.08.2012, 18:09
Hydrogen, так там сразу же написано, что определитель берётся из условия принадлежности прямых плоскости (точнее из условия компланарности векторов). Не вижу смысла в составлении уравнения плоскости, если имеется 4 точки, и можно вычислить определитель без лишних преобразований.
0
 Аватар для cmath
2525 / 1751 / 152
Регистрация: 11.08.2012
Сообщений: 3,349
16.08.2012, 18:20
Hydrogen, так там сразу же написано, что определитель берётся из условия принадлежности прямых плоскости (точнее из условия компланарности векторов). Не вижу смысла в составлении уравнения плоскости, если имеется 4 точки, и можно вычислить определитель без лишних преобразований.
Вы меня не поняли. Там говорится (если я не ошибаюсь) "если прямые лежат в одной плоскости..." и "Обратно..." я не говорю ни о каких преобразованиях (в том смысле что их нужно выполнять), лишь о том "откуда ветер дует" т.е. о доказательстве, как вы сами подметили из условия компланарности векторов
(в этом весь смысл (смешанное произведение, выражающее численно объем как раз отсюда)).
кст
там сразу же написано, что определитель берётся из условия принадлежности прямых плоскости
там написано "Если..."( о чем я уже говорил).
0
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
16.08.2012, 18:26
Слежу за темой и жду что уж математики-то напушут простое и короткрое решение типа
Если то-то и то-то, то прямые не пересекаются
иначе
x=
y=
z=
чтобы содрать и в программках использовать.
Вместо этого дебаты на 2 страницы.
1
 Аватар для cmath
2525 / 1751 / 152
Регистрация: 11.08.2012
Сообщений: 3,349
16.08.2012, 18:43
Цитата Сообщение от Puporev Посмотреть сообщение
Вместо этого дебаты на 2 страницы
Вы еще математиков не знаете! я кст прикладной, дебаты по соответствующей теме - наше любимое занятие. А способа что указан выше проще вряд ли найдете.
0
Змеюка одышечная
 Аватар для vetvet
9864 / 4595 / 178
Регистрация: 04.01.2011
Сообщений: 8,574
16.08.2012, 19:18
Цитата Сообщение от Puporev Посмотреть сообщение
Слежу за темой и жду что уж математики-то напушут простое и короткрое решение типа
Если то-то и то-то, то прямые не пересекаются
иначе
Ё-моё!
Пусть прямая s1 проходит через точки (x1;y1;z1),(x2;y2;z2), а прямая s2 - через точки (x3;y3;z3),(x4;y4;z4), тогда:

1) если определитель
https://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{vmatrix}x_1-x_2 & y_1-y_2 & z_1-z_2\\ x_3-x_4 & y_3-y_4 & z_3-z_4\\ x_1-x_3 & y_1-y_3 & z_1-z_3\end{vmatrix}
равен 0, то прямые лежат в одной плоскости;

2) если не равен 0, то прямые скрещиваются;

Случай 1) распадается ещё на два:

1)а) если
https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{x_1-x_2}{x_3-x_4}=\frac{y_1-y_2}{y_3-y_4}=\frac{z_1-z_2}{z_3-z_4},
то прямые параллельны;

1)б) если равенство 1)а) не выполняется, то прямые пересекаются.

P.S.: чтобы проще было понять, в определителе в две любые строки пишем разность соответствующих координат точек, лежащих на одной прямой, в третью - разность между соответствующими координатами любых двух точек, не лежащих на одной прямой.
3
Почетный модератор
 Аватар для Puporev
64319 / 47615 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
16.08.2012, 19:21
vetvet, Спасибо. Просто как-то привык что если определитель = 0, то решений нет, не пересекаются...
0
Змеюка одышечная
 Аватар для vetvet
9864 / 4595 / 178
Регистрация: 04.01.2011
Сообщений: 8,574
16.08.2012, 19:41
Puporev, всегда пожалуйста.

Не по теме:

Цитата Сообщение от Puporev Посмотреть сообщение
Просто как-то привык что если определитель = 0, то решений нет, не пересекаются.
Если система уравнений однородная, то при нулевом определителе матрицы коэффициентов решения есть.

0
1 / 1 / 2
Регистрация: 12.07.2013
Сообщений: 146
28.07.2019, 21:04
Реально задачка с гемором. Хотел уж было велосипедить...

Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)] on win32
Python
1
2
3
4
5
6
from sympy import Point
from sympy.geometry import Segment
sg1 = Segment((0,0,0),(2,0,0))
sg2 = Segment((0,0,2),(2,0,0))
sg1.intersect(sg2)
{Point3D(2, 0, 0)}
(Да Карл, по отрезкам!!!)
для скорости есть пакет https://github.com/cknoll/sympy_to_c (правда у меня на win без напильника не взлетел)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.07.2019, 21:04
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru