Форум: "Потрепаться";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];
Внизпомогите кто знает геометрию Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c