Математический форум Math Help Planet
http://mathhelpplanet.com/

Перпендикуляр между скрещивающимися прямыми
http://mathhelpplanet.com/viewtopic.php?f=33&t=27313
Страница 1 из 1

Автор:  Sachem [ 28 окт 2013, 21:39 ]
Заголовок сообщения:  Перпендикуляр между скрещивающимися прямыми

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

Покопал Инет. И выяснил, что все как сговорились. Предлагают искать сначала направляющий вектор третьей прямой содержащей этот отрезок. Потом шаманить. Т.е. писать параметрические уравнения для прямых и связывать их через лямбду - коэффициент между найденным направляющим вектором третьей прямой и вектором построенным на искомых координатах.

В результате так и не видел, чтобы кто-то привёл окончательный набор формул, так сказать, в общем случае. Т.е. формулы не для конкретного частного примера, а пригодные для программиста.

Для наглядности о чём речь можно глянуть у Александра Емелина задачу "Общий перпендикуляр скрещивающихся прямых". Опять же с уходом в частный пример.

Прошёл предложенный путь. Получились стоэтажные формулы.

Параллельно вывел формулы для случая пересекающихся прямых. Две системы параметрических уравнений приравниваются, т.к. считается что у них есть общая точка. Всё решается легко и красиво. Но возникло у меня какое-то чувство загадки. А именно двойственности. Почему одну и ту же точку можно искать используя два пути. Можно используя один параметр и систему параметрических уравнений для первой прямой. А можно другой параметр и другую систему уравнений для другой прямой.

В конце-концов я взял 4 точки двух скрещивающихся прямых и подставил в уравнения для нахождения координат точки пересечения пересекающихся прямых. И о чудо. Используя первый параметр и первую систему уравнений получил координаты одного конца отрезка между скрещивающимися прямыми. А используя второй параметр и вторую систему соответственно второй конец.

И сразу всё встало на свои места по поводу сомнений двойственности для пересекающихся прямых.

В связи с этим у меня возник вопрос. Где можно почитать о "законности" использования уравнений для нахождения координат точки пересекающихся прямых в случае с нахождением координат перпендикуляра между скрещивающимися прямыми?

Возможно немного коряво изложил мысль. Надеюсь математики поймут.

P.S. Почему возникают сомнения по поводу "законности". Во-первых, такое никто не предлагал. А во-вторых, в случае с пересекающимися прямыми приравнивание их параметрических уравнений логично. А в случае с пересекающимися... По какому собственно праву мы приравниваем уравнения прямых как бы и не имеющих общих точек.

Очень хочется разобраться. Ибо один метод законен, но сложен. А второй прост, но... не видна его "законность".

Автор:  mad_math [ 28 окт 2013, 21:58 ]
Заголовок сообщения:  Re: Перпендикуляр между скрещивающимися прямыми

Я не знаю, где Вы искали, но в Выгодском, Бронштейне и нашем теоретическом разделе static.php?p=tipovye-zadachi-s-pryamymi-v-prostranstve#a4 расстояние между скрещивающимися прямыми находится через смешанное и векторное произведение векторов. И там не упоминается вектор третьей прямой (во всяком случае в явном виде).

Автор:  Sachem [ 28 окт 2013, 22:13 ]
Заголовок сообщения:  Re: Перпендикуляр между скрещивающимися прямыми

mad_math писал(а):
расстояние между скрещивающимися прямыми находится через...

А мне не нужно расстояние между скрещивающимися прямыми. Мне нужны координаты концов перпендикуляра между этими прямыми. Это совсем другая задача. О ней я и говорю. По вашей ссылке находится расстояние между нужными мне точками, но сами точки не находятся.

Автор:  mad_math [ 28 окт 2013, 22:17 ]
Заголовок сообщения:  Re: Перпендикуляр между скрещивающимися прямыми

Тогда действительно без нахождения уравнения перпендикуляра не обойтись.

Автор:  Sachem [ 28 окт 2013, 22:58 ]
Заголовок сообщения:  Re: Перпендикуляр между скрещивающимися прямыми

mad_math писал(а):
Тогда действительно без нахождения уравнения перпендикуляра не обойтись.

Так я же в своём первом посте и пишу, что если использовать формулы для пересекающихся прямых, то всё находится и без уравнений перпендикуляра. Вот я и хочу найти этому объяснение.

Вот подробнее. У нас есть две пересекающиеся прямые. Они заданы точками [math]({S^1},{P^1})[/math] и [math]({S^2},{P^2})[/math]. Записываем для них параметрические уравнения

[math]\left\{\begin{array}{l}x = ({x_{{P^1}}}-{x_{{S^1}}}) \cdot t +{x_{{S^1}}}\\ y = ({y_{{P^1}}}-{y_{{S^1}}}) \cdot t +{y_{{S^1}}}\\ z = ({z_{{P^1}}}-{z_{{S^1}}}) \cdot t +{z_{{S^1}}}\end{array}\right.[/math]

и

[math]\left\{\begin{array}{l}x = ({x_{{P^2}}}-{x_{{S^2}}}) \cdot t +{x_{{S^2}}}\\ y = ({y_{{P^2}}}-{y_{{S^2}}}) \cdot t +{y_{{S^2}}}\\ z = ({z_{{P^2}}}-{z_{{S^2}}}) \cdot t +{z_{{S^2}}}\end{array}\right.[/math]

Т.к. прямые пересекаются в точке P, то можно переписать уравнения как

[math]\left\{\begin{array}{l}{x_P}= ({x_{{P^1}}}-{x_{{S^1}}}) \cdot{t_1}+{x_{{S^1}}}\\{y_P}= ({y_{{P^1}}}-{y_{{S^1}}}) \cdot{t_1}+{y_{{S^1}}}\\{z_P}= ({z_{{P^1}}}-{z_{{S^1}}}) \cdot{t_1}+{z_{{S^1}}}\end{array}\right.(1)[/math]

и

[math]\left\{\begin{array}{l}{x_P}= ({x_{{P^2}}}-{x_{{S^2}}}) \cdot{t_2}+{x_{{S^2}}}\\{y_P}= ({y_{{P^2}}}-{y_{{S^2}}}) \cdot{t_2}+{y_{{S^2}}}\\{z_P}= ({z_{{P^2}}}-{z_{{S^2}}}) \cdot{t_2}+{z_{{S^2}}}\end{array}\right.(2)[/math]

Далее "законно" их приравниваем друг другу через точку пересечения P:

[math]\left\{\begin{array}{l}({x_{{P^1}}}-{x_{{S^1}}}) \cdot{t_1}+{x_{{S^1}}}= ({x_{{P^2}}}-{x_{{S^2}}}) \cdot{t_2}+{x_{{S^2}}}\\ ({y_{{P^1}}}-{y_{{S^1}}}) \cdot{t_1}+{y_{{S^1}}}= ({y_{{P^2}}}-{y_{{S^2}}}) \cdot{t_2}+{y_{{S^2}}}\\ ({z_{{P^1}}}-{z_{{S^1}}}) \cdot{t_1}+{z_{{S^1}}}= ({z_{{P^2}}}-{z_{{S^2}}}) \cdot{t_2}+{z_{{S^2}}}\end{array}\right.[/math]

Поскольку уравнений три, а неизвестных два, то одно уравнение можно просто отбросить.

[math]\left\{\begin{array}{l}({x_{{P^2}}}-{x_{{S^2}}}) \cdot{t_2}= ({x_{{P^1}}}-{x_{{S^1}}}) \cdot{t_1}+{x_{{S^1}}}-{x_{{S^2}}}\\ ({y_{{P^2}}}-{y_{{S^2}}}) \cdot{t_2}= ({y_{{P^1}}}-{y_{{S^1}}}) \cdot{t_1}+{y_{{S^1}}}-{y_{{S^2}}}\end{array}\right.[/math]

Дальше думаю нет надобности писать все выкладки, хотя их и не много. Но легко получаем параметры [math]{t_1}[/math] и [math]{t_2}[/math]

[math]{t_1}= & \frac{{({x_{{P^2}}}-{x_{{S^2}}}) \cdot ({y_{{S^1}}}-{y_{{S^2}}}) - ({x_{{S^1}}}-{x_{{S^2}}}) \cdot ({y_{{P^2}}}-{y_{{S^2}}})}}{{({x_{{P^1}}}-{x_{{S^1}}}) \cdot ({y_{{P^2}}}-{y_{{S^2}}}) - ({x_{{P^2}}}-{x_{{S^2}}}) \cdot ({y_{{P^1}}}-{y_{{S^1}}})}}(3)[/math]

[math]{t_2}= & \frac{{({x_{{P^1}}}-{x_{{S^1}}}) \cdot ({y_{{S^2}}}-{y_{{S^1}}}) - ({x_{{S^2}}}-{x_{{S^1}}}) \cdot ({y_{{P^1}}}-{y_{{S^1}}})}}{{({x_{{P^2}}}-{x_{{S^2}}}) \cdot ({y_{{P^1}}}-{y_{{S^1}}}) - ({x_{{P^1}}}-{x_{{S^1}}}) \cdot ({y_{{P^2}}}-{y_{{S^2}}})}}(4)[/math]

Теперь можно получить координаты точки пересечения наших прямых - точки P. Либо используя (1) и (3). Либо (2) и (4).

Но напомню, это всё идёт речь про пересекающиеся прямые. И оба варианта (1)-(3) или (2)-(4) дадут один и тот же результат. Ибо точка пересечения одна.

Так вот. Если теперь рассматривать скрещивающиеся прямые. То вариант (1)-(3) нам даст точку, которая является концом перпендикуляра на первой прямой. А вариант (2)-(4) даст точку, которая является вторым концом перпендикуляра на второй прямой. Всё это проверил на практике (3D Max и Matlab).

Ищу этому "правовое" разрешение на использование. Чтобы не искать никакие уравнения перпендикуляров.

Автор:  mad_math [ 28 окт 2013, 23:07 ]
Заголовок сообщения:  Re: Перпендикуляр между скрещивающимися прямыми

Sachem писал(а):
Поскольку уравнений три, а неизвестных два, то одно уравнение можно просто отбросить
Его нельзя просто отбросить, поскольку система трёх уравнений с двумя неизвестными может быть и не совместна.

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

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/