Главная страница
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.044 c
3-1103006883
OlegL
2004-12-14 09:48
2005.01.16
TMemoField


14-1104049679
Fin
2004-12-26 11:27
2005.01.16
Расчет платежа за электроэнергию.


14-1103997443
Хакер
2004-12-25 20:57
2005.01.16
НЛП - Вы накомы с наукой, позволяющей управлять своим сознанием?


1-1104298826
Laymer
2004-12-29 08:40
2005.01.16
Перехват запуска программ


3-1102684136
Rule
2004-12-10 16:08
2005.01.16
Вопрос простой, аж смешно по DBComboBox