Нахождение вектора, перпендикулярного данному вектору, примеры и решения
Данная статья раскрывает смысл перпендикулярности двух векторов на плоскости в трехмерном пространстве и нахождение координат вектора, перпендикулярному одному или целой паре векторов. Тема применима для задач, связанных с уравнениями прямых и плоскостей.
Мы рассмотрим необходимое и достаточное условие перпендикулярности двух векторов, решим по методу нахождения вектора, перпендикулярному заданному, затронем ситуации по отысканию вектора, который перпендикулярен двум векторам.
Необходимое и достаточное условие перпендикулярности двух векторов
Применим правило о перпендикулярных векторах на плоскости и в трехмерном пространстве.
Если ставится вопрос о трехмерном пространстве, задача решается по такому же принципу. При заданном векторе a → = ( a x , a y , a z ) существует бесконечное множество перпендикулярных векторов. Зафиксирует это на координатной трехмерной плоскости. Дана a → , лежащая на прямой a . Перпендикулярную прямой a плоскость обозначаем α . В этом случае любой ненулевой вектор b → из плоскости α перпендикулярен a → .
Необходимо найти координаты b → , перпендикулярного ненулевому вектору a → = ( a x , a y , a z ) .
Пусть задан b → с координатами b x , b y и b z . Чтобы найти их, необходимо применить определение условия перпендикулярности двух векторов. Равенство a x · b x + a y · b y + a z · b z = 0 должно выполняться. Из условия a → — ненулевой, значит, одна из координат имеет значение не равное нулю. Предположим, что a x ≠ 0 , ( a y ≠ 0 или a z ≠ 0 ). Следовательно, имеем право разделить на эту координату все неравенство a x · b x + a y · b y + a z · b z = 0 , получим выражение b x + a y · b y + a z · b z a x = 0 ⇔ b x = — a y · b y + a z · b z a x . Присваиваем координатам b y и b x любое значение, вычисляем значение b x , исходя из формулы, b x = — a y · b y + a z · b z a x . Искомый перпендикулярный вектор будет иметь значение a → = ( a x , a y , a z ) .
Рассмотрим доказательство на примере.
Дан вектор с координатами a → = ( 1 , 2 , 3 ) . Найти вектор, перпендикулярный данному.
Обозначим искомый вектор за b → = ( b x , b y , b z ) . Исходя из условия о перпендикулярности векторов, скалярное произведение должно быть равным нулю.
a ⇀ , b ⇀ = 0 ⇔ a x · b x + a y · b y + a z · b z = 0 ⇔ 1 · b x + 2 · b y + 3 · b z = 0 ⇔ b x = — ( 2 · b y + 3 · b z )
Если значение b y = 1 , b z = 1 , тогда b x = — 2 · b y — 3 · b z = — ( 2 · 1 + 3 · 1 ) = — 5 . Отсюда следует, что координаты вектора b → ( — 5 , 1 , 1 ) . Вектор b → является одним из перпендикулярных векторов заданному.
Ответ: b → = ( — 5 , 1 , 1 ) .
Нахождение координат вектора, перпендикулярного двум заданным векторам
Нужно найти координаты вектора в трехмерном пространстве. Он перпендикулярен не коллинеаренным векторам a → ( a x , a y , a z ) и b → = ( b x , b y , b z ) . При условии коллинеарности векторов a → и b → в задаче достаточно будет найти вектор, перпендикулярный a → или b → .
При решении применяется понятие векторного произведения векторов.
Векторным произведением векторов a → и b → называют вектор, одновременно перпендикулярный и a → и b → . Для решения данной задачи применяется векторное произведение a → × b → . Для трехмерного пространства имеет вид a → × b → = a → j → k → a x a y a z b x b y b z
Разберем подробнее векторное произведение на примере задачи.
Заданы векторы b → = ( 0 , 2 , 3 ) и a → = ( 2 , 1 , 0 ) . Найти координаты любого перпендикулярного вектора данным одновременно.
Для решения необходимо найти векторное произведение векторов. (Необходимо обратиться к пункту вычисления определителя матрицы для нахождения вектора). Получим :
a → × b → = i → j → k → 2 1 0 0 2 3 = i → · 1 · 3 + j → · 0 · 0 + k → · 2 · 2 — k → · 1 · 0 — j → · 2 · 3 — i → · 0 · 2 = 3 · i → + ( — 6 ) · j → + 4 · k →
Ответ: ( 3 , — 6 , 4 ) — координаты вектора, одновременно перпендикулярного заданным a → и b → .
Перпендикуляр к вектору.
Собственно, проблема только в том, чтобы рассчитать сабж к трехмерному вектору, с двухмерным все просто:
perp[ x, y ] = vector[ -y, x ];
Это следует из формулы поворота вектора, подставляя sin(90) и cos(90). В данном случае вращаем относительно оси Z.
А как быть с трехмерным вектором? По идее нужно вращать относительно некой оси, определяющей четвертое измерение.
Но какая будет для этого формула.
#1
11:09, 31 янв 2005
Поищи в DXSDK CrossProduct
Или в учебнике по алгебре\геометрии ВЕКТОРНОЕ ПРОИЗВЕДЕНИЕ :))))
#2
11:14, 31 янв 2005
San
у двумерного вектора, кстати, два перпендикуляра. а у терхмерного — бесконечно много. надо еще какое-нибудь условие, кроме перпендикулярности.
#3
11:23, 31 янв 2005
White Wolf
Ну ты меня совсем за ламера держишь :). Знаю я про cross product.
perp = vector ^ somevector;
А какой в таком случае выбирать somevector? Какой попало? В принципе можно, но не совсем правильно.
Да и посчитать cross product — время надо.
#4
11:30, 31 янв 2005
San
ты уверен что все так просто для 2д? какой перпендикуляр будет для ? 🙂
#5
11:32, 31 янв 2005
vector = dx, dy, dz
somevector = -dx, -dy, -dz
normal = somevector cross vector
#6
11:35, 31 янв 2005
San
Какой вопрос такой ответ! И нечего тут обижатся.
Как сказал Mega у 3Д вектора до фига перпендикуляров и нужно дополнительное условие.
И баста.
#7
11:42, 31 янв 2005
вотъ формула поворота на любой градус вокруг центра координат:
float sinV, cosV; math::sinCosf( sinV, cosV, rot ); m_V0.x = -( y )*sinV + ( x )*cosV; m_V0.y = ( y )*cosV + ( x )*sinV;
- Vladimir Stroyev
- Новичок
#8
11:50, 31 янв 2005
Народ, чего вы мучаетесь 🙂
const Vec3 GetPerpendicular(const Vec3&v)
<
Vec3 out(0, 0, 0);
out[ v.GetIndexOfMin() ] = 1;
return GetNormalized(Cross(out, v));
>
#9
11:58, 31 янв 2005
San
я там наврал в 5 посте. Вектора не должны быть коллинеарны. См. код Vladimir Stroyevа
#10
12:02, 31 янв 2005
San
Вопрос-то поставлен некорректно. В 3-мерном пространстве вектор, перпендикулярный данному, не единственен.
Множество таких векторов составляет плоскость, перпендикулярную данному вектору.
#11
12:56, 31 янв 2005
avost
x=-0, y=1;
>>vector = dx, dy, dz
>>somevector = -dx, -dy, -dz
>>normal = somevector cross vector
вот это уже ближе к телу 🙂
#12
12:57, 31 янв 2005
White Wolf
Эй, там же смайлик стоял. 🙂
#13
12:58, 31 янв 2005
shiftdel
Любой вектор, перпендикулярный данному.
#14
12:59, 31 янв 2005
Всем спасибо за ответы!
Перпендикулярность векторов
Мы можем выяснить, будут ли два каких-либо вектора взаимно перпендикулярными. Для этого нужно воспользоваться координатами векторов и некоторыми приемами, описанными в данной статье. Информация о перпендикулярности будет полезной для решения некоторых задач физики и математики.
Координаты вектора на плоскости, равного по модулю и перпендикулярного данному
Пусть на плоскости заданы координаты какого-либо вектора. Из этих координат получим координаты двух дополнительных векторов, перпендикулярных первоначальному вектору. Все три вектора будут иметь равные длины и располагаться в плоскости xOy.
Алгоритм получения координат перпендикулярных векторов
Вектор на плоскости xOy, перпендикулярный данному вектору получают так:
- Поменять местами координатные числа «x» и «y».
- Заменить знак у одной из координат на противоположный.
Графический пример
Рассмотрим небольшой графический пример (рис. 1).
Рис. 1. На рисунке векторы, обозначенные черным цветом, перпендикулярны вектору, обозначенному красным цветом
На плоскости проведены три вектора: один красный и два черных и, отмечены их координаты. Рассмотрим подробнее координаты двух векторов: \(\vec\) и \(\vec\).
Вектор \( -\vec = \left\ < 3 ; -4 \right\>\), также будет перпендикулярным вектору \( \vec \): \( \vec \perp \vec \)
Векторы, изображенные черным цветом, перпендикулярны красному вектору.
Условие перпендикулярности векторов
Взаимную перпендикулярность двух векторов можно проверить, вычислив их скалярное произведение. Этот способ проверки можно применять для векторов, расположенных как на плоскости, так и в трехмерном пространстве.
Векторы будут перпендикулярными, когда их скалярное произведение равно нулю.
Пусть, известны координаты двух векторов и пусть каждый вектор имеет ненулевую длину.
Запишем условие перпендикулярности векторов.
Для двумерного случая:
\[ \large \boxed < a_\cdot b_ + a_ \cdot b_ = 0 >\]
Для трехмерного случая:
\[ \large \boxed < a_\cdot b_ + a_ \cdot b_ + a_ \cdot b_ = 0 >\]
Пользуясь любой из этих формул, можно определить одну неизвестную координату вектора.
При этом, должны быть известными остальные координаты этого вектора и все координаты второго вектора.
Примечание:
Есть такое правило: Количество неизвестных должно равняться количеству уравнений.
Чтобы однозначно определить значение неизвестной, в уравнение должна входить только одна неизвестная. Остальные величины должны быть известными.
Перпендикулярные векторы в физике
В физике перпендикулярность некоторых векторов достаточно важна.
Вот несколько примеров:
- Если угол между вектором скорости тела и вектором силы, действующей на тело, будет прямым, то такая сила работу по перемещению тела совершать не будет.
- На проводник с током магнитное поле действует максимальной силой, когда вектор магнитной индукции и вектор тока в проводнике перпендикулярны.
- Когда угол между вращающей силой и, расстоянием между точкой приложения силы и осью вращения, будет прямым, вращательный момент будет максимальным.
- Между линейной скоростью точки колеса и расстоянием от этой точки до оси вращения, угол прямой (радиус и касательная перпендикулярны).
- На вращающееся тело действует центростремительная сила. Угол прямой между этой силой и линейной скоростью точки тела (радиус и касательная перпендикулярны).
Как найти вектор перпендикулярный вектору
Рассмотрим формулы и примеры, с помощью которых станет проще понять как найти вектор перпендикулярный вектору.
Для перпендикулярности двух векторов необходимо выполнение одного условия: скалярное произведение данных векторов должно быть равным нулю.
Сразу же рассмотрим два случая:
1-й случай. Векторы заданы на плоскости. В таком случае они будут заданы двумя координатами х и у и условие перпендикулярности этих векторов будет:
2-й случай. Векторы заданы в пространстве. В таком случае они будут заданы тремя координатами х, у и z и условие перпендикулярности этих векторов:
Рассмотрим на примере как найти вектор перпендикулярный другому вектору.
Пример 1.
Заданы два вектора и . Найдем значение d, при котором данные векторы будут перпендикулярными.
Решение.
Для перпендикулярности векторов, заданных на плоскости, необходимо, чтобы выполнялось условие равности их скалярного произведения нулю, то есть для нашего случая условие первое:
Подставим в него известные координаты векторов и вычислим неизвестное d:
Ответ. Векторы и будут перпендикулярными при .
На самом деле ничего сложно нет, нужно только определить на плоскости или в пространстве заданы векторы, взять нужную формулу, подставить в нее координаты и посчитать результат.