forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Математика (http://forum.boolean.name/forumdisplay.php?f=85)
-   -   Расстояние между прямыми (http://forum.boolean.name/showthread.php?t=16468)

Mind 10.03.2012 17:10

Расстояние между прямыми
 
Привет всем.
Каким образом я могу получить расстояние(минимальное естественно) между двумя прямыми в пространстве, если известны только координаты точек прямых?
ПС И если можно то и координаты точек получить(расстояние между которыми и будет минимальным).

AVL 10.03.2012 17:46

Ответ: Расстояние между прямыми
 
Прямые либо параллельны, либо пересекаются. Имеются в виду отрезки? Или параллельные прямые?

Mind 10.03.2012 17:49

Ответ: Расстояние между прямыми
 
Отрезки. Желательно все случаи рассмотреть.

Igor 10.03.2012 20:45

Ответ: Расстояние между прямыми
 
пространство 3d?
Геометрически делается так - пусть прямые "а" и "б", берём плоскость, перпендикулярную "а" (назовём её N), делаем на неё проекцию "б", ищем расстояние от проекции "б" до точки пересечения a и N. (расстояние от прямой до точки найдёшь?)
P.S. должны быть более изящные способы

UPD: можно обозначить вектор "с" как кратчайший путь между "а" и "б". Условие - скалярные произведения с*а=0 и с*b=0.

А если думать лень, написать функцию нахождения расстояния от точки до прямой "а" и бинарным поиском пробежаться по "б", подбирая точки. (тем более если "б"-отрезок)

Mind 11.03.2012 01:34

Ответ: Расстояние между прямыми
 
Пространство 3D.

Цитата:

Геометрически делается так - пусть прямые "а" и "б", берём плоскость, перпендикулярную "а" (назовём её N), делаем на неё проекцию "б", ищем расстояние от проекции "б" до точки пересечения a и N. (расстояние от прямой до точки найдёшь?)
Способ какой-то "извращенный".


Цитата:

P.S. должны быть более изящные способы
Да я их встречал, но у меня в программе не получалось их воплотить так как, там где их писали, не было толкового объяснения что к чему.

Цитата:

А если думать лень, написать функцию нахождения расстояния от точки до прямой "а" и бинарным поиском пробежаться по "б", подбирая точки. (тем более если "б"-отрезок)
Я уже думать не могу так как каждую божию секунду думаю о том какую нужно брать точку на какой умножать вектор какой из них нормализировать а потом умножать на скалярное произведение.....
ПС. Мне даже уже сны снятся :)
ПСС. Поэтому прошу помощи у вас/Вас т.к. самому тяжело понять даже с помощью гугла, яндекса и пр.

pax 11.03.2012 17:21

Ответ: Расстояние между прямыми
 
http://festival.1september.ru/articles/531497/
Цитата:

Метод проекций.
  1. Выбираем плоскость, перпендикулярную одной из скрещивающихся прямых.
  2. Проецируем каждую прямую на эту плоскость.
  3. Расстояние между проекциями будет расстоянием между скрещивающимися прямыми.

т.е. сведение задачи к расстоянию от точки до прямой в плоскости.

Mind 13.03.2012 00:44

Ответ: Расстояние между прямыми
 
Я так толком и не понял. Там описывается частный случай? - когда отрезки/прямые описывает куб? Или ......
Если так как описано там, то,"по закономерности", расстояние между прямыми всегда равно а/sqrt(3) что ли? Бред.... А если длина одной прямой меньше единицы, а второй - около тысячи. Что тогда... нужно будет искать новую "закономерность"?

ПС. Я много читал об это на ГэймДеве, так что более менее понимаю что-то. Так вот если сможете напишите, как вы думаете, решение это задачи, если уверены или уже сталкивались с этой задачей.
ЗЫ Хотя может быть я и неправ. Надо будет попробовать не частный случай, просто времени никак нет :).

Igor 14.03.2012 00:23

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

Немножко информации: если есть вектор А(x1,y1,z1), то плоскость с уравнением x*x1+y*y1+z*z1+d=0 перпендикулярна этому вектору. (d- любая константа).
Если считать что прямые задаются векторами А и В, а кратчайшее расстояние между ними - R, то R коллинеарен векторному произведению А и В


Часовой пояс GMT +4, время: 18:14.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot