Как найти проекцию вектора на плоскость
Перейти к содержимому

Как найти проекцию вектора на плоскость

  • автор:

проекция вектора на плоскость

Задача заключается в следующем:
Существует плоскость заданная тремя точками в пространстве O,A,B.
Также существует точка X в пространстве с заданными координатами.

Вопрос: как найти проекцию точки X на плоскость? и если это поможет то, также известна нормаль плоскости. И известен кватернион пересчёта положения плоскости

Готовые функции использовать не могу, пишу под контроллеры расчёт ориентации объекта.

Пытался что-то придумать с уравнениями плоскости, но так не чего дельного не придумал, при том, что точно уже есть готовые алгоритмы которые с успехом применяются в графике.

Также появилась идея пересчитать эту точку обратным кватернионом, при этом, спроецировать задача не сложная отняв высоту точки и пересчитать снова тем же кватернионом обратно, но на это уйдет неимоверное количество ресурсов. Поэтому я отмёл идею на стадии обдумывания.

Уважаю ваш форум и заранее говорю СПАСИБО!

#1
21:04, 11 сен 2012

powerbrain
> проекция вектора на плоскость
> Тема, как мне кажется, уже не новая, но всё-же.

Да уж, лет эдак тысячи две с половиной 🙂

normal = normalize(cross(A-O, B-O));
projection = projection — normal * dot(normal, projection);

  • powerbrain
  • Пользователь

#2
11:54, 12 сен 2012

normal = normalize( cross( A-O, B-O)); //нормаль у меня уже есть projection = projection - normal * dot( normal, projection);

Вопрос: Откуда я возьму projection? если изначально у меня его нет.

#3
12:51, 12 сен 2012

vec3 N = cross(OA, OB) — получили нормаль к плоскости.
Знаем, что уравнение плоскости имеет вид A*x + B*y + C*z + D = 0
A, B, C — Это как раз компоненты нормали. Т.е. N = .
Находим D, подставляя в уравнение координаты точки, принадлежащей плоскости, например точки О:
D = -(A*O.x + B*O.y + C*O.z)

Теперь ищем проекцию точки Х, назовем Р. Эта точка лежит в плоскости, т.е. должно выполнятся равенство A*Р.x + B*Р.y + C*Р.z + D = 0, с другой стороны, эта точка лежит на прямой, которая образуется точкой Х и выпущенным из неё вектором нормали N(по определению проекции), т.е. P = X + K*N, где К — некоторый коэффициент. Подставляем это в уравнение прямой:
A*(X.x + K*N.x) + B*(X.y + K*N.y) + C*(X.z + K*N.z) + D = 0
A*X.x + B*X.y + C*X.z + K*(A*N.x + B*N.y + C*N.z) + D = 0

Не забываем, что N = :

dot(N, X) + K*dot(N, N) + D = 0
K = -(dot(N, X) + D)/dot(N, N)

И раз нашли K, то находим точку проекции Р:
P = X + K*N

P.S. cross — векторное произведение векторов, dot — скалярное произведение.
P.P.S. Если вектор нормали к плоскости вдруг уже есть и нормализован, то dot(N, N) = 1 и тогда получается K = -dot(N, X) — D

  • powerbrain
  • Пользователь

#4
15:44, 13 сен 2012

alorken спасибо! Всё что хотел заработало!

Как найти проекцию вектора на плоскость

В. Г. Автор. Векторная и тензорная алгебра для будущих физиков и техников

.Геометрическое определение вектора

.Алгебраические операции над направленными отрезками

..Сложение направленных отрезков

..Умножение направленных отрезков на число

..Параллельное проектирование вектора в пространстве

..Параллельное проектирование вектора в пространстве

. Проекция точки на плоскость

. Проекция вектора на плоскость

..Ортогональная проекция вектора в пространстве

. Ортогональная проекция вектора на плоскость

. Ортогональная проекция вектора на прямую и направленную ось

..Векторы в трехмерном геометрическом пространстве

..Линейная зависимость векторов и размерность пространства

..Различные формы записи векторов

..Линейные операции над векторами в координатной форме

. Свойства скалярного умножения

. Скалярное умножение в декартовых координатах

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

..Площадь параллелограмма, построенного на векторах

..Задачи на применение определителей

..Определитель третьего порядка и его свойства

..Векторное умножение векторов базиса декартовой системы координат

.Ковариантные и контравариантные координаты вектора

..Индексная форма записи для выражений с определителями

..Свойства символов Веблена

..Операция векторного умножения в произвольных косоугольных координатах

.Линейный оператор и его матрица

.Доказательство теоремы об определителе

.Общие определения алгебраических операций с тензорами

.Примеры на применение тензоров в физике

..Задачи на тождественные преобразования

..Параллельное проектирование вектора в пространстве

Проекция точки на плоскость

Проецирование точки на плоскость производится способом аналогичным проецированию точки на прямую в плоскости. Проекцией точки A на плоскость α в направлении вектора называется точка пересечения плоскости и прямой, проведенной через эту точку в направлении проецирования (рис. 7, а).

а) 7_1б) 7_2Рис. 7

Проекция вектора на плоскость

Проекцией вектора на плоскость α называется вектор (рис. 7, б), где точки и являются проекциями точек и соответственно.

Проекция вектора на прямую

Спроектировать вектор на прямую в пространстве аналогично тому, как это можно сделать на плоскости, нельзя.

8

Рис. 8

Для начала спроектируем вектор по направлению на некоторую плоскость, проходящую через прямую L . На рис. 8 эта плоскость обозначена α . Затем, полученную таким образом проекцию , спроектируем по направлению (вектор лежит в плоскости α ) на прямую L . В результате получим вектор , который и принимают за проекцию вектора на прямую. Из построения очевидно, что проекция вектора не зависит от положения проецируемого вектора в пространстве. Проще говоря: равные векторы имеют и равные проекции. Если бы это было не так, мы не имели права говорить о проекции вектора вообще.

Вектор (проекция вектора на ось L ) можно получить и более простым способом. В самом деле, точка является точкой пересечения плоскости, проходящей через точки , и и прямой L . Плоскость же, проходящая через эти точки параллельна векторам и . Назовем плоскость параллельную направлениям проецирования и проецирующей плоскостью.

Следовательно, можно дать следующее определение проекции вектора на прямую в пространстве.

Проекцией вектора на прямую L по направлению проецирующей плоскости α называется вектор, . Точки и при этом являются точками пересечения прямой L и плоскостей, проведенных через точки и параллельно проецирующей плоскости.

Для обозначения проекции вектора на прямую будем использовать следующее обозначение: или .

Проекция вектора на прямую – величина векторная. Совершенно аналогично тому, что мы имели на плоскости, и для пространственного случая мы можем ввести понятие алгебраического значения проекции вектора на направленную ось. Для обозначения алгебраического значения проекции мы будем (так же как и в «плоском» случае) использовать то же самое обозначение, только без «векторной» черты сверху: или . И, что очень приятно, теорема (1), которую мы доказали для «плоского» случая, справедлива и для обеих проекций в пространстве:

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

..Ортогональная проекция вектора в пространстве

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

Ортогональная проекция вектора на плоскость

Ортогональную проекцию мы получим, если вектор, задающий направление проектирования, ортогонален плоскости, на которую производится проектирование. Поскольку при ортогональном проектировании направление проектирования задается однозначно самой плоскостью, то в условном обозначении его можно опустить: .

9

Рис. 9

Для получения ортогональной проекции вектора на плоскость достаточно из начала и конца вектора опустить на эту плоскость перпендикуляры. Основания этих перпендикуляров и определяют проекцию вектора на плоскость (рис. 9): .

Ортогональная проекция вектора на прямую и направленную ось

Для построения ортогональной проекции вектора на прямую или ось необходимо использовать проектирующую плоскость α ортогональную прямой, либо просто опустить на прямую перпендикуляры (, ) из начала и конца вектора (рис 10).

10

Рис. 10

В условных обозначениях это запишется так:

; и для алгебраической величины ортогональной проекции вектора на направленную ось – , где s – знак плюс или минус.

Теперь придется сказать несколько слов об употреблении термина «проекция». Мы уже ввели несколько понятий, каждое из которых претендует на это название: проекция вектора на плоскость, «векторная» проекция вектора на прямую, алгебраическое значение проекции вектора на направленную ось, ортогональная проекция вектора на плоскость, «векторная» ортогональная проекция вектора на прямую и алгебраическое значение ортогональной проекции вектора на направленную ось. Наиболее длинным и неудобным по названию и одновременно наиболее часто используемым является последнее понятие. В силу этого название «проекция» в векторной алгебре закрепилось именно за алгебраическим значением ортогональной проекции вектора на направленную ось. В дальнейшем мы также не будем отступать от этой традиции, тем более что из контекста обычно всегда ясно, о чем идет речь.

Итак, проекцией вектора на направленную ось будем называть алгебраическое значение его ортогональной проекции на эту ось.

Мы не будем считать это определением проекции вектора на направленную ось, а лишь удобным соглашением о названии.

Свойства ортогональной проекции вектора на направленную ось.

1. Проекция суммы векторов равна сумме их проекций.

Для двух векторов:

и для любого их количества

2. Проекция произведения вектора на действительное число λ равна произведению числа λ на проекцию вектора .

Если первые два свойства справедливы для всех типов проекций, и мы их сформулировали более для порядка, то следующее свойство является «визитной карточкой» ортогональной проекции.

3. Проекция вектора на направленную ось равна произведению его модуля на , где угол – угол между вектором и направленной осью (рис. 11). Дадим этому свойству доказательство.

11

Рис. 11

Спроектируем точки и (конечно, ортогонально) на прямую . Вектор есть проекция вектора : . Перенесем вектор параллельно самому себе так, чтобы точка совпала с точкой . Минимальный угол между векторами и принимается за угол принимается за угол φ между вектором и осью. Поскольку равные векторы имеют и равные проекции, то проекции векторов и одинаковы и равны . Алгебраическая величина проекции вектора , или просто проекция, в соответствии с соглашением о названиях, равна , где s означает знак «плюс» или «минус». А модуль вектора , в свою очередь, равен произведению модуля вектора на :

Проекции векторов на прямую и на плоскость

Пусть на плоскости задана прямая Проекцией вектора , началом которого служит проекция , начала конца . Проекцией вектора (вдоль плоскости ) называется вектор , началом которого служит проекция , начала конца перпендикулярна прямой

Проекция вектора на плоскость

Пусть в пространстве задана плоскость я и пересекающая ее прямая . Проекцией вектора параллельно прямой , началом которого служит проекция начала конца , то проекция называется ортогональной.

Свойства проекций векторов

1. Проекции вектора на параллельные прямые (или на параллельные плоскости) равны.

2. Проекции равных векторов равны.

3. Проекция суммы векторов равна сумме их проекций.

4. Проекция произведения вектора на число равна произведению этого числа на проекцию вектора, другими словами, отношение коллинеарных векторов равно отношению их проекций (если оно определено).

5. Проекция линейной комбинации векторов равна линейной комбинации проекций.

Рассмотрим эти свойства для проекций векторов на прямую — проекция вектора — проекция вектора , т.е. проекции одного и того же вектора

Докажем второе свойство. Пусть на плоскости даны равные векторы и . Из равенства следует, что четырехугольник — параллелограмм, а треугольники и равны по стороне и двум прилежащим углам

Пятое свойство проекций следует из третьего и четвертого.

Теорема 1.1 (о проекциях вектора на пересекающиеся прямые).

1. Если на плоскости заданы две пересекающиеся прямые и , то любой вектор и на эти прямые (проекции на каждую прямую берутся вдоль другой прямой), т.е. .

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

В самом деле, пусть прямые и пересекаются в точке . По правилу параллелограмма сложения векторов (см. разд. 1.2) получаем равенство , которое равносильно доказываемому равенству , так как равные векторы имеют равные проекции (см. свойство 2 проекций). Единственность представления следует из однозначности нахождения проекций вектора.

Если же вектор , то соответствующие проекции имеют вид: и равенство , очевидно, выполняется.

Аналогично доказывается второе утверждение.

Справедливы утверждения, обратные к указанным в теореме 1.1.

Если вектор на плоскости равен сумме двух неколлинеарных векторов, т.е. , то слагаемые и являются проекциями вектора и соответственно.

Если вектор в пространстве равен сумме трех некомпланарных векторов, т.е. , то слагаемые и являются проекциями вектора соответственно.

В самом деле, отложим от произвольной точки (рис.1.19,6). Тогда из равенства следует, что , т.е. вектор — является диагональю параллелепипеда, построенного на векторах (отсюда следует правило параллелепипеда сложения трех некомпланарных векторов). Поэтому — проекции вектора на прямые (проекция на каждую прямую берется вдоль плоскости, проходящей через две другие прямые). Так как равные векторы имеют равные проекции (свойство 2), заключаем, что проекции вектора равны соответственно. Наконец, проекции на прямые равны проекциям на параллельные им прямые, содержащие векторы соответственно.

Пример 1.5. Если прямая пересекает стороны треугольника (или их продолжения) в точках соответственно, то

Решение. Найдем отношения проекций векторов на прямую вдоль прямой (рис. 1.20). Для этого через точку , параллельную прямой . По свойству 4 проекций имеем:

Перемножая эти пропорции, получаем , что равносильно доказываемому равенству.

Заметим, что доказанное утверждение является частью теоремы Менелая.

Пример 1.6. Если на сторонах треугольника взяты соответственно точки так, что прямые пересекаются в одной точке, то

Решение. Пусть прямые пересекаются в точке (рис.1.21). Через точку проведем прямые и параллельно и соответственно. По свойству проекций (свойство 4):

Учитывая эти равенства и свойства отношений коллинеарных векторов (см, разд.1.2.1), преобразуем левую и правую части последнего равенства:

Запишем произведение правых частей этих равенств, учитывая, что произведение левых частей равно единице:

Найдем обратное отношение , что и требовалось доказать.

Заметим, что доказанное утверждение является частью теоремы Чевы.

1.7.1. Как найти проекцию вектора на вектор?

Рассмотрим ненулевые векторы и :

Спроецируем вектор на вектор , для этого из начала и конца вектора опустим перпендикуляры на вектор (зелёные пунктирные линии).

Представьте, что на вектор перпендикулярно сверху падают лучи света. Тогда отрезок будет «тенью» вектора . Проекцией вектора на вектор является ДЛИНА отрезка . То есть, ПРОЕКЦИЯ – ЭТО ЧИСЛО.

Это ЧИСЛО обозначается следующим образом: , «большим вектором» обозначают вектор КОТОРЫЙ проецируют, «маленьким подстрочным вектором» обозначают вектор НА который проецируют.

Сама запись читается так: «проекция вектора «а» на вектор «бэ»».

Если угол между векторами острый (как на рисунке выше), то

Если векторы ортогональны, то (проекцией является точка, размеры которой считаются нулевыми).

Если угол между векторами тупой (на рисунке мысленно переставьте стрелочку вектора ), то (та же длина с добавленным знаком «минус»).

Отвечу на назревший вопрос: что произойдёт, если вектор «бэ» будет «слишком коротким»? Проводим прямую линию, содержащую вектор «бэ». И вектор «а» будет проецироваться уже на направление вектора «бэ», попросту – на прямую, содержащую вектор «бэ». То же самое произойдёт, если вектор «а» отложить в тридесятом царстве – он всё равно легко спроецируется на прямую, содержащую вектор «бэ».

Из вышесказанного следует, что проекция вектора на любой ненулевой сонаправленный вектор будет точно такой же:
фактически это проекция вектора на прямую , которая содержит сонаправленные векторы (и поскольку векторы свободны, то таких прямых будет бесконечно много, все они будут параллельны друг другу);
а если векторы направлены противоположно , то добавится знак «минус»:

Отложим наши подопытные векторы от одной точки:

и рассмотрим прямоугольный треугольник. Косинус угла – есть отношение прилежащего катета к гипотенузе:
, но с другой стороны, у нас уже получена формула косинуса угла между векторами:

…все ли догадались, что будет дальше?

и сокращаем знаменатели обеих частей на , получая формулу для вычисления проекции:

Распишем её в координатах:

Если векторы плоскости и заданы в ортонормированном базисе , то проекция вектора на вектор выражается формулой:

Если векторы пространства заданы в ортонормированном базисе , то проекция вектора на вектор выражается формулой:

Легко убедиться, что проекция вектора на коллинеарный вектор может отличаться лишь знАком, приведу выкладки для «плоского» случая :

Задача 34

Найти проекцию вектора на вектор

Решение в одну строчку:
, на завершающем шаге я умножил числитель и знаменатель на , избавившись тем самым от иррациональности в знаменателе.

Ответ:

Проекция – это ДЛИНА, поэтому обязательно указываем размерность, правда, если получится знак «минус», то смотреться это будет своеобразно.

Задача 35

Треугольник задан своими вершинами . Найти:
а) проекцию стороны на сторону ;
б) проекцию стороны на сторону .

Это задача для самостоятельного решения.

Итак, как найти проекцию вектора на отрезок с известными концами ? (как вариант, на продолжение этого отрезка). Находим вектор и используем формулу . Либо вектор и формулу . В одном из случаев получится отрицательное значение, и если оно вас напрягает, выберите другой вариант 🙂

О проекции же вектора на прямую поговорим в следующей главе, а пока выясним геометрический смысл координат векторов в ортонормированном базисе:

Автор: Aлeксaндр Eмeлин

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *