Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пересечение отрезков, Определение пересечения 2-х отрезков 
:(
    Опции темы
Romka
Дата 7.4.2003, 17:14 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Добрый день!

Подскажите пожалуйста способ определения пересечения двух отрезков в трехмерном пространстве. Сам я определяю по пересечению проекций отрезков на плоскости, но это как-то коряво на мой взгляд...

Заранее благодарен.

С уважением, Роман.

  Вверх
podval
Дата 7.4.2003, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Где я? Кто я?
****


Профиль
Группа: Экс. модератор
Сообщений: 3094
Регистрация: 25.3.2002
Где: СПб

Репутация: 18
Всего: 62



Самый верный способ: если система из двух уравнений, описывающих прямые, имеет решение, значит они пересекаются. Записать уравнения прямых, если известны отрезки, - не проблема.
PM WWW ICQ   Вверх
pike
Дата 8.4.2003, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 4.3.2003

Репутация: нет
Всего: нет



Можно определить точку пересечения проекций на плоскости XY и, если в этой точке Z-ы линий совпадают - то пересекаются.
PM MAIL   Вверх
Unregistered
Дата 8.4.2003, 08:45 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Если имеется ввиду уравнение прямой P = P1 + t ( P2 - P1 ), то для 3D должна быть (по идее )система из трех уравнений:

x1 + ta (x2 - x1) = x3 + tb (x4 - x3)
y1 + ta (y2 - y1) = y3 + tb (y4 - y3)
z1 + ta (z2 - z1) = z3 + tb (z4 - z3)

Вот тут то и сказался недостаток образования, я уже и так и эдак вертел - результаты плачевныеsad.gif(

С уважением, Роман.


  Вверх
pike
Дата 9.4.2003, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 4.3.2003

Репутация: нет
Всего: нет



Так что у тебя дано изначально?

Координаты концов отрезков?
PM MAIL   Вверх
neutrino
Дата 9.4.2003, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: нет
Всего: 62



Прямые в трех-мерном пространстве определяются либо пересечением двух плоскостей:

A1x+B1y+C1z+D1=0
A2x+B2y+C2z+D2=0

либо, если прямая проходит через две точки:

(x-x1)/(x2-x1)=(y-y1)/(y2-y1)=(z-z1)/(z2-z1)

Последний нерелевантен для этого случая, таким образом надо решить систему уравнений:
A1x+B1y+C1z+D1=0
A2x+B2y+C2z+D2=0

A3x+B3y+C3z+D3=0
A4x+B4y+C4z+D4=0

гдe два последних уравнения - это уравнения плоскостей, образующих вторую прямую.

Можно решить, найдя дитерменант матрицы... этот способ легко имплементировать в программе.


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
Unregistered
Дата 9.4.2003, 12:16 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Большое спасибо за совет!

Эх... Плохо быть бестолковым, буду разбираться.

С уважением, Роман.

  Вверх
pike
Дата 9.4.2003, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 4.3.2003

Репутация: нет
Всего: нет



... либо так
y=f(x)
z=f(x)
smile.gif
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0728 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.