Как продолжение вопроса: пересечение вектора и плоскости.

Схематический рисунок

Интересует формула нахождения факта пересечения луча и отрезка, саму точку опционально. Даны две точки отрезка $%A(x0;y0)$%, $%B(x1;y1)$%, начальная точка луча $%M(x2;y2)$% и угол $%α$% образующийся между направлением луча и положительным направлением оси $%Ox$%.

Что мне удалось найти:

  • Уравнение луча - $%x = x_2-(y + y_2)/tgα, y = y_2 + tgα(x − x_2)$%.
  • Уравнение прямой - $%x = x_0 + t_1(x_1 - x_0), y = y_0 + t_1(y_1-y_0)$%.

задан 14 Ноя '12 23:17

изменен 15 Ноя '12 11:16

%D0%A5%D1%8D%D1%88%D0%9A%D0%BE%D0%B4's gravatar image


5525

Что это за уравнение луча? Непонятно! В нем x выражается через y и y через x. Это одно и то же соотношение или два? И почему y + y2, а не минус?

Уравнение прямой AB правильное. Отрезок получается, если $%0\le t \le 1$%

(15 Ноя '12 0:12) DocentI
10|600 символов нужно символов осталось
2

Если Вам нужен именно луч, лучше не использовать $%tg$%, так как он одинаковый и для луча, и для его продолжения в противоположную сторону. А чем Вам не нравится мой ответ на предыдущий вопрос?

Луч, исходящий из M, задается параметрическими уравнениями
$$\begin{cases} x = x_2 + t\cdot \cos \alpha\\ y = y_2 + t\cdot \sin \alpha\end{cases}$$ где $%t \ge 0$%
Отрезок $%AB$% в виде $$\begin{cases} x = x_0 + \lambda (x_1 -x_0)\\ y = y_0 + \lambda (y_1 -y_0)\end{cases}$$ Здесь произвольное $%\lambda$% дает точку прямой, а отрезку соответствуют значения от 0 (точка A) до 1 (точка B).
Приравнивая иксы и игреки, получим систему уравнений для $%(t; \lambda)$%. Ограничение $%0 \le \lambda \le 1$% задает условие пересечения с отрезком AB.
$$\begin{cases} t\cos \alpha = {x_0-x_2 + \lambda(x_1-x_0)}\\ t\sin \alpha = {y_0-y_2 + \lambda(y_1-y_0)}\end{cases}.$$
Исключаем t, находим $%\lambda$% и задаем ограничение на него. Получаем условие на $%\alpha$%. Да, еще надо учесть, что $%t > 0$%.

Можно и по-другому. Находим угол $%\alpha$%, соответствующий направлению MA и другой, соответствующий MB. Искомый угол будет лежать между этими. Правда, непонятно, что значит "между"?
Например, если углы есть $%170$% и $%-30$% градусов, то какие значения находятся "между"? Из промежутка $%(-30, 170)$% или $%(170, 330)$%, ведь угол 330 градусов соответствует тому же направлению! Надо выбирать тот промежуток, который меньше 180 градусов.

Только для отыскания $%\alpha$% не ограничивайтесь тангенсом! Учтите и знаки sin, cos.

Второе решение требует использования обратных тригонометрических функций и описания разных подслучаев. Для первого нужны только $%\sin\alpha$% и $%\cos\alpha$%, их находить проще.

ссылка

отвечен 14 Ноя '12 23:47

изменен 15 Ноя '12 0:00

Первый вариант даже лучше, найти диапазон углов для пересечения, но мне не понятна фраза: "Исключаем t", можете более детально объяснить этот момент.

(15 Ноя '12 0:51) mathJunior

Например, выразить t из первого уравнения и подставить во второе. Но это только если $%\cos\alpha \ne 0$%. Можно также умножить первое уравнение на синус, второе - на косинус и вычесть одно из другого.

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

Если Вам нужно проверить пересечение для конкретного $%\alpha$% - лучше первый метод. Если найти все допустимые углы - второй.

(15 Ноя '12 14:43) DocentI
10|600 символов нужно символов осталось
Ваш ответ

Если вы не нашли ответ, задайте вопрос.

Здравствуйте

Математика - это совместно редактируемый форум вопросов и ответов для начинающих и опытных математиков, с особенным акцентом на компьютерные науки.

Присоединяйтесь!

отмечен:

×19

задан
14 Ноя '12 23:17

показан
5492 раза

обновлен
15 Ноя '12 14:43

Отслеживать вопрос

по почте:

Зарегистрировавшись, вы сможете подписаться на любые обновления

по RSS:

Ответы

Ответы и Комментарии

Дизайн сайта/логотип © «Сеть Знаний». Контент распространяется под лицензией cc by-sa 3.0 с обязательным указанием авторства.
Рейтинг@Mail.ru