Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 11
1

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

26.12.2011, 02:08. Показов 2220. Ответов 7
Метки нет (Все метки)

помогите пожалуйста завтра зачет сижу над задачами ничего не успеваю!!!!!
Разработать алгоритм определяющий взаимное расположение двух прямых в пространстве. прямые задать с помощью структур. результат вывести на экран.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.12.2011, 02:08
Ответы с готовыми решениями:

Разработать алгоритм определяющий взаимное расположение двух прямых в пространстве
Разработать алгоритм определяющий взаимное расположение двух прямых в пространстве. прямые задать с...

Даны две прямые в пространстве.Определить их взаимное расположение. Решении в С++ и алгоритм(блок схему)
Не могу решить. помогите , очень надо.:( Даны две прямые в пространстве.Определить их взаимное...

Взаимное расположение прямых
Люди.ПЛЗ помогите::wall::help: Даны вещественные числа A1, B1, C1, А, В, С. Выяснить взаимное...

Определить взаимное расположение прямых
В общем есть точки x1 x2 x3 x4 y1 y2 y3 y4, которые определяют координаты двух точек одной прямой и...

7
62 / 62 / 11
Регистрация: 16.10.2011
Сообщений: 200
26.12.2011, 02:34 2
Подскажу, ответ кроется в параметрическом уравнении прямой. Щас попытаюсь че-нить набросать...
1
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 11
26.12.2011, 02:37  [ТС] 3
спасибо помоги пожалуйста сейчас тоже сам помучаю
0
62 / 62 / 11
Регистрация: 16.10.2011
Сообщений: 200
26.12.2011, 02:40 4
Точку пересечения назодить требуется?

Добавлено через 49 секунд
Как задаются прямые? 1) Две точки 2) Точка и направляющий вектор?
1
0 / 0 / 0
Регистрация: 16.12.2011
Сообщений: 11
26.12.2011, 03:06  [ТС] 5
две точки

Добавлено через 56 секунд
точку пересечения нет не требуется только как они расположены

Добавлено через 17 минут
ну куда ты помоги пожалуйста!!!!
0
62 / 62 / 11
Регистрация: 16.10.2011
Сообщений: 200
26.12.2011, 03:28 6
Башка уже плохо соображает. Как не крути, тебе нужно отталкивать от алгоритма по поиску точки пересечения двух прямых в пространстве.
0
385 / 229 / 12
Регистрация: 06.07.2011
Сообщений: 512
26.12.2011, 03:52 7
хз, может и неверно)

если структура вроде такой:
C
1
2
3
4
5
6
7
struct line {
   point p1,p2;
}
 
struct point {
   double x,y,z
}
алгоритм вроде такого:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
line l1,l2; // наши линии
....
//задаем координаты и все такое
....
point t1=l1.p1-l1.p2;      //вычитаем координаты одной точки прямой из другой
point t2=l2.p1-l2.p2;     
 
eps=0.0000001     //точность вычисления для double
if ( !((t1.x<eps) ||
       (t1.y<eps) ||
       (t1.z<eps)) ) return;    //если все разницы равны нулю, то задали отрезок двумя одинаковыми точками, т.е. ошибка ввода
if ( !((t2.x<eps) ||
       (t2.y<eps) ||
       (t2.z<eps)) ) return; 
 
if ( (abs(t1.x/t1.y-t2.x/t2.y)<eps) ||
     (abs(t1.y/t1.z-t2.y/t2.z)<eps) ||
     (abs(t1.x/t1.z-t2.x/t2.z)<eps) ) return;    // если хоть одно из частных dx/dy, dy/dz или dx/dz совпало для обеих прямых, то пересечение есть
 
//иначе нет.
Разумеется синтаксис додумать.
вроде даже проверку на деление на ноль делать не надо, т.к. в double просто запишется +inf или -inf, если такое произойдет, и логика не нарушится.
0
62 / 62 / 11
Регистрация: 16.10.2011
Сообщений: 200
26.12.2011, 04:04 8
Есть недочет. Взаимное расположение, т.е. параллельны или совпадают или персекаются или скрещиваются.

Добавлено через 7 минут
if ( (abs(t1.x/t1.y-t2.x/t2.y)<eps) ||
(abs(t1.y/t1.z-t2.y/t2.z)<eps) ||
(abs(t1.x/t1.z-t2.x/t2.z)<eps) ) return;
Если соображалка не сдохла, то из этого можно сделать вывод только, что прямые пересекаются или скрещиваются.
0
26.12.2011, 04:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.12.2011, 04:04

Выяснить взаимное расположение прямых на плоскости
Выяснить взаимное расположение прямых А1*х+В1*у=С1 и А*х+В*у=С. Если прямые пересекаются,...

Даны две прямые в пространстве.Определить их взаимное расположение
Даны две прямые в пространстве.Определить их взаимное расположение. Решить предложенную задачу...

Заданы координаты вершин двух прямоугольников. Определить их взаимное расположение
Заданы координаты вершин двух прямоугольников. Определить их взаимное расположение: пересекаются,...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru