Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.16;
Скачать: CL | DM;

Вниз

помогите кто знает геометрию   Найти похожие ветки 

 
DillerXX ©   (2004-12-23 22:51) [0]

Даны два отрезка в трёхмерном пространстве (2 координаты точек для каждого отрезка), надо найти расстояние между ними (напомню что расстояние между двумя отрезками это минимум из расстояний между точками A и B, где точка A принадлежит первому отрезку, а точка B второму отрезку). Как это сделать? помогите кто-нибудь...


 
AlterEgo of WondeRu ©   (2004-12-23 23:32) [1]

эээ... нифига не помню... но... отрезок расстояния будет лежат на перпендикулярах от заданных линий!  
составляешь уравние перпендикуляра для одной линии, и для другого... затем решаешь систему из этих уравнений...


 
palva ©   (2004-12-24 00:41) [2]

Ну это если не отрезки, а прямые. А отрезки могут быть сильно смещены вдоль прямой, на которой лежат, так что в этом случае расстояние будет расстоянием между какими-то концами.


 
pika ©   (2004-12-24 01:00) [3]


....
len:=sqrt(sqr(x1-x2)+sqr(y1-y2)+sqr(z1,z2));
....


 
pika ©   (2004-12-24 01:00) [4]


....
len:=sqrt(sqr(x1-x2)+sqr(y1-y2)+sqr(z1-z2));
....


 
марсианин ©   (2004-12-24 01:02) [5]

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

0. пусть отрезки заданы точками A1 B1 и A2 B2 - соответственно
1. проводим прямые через отрезки. прямые заданы параметрически :
    X = L1*x + T1 - прямая через первый отрезок,
    X = L2*x + T2 - прямая через второй отрезок

   L1 = (A1 - B1)/|A1 - B1|     T1 = A1 - A1*L1
для второй прямой - аналогично..

2. получаем для каждой точки одномерные координаты на ее прямой    (т.е. х малое для каждой точки)

 xa1 = A1*L1       xb1 = B1*L1
 xa1 = A2*L2       xb2 = B2*L2

3. расстояние между 2-мя точками, лежащими на этих 2-х прямых, заданными 1-мерными координатами:
 d(x1, x2) = |X1 - X2| = |L1*x1 + T1 - L2*x2 - T2|

4. наша задача - найти минимум этой функции при условии, что
  x1 лежит в [ xa1, xb1], а x2 лежит в [ xa1, xb1]
  ищешь частные производные, находишь точку, где они в 0 обращаются

  сравниваешь значение функции d( . , . ) в этой точке со значениями на границе, выбираешь наименьшее

5. идешь пить пиво.

это кстати все не так уж и сложно.. главное - формулу вывести.


 
марсианин ©   (2004-12-24 01:06) [6]

единички с двойками кое-где напутал.. если есть вопросы - задавайте


 
WondeRu ©   (2004-12-24 09:03) [7]

pika ©   (24.12.04 1:00) [4]
len:=sqrt(sqr(x1-x2)+sqr(y1-y2)+sqr(z1-z2));


это евклидово расстояние между двумя точками, а сабж о расстоянии между отрезками, хотя... это частный случай (см. [2])


 
NeyroSpace ©   (2004-12-24 10:42) [8]

Если ты успешно прослушал курс вышки под названием "Линейная алгебра", то думаю настало время его прочитать.
Если вам не давали вышку в таком объеме, то прийдется изучать самому... Тогда начинать прийдется с определителей, а не с подраздела "Аналитическая геометрия".



Страницы: 1 вся ветка

Текущий архив: 2005.01.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
14-1103808425
Koala
2004-12-23 16:27
2005.01.16
Срочно!!! посоветуйте аппарат....


14-1104219690
syte_ser78
2004-12-28 10:41
2005.01.16
Занимательная математика :)


1-1104606072
Arnold
2005-01-01 22:01
2005.01.16
Почему необрабатывается VK_LEFT, RIGHT, UP,DOWN


9-1095791473
rs.falcon
2004-09-21 22:31
2005.01.16
Новая версия DoomForever


14-1103838942
AlterEgo of WondeRu
2004-12-24 00:55
2005.01.16
"Правильные" вопросы в форум ;-)