Метод координат (углы между векторами и плоскостями)
Нахождение координат и длин вектора.
Вычисление угла между векторами.
Составление уравнение плоскости по трем точкам.
Решение задач с доказательством.
Для того, чтобы успешно решать задачи методом координат, полезно помнить:
Чтобы задать вектор, проходящий черерз 2 точки, нужно из координат второй точки вычесть координаты первой точки.
Чтобы найти длину вектора, нужно извлечь корень квадратный из суммы квадратов его координат.
Задача. Найти координаты и длины векторов AB, BC, AC, если точки имееют координаты А = (5; 8; 3), B = (1; 0; −3), C = (−2; 5; −1).
AB = (1−5; 0-8; −3−3) = (−4; −8; −6)
AC = (−2−5; 5−8; −1−3) = (−7; −3; −4)
BC = (1−(−2); 0−5; −1−3) = (3; −5; −4)
Для нахождения угла между двумя векторами a = (x1; y1; z1) и b = (x2; y2; z2):
Задача. Найдите площадь треугольника, ограниченную точками A = (−4; 4; 4), B = (3; 1; 0), C = (−1; 0; 6).
- Находим координаты векторов.
- Вычисляем косинус угла между векторами.
- Через основное тригометрическое тождество получаем синус.
- Подставляем в формулу площади.
AB = (3−(−4); 1−4; 0−4) = (7; −3; −4)
AC = (−1−(−4); 0−4; 6−4) = (3; −4; 2)
Задача. Задайте уравнение плоскости, проходящей через точки A = (−4; 4; 4), B = (3; 1; 0), C = (−1; 0; 6).
- Находим координаты векторов.
- Задаем матрицу плоскости.
- Вычисляем ее определитель, это и есть уравнение плоскости.
AB = (3−(−4); 1−4; 0−4) = (7; −3; −4)
AC = (−1−(−4); 0−4; 6−4) = (3; −4; 2)
Первая строчка заполняется переменными x, y, z, и из них вычитаются координаты любой точки плоскости. В данном случае вычитается точка С = (−1; 0; 6). Тогда получится такая строка: (x−(−1); y−0; z−6).
Вторая строчка – координаты первого вектора.
Третья строчка – координаты второго вектора (нет разницы какой из векторов задавать во второй строчке, а какой в третьей).
Четвертая заполняется аналогично первой.
Пятая – аналогично второй.
Теперь перемножаем все значения на одном синем отрезке и складываем с другими значениями на других отрезках:
(х+1)*(−3)*2 + 7*(−4)*(z−6) + 3*y*(−4)
Аналогично делаем с зелеными отрезками:
(z−6)*(−3)*3 + (−4)*(−4)*(x+1) + 2*y*7
Осталось из значений синих отрезков вычесть значения зеленых отрезков:
(х+1)*(−3)*2 + 7*(−4)*(z−6) + 3*y*(−4) − ((z−6)*(−3)*3 + (−4)*(−4)*(x+1) + 2*y*7) =
= −22х −26y −19z + 92
−22х −26y −19z + 92 – искомое уравнение плоскости, проходящей через точки A = (−4; 4; 4), B = (3; 1; 0), C = (−1; 0; 6).
P.s. Если вам кажется, что это сложно, то огорчу вас. Одна из первых тем (самых простых), которые вы будите проходить на первом курсе любого университета – это матрицы, так что можно немного облегчить себе жизнь и разобраться заранее.
Задача. Найдите угол между плоскостью, проходящей через точки A = (−4; 4; 4), B = (3; 1; 0), C = (−1; 0; 6), и плоскостью, заданную уравнением
14x + 6y −27z + 51 = 0.
- Задаем уравнение плоскости, проходящей через 3 точки ( нашли в предыдущей задаче).
- Находим косинус угла между плоскостями ( формула аналогична косинусу угла между прямыми).
Будь в курсе новых статеек, видео и легкого математического юмора.
Угол между векторами
Определение
Угол между векторами — это угол между отрезками, которые изображают эти две направляющие и которые отложены от одной точки пространства. Другими словами — это кратчайший путь, на который можно повернуть один из векторов вокруг его начала до положения общей направленности со вторым.
На изображении это α, который также можно обозначить следующим образом:
(left(widehat{overrightarrow a;overrightarrow b}right))
Осторожно! Если преподаватель обнаружит плагиат в работе, не избежать крупных проблем (вплоть до отчисления). Если нет возможности написать самому, закажите тут.
Как и любой другой угол, векторный может быть представлен в нескольких вариациях.
Острый:
Тупой:
Прямой:
С величиной (0^circ) (то есть, векторы сонаправлены):
С величиной (180^circ) (векторы направлены в противоположные стороны):
Нахождение угла между векторами
Как правило, угол между ( overrightarrow a) и (overrightarrow b) можно найти с помощью скалярного произведения или теоремы косинусов для треугольника, который был построен на основе двух этих направляющих.
Определение
Скалярное произведение — это число, которое равно произведению двух направляющих на косинус угла между ними.
Формула скалярного произведения:
(left(overrightarrow a;overrightarrow bright)=left|overrightarrow aright|timesleft|overrightarrow bright|timescosleft(widehat{overrightarrow a;overrightarrow b}right))
- Если α — острый, то СП (скалярное произведение) будет положительным числом (cos острого угла — положительное число).
- Если векторы имеют общую направленность, то есть угол между ними равен (0^circ), а косинус — 1, то СП будет тоже положительным.
- Если α — тупой, то скалярное произведение будет отрицательным (cos тупого угла — отрицательное число).
- Если α равен (180^circ), то есть векторы противоположно направлены, то СП тоже отрицательно, потому что cos данного угла равен 1.
- Если α — прямой, то СП равно 0, так как косинус (90^circ) равен 0.
В случае, если overrightarrow a и overrightarrow b не нулевые, можно найти косинус α между ними, опираясь на формулу:
(cosleft(widehat{overrightarrow a;overrightarrow b}right)=frac{left(overrightarrow a;overrightarrow bright)}{left|overrightarrow aright|timesleft|overrightarrow bright|})
Расчет угла, если вектор задан координатами
В случае, когда направляющие расположены на двухмерной плоскости с заданными координатами в виде (overrightarrow a=left(a_x;a_yright)) и (overrightarrow b=left(b_x;b_yright)), то угол между ними можно найти следующим образом:
(cosleft(widehat{overrightarrow a;overrightarrow b}right)=frac{left(overrightarrow a;overrightarrow bright)}{left|overrightarrow aright|timesleft|overrightarrow bright|}=frac{a_xcdot b_x+a_ycdot b_y}{sqrt{a_x^2+a_y^2}cdotsqrt{b_x^2+b_y^2}})
Если же координаты находятся в трехмерном пространстве и заданы в виде:
(overrightarrow a=left(a_x;a_y;a_zright))
( overrightarrow b=left(b_x;b_y;b_zright))
то формула принимает такой вид:
(cosleft(widehat{overrightarrow a;overrightarrow b}right)=frac{left(overrightarrow a;overrightarrow bright)}{left|overrightarrow aright|timesleft|overrightarrow bright|}=frac{a_xcdot b_x+a_ycdot b_y+a_zcdot b_z}{sqrt{a_x^2+a_y^2+a_z^2}cdotsqrt{b_x^2+b_y^2+b_z^2}})
Расчет угла, если заданы три точки в прямоугольной системе координат
В этом случае проще будет разобраться с объяснениями сразу на примере.
Допустим, нам известны три точки и их координаты: A(3,-2), B(2,1), C (6,-1). Нужно найти косинус угла между (overrightarrow{AC}) и (overrightarrow{BC}).
Решение
Для начала найдем их координаты по известным координатам заданных точек:
(overrightarrow{AC}=(6-3, -1-(-2))=(3,1))
(overrightarrow{BC}=(6-2, -1-1)=(4,-2))
После этого уже можем применить формулу для определения косинуса угла на плоскости и подставить известные значения:
(cosleft(widehat{overrightarrow{AC};overrightarrow{BC}}right)=frac{(overrightarrow{AC};;overrightarrow{BC})}{left|overrightarrow{AC}right|cdotleft|overrightarrow{BC}right|}=frac{3cdot4+1cdot(-2)}{sqrt{3^2+1^2}cdotsqrt{4^2+{(-2)}^2}}=frac{10}{sqrt{10}cdot2sqrt5}=frac{10}{10sqrt2}=frac1{sqrt2})
Ответ: (cosleft(widehat{overrightarrow{AC};overrightarrow{BC}}right)=frac1{sqrt2}.)
Примеры решения задач
Для наглядности, взглянем на примеры решения задач по данной теме.
Задача 1
Известно, что (overrightarrow a) и (overrightarrow b). Их длины равны 3 и 6 соответственно, а скалярное произведение равно -9. Нужно найти cos угла между векторами и его величину.
Решение
Применим формулу:
( cosleft(widehat{overrightarrow a;overrightarrow b}right)=frac{left(overrightarrow a;overrightarrow bright)}{left|overrightarrow aright|timesleft|overrightarrow bright|})
Подставим известные значения:
(cosleft(widehat{overrightarrow a;overrightarrow b}right)=frac{-9}{3cdot6}=-frac12)
Далее найдем угол между данными векторами:
(arccosleft(-frac12right)=frac{3pi}4)
Ответ: (left(widehat{overrightarrow a;overrightarrow b}right)=-frac12,;left(widehat{overrightarrow a;overrightarrow b}right)=frac{3pi}4.)
Задача 2
В пространстве даны координаты (overrightarrow a=(8; -11; 7)) и (overrightarrow b=(-2; -7; 8)). Вычислить угол α между ними.
Решение
Используем формулу для нахождения косинуса угла между направляющими в трехмерной системе координат:
(cosleft(widehat{overrightarrow a;overrightarrow b}right)=frac{left(overrightarrow a;overrightarrow bright)}{left|overrightarrow aright|timesleft|overrightarrow bright|}=frac{a_xcdot b_x+a_ycdot b_y+a_zcdot b_z}{sqrt{a_x^2+a_y^2+a_z^2}cdotsqrt{b_x^2+b_y^2+b_z^2}})
Подставляем значения и получаем:
(cosleft(alpharight)=frac{8cdot(-2)+(-11)cdot(-7)+7cdot8}{sqrt{8^2+{(-11)}^2+7^2}cdotsqrt{{(-2)}^2+{(-7)}^2+8^2}}=frac{117}{sqrt{234}cdotsqrt{117}}=frac{sqrt{117}}{sqrt{234}}=frac1{sqrt2}=frac2{sqrt2})
Теперь находим угол α:
(alpha=arccosleft(frac2{sqrt2}right)=45^circ)
Ответ: (45^circ).
Задача 3
Известны (overrightarrow a=(3; 4)) и (overrightarrow b=(2; 5)). Найти угол между ними.
Решение
Для расчета используем формулу:
(cosleft(widehat{overrightarrow a;overrightarrow b}right)=frac{left(overrightarrow a;overrightarrow bright)}{left|overrightarrow aright|timesleft|overrightarrow bright|}=frac{a_xcdot b_x+a_ycdot b_y}{sqrt{a_x^2+a_y^2}cdotsqrt{b_x^2+b_y^2}})
Подставим известные значения и получим:
(cosleft(widehat{overrightarrow a;overrightarrow b}right)=frac{left(overrightarrow a;overrightarrow bright)}{left|overrightarrow aright|timesleft|overrightarrow bright|}=frac{a_xcdot b_x+a_ycdot b_y}{sqrt{a_x^2+a_y^2}cdotsqrt{b_x^2+b_y^2}}=frac{3cdot2+4cdot5}{sqrt{3^2+4^2}cdotsqrt{2^2+5^2}}=frac{26}{sqrt{25}cdotsqrt{29}}=frac{26}{5sqrt{29}})
Ответ: (cosleft(widehat{overrightarrow a;overrightarrow b}right)=frac{26}{5sqrt{29}})
Добрый день! У меня не получается решить небольшую математическую задачку, поэтому прошу помощи сообщества.
Итак, у меня есть сервис отслеживания транспорта. Для каждой машины на карте нужно установить угол поворота через transform: rotate(<угол>).
Для каждой машины у меня есть ее прошлая координата X1, Y1 и текущая координата X2, Y2.
Вопрос. Какая формула позволит высчитывать этот угол?
-
Вопрос заданболее трёх лет назад
-
13440 просмотров
Пригласить эксперта
alpha = arccos (deltaX / deltaY)
PS а “высшая математика” в тэгах к вопросу – это маркетинг? 🙂
UPD: ойблин, пардон… все учителя математики моей юности, простите меня :/
конечно же alpha = atan ( deltaY / deltaX )
ну а при deltaX=0, alpha = sign(deltaY) * pi/2;
Нарисуйте это на бумажке – и поймете. По сути у вас есть прямоугольный треугольник, где гипотенуза – отрезок от (x1,y1) до (x2,y2), а катеты – проекции на соответствующие оси. Далее нужный угол находите из формул соотношения углов и сторон прямоугольного треугольника.
Итак, у меня есть сервис отслеживания транспорта.
У меня не получается решить небольшую математическую задачку,
Сдайте дидактический материал и идите учить уроки!
X = x0 + (x - x0) * cos(a) - (y - y0) * sin(a);
Y = y0 + (y - y0) * cos(a) + (x - x0) * sin(a);
Здесь про угол между векторами
угол(a, b) = arccos((a * b) / (|a| * |b|))
a * b – скалярное произведение (сумма произведений координат)
|a| – длина вектора (корень из суммы квадратов его координат)
Как я понял, вам нужен угол вектора (x1,y1)→(x2,y2).
Любой школьный «арк», если им действовать в лоб, в определённом диапазоне углов не определён или неустойчив.
Но именно для этого в большинстве языков присутствует функцияatan2(y2 - y1, x2 - x1)
Если задача звучит именно так, то она сводится к нахождению угла между векторами (см. скалярное произведение векторов):
const getScalarProduct = ([xA, ...restA], [xB, ...restB]) =>
(restA.length === 0 || restB.length === 0)
? xA * xB
: xA * xB + getScalarProduct(restA, restB)
const getSquareModule = ([x, ...rest]) =>
(rest.length === 0)
? x * x
: x * x + getSquareModule(rest)
const getModule = (A) => Math.sqrt(getSquareModule(A))
const getCosOfAngle = (A, B) => getScalarProduct(A, B) / (getModule(A) * getModule(B))
getCosOfAngle([1, 0],[0, 1]) – двумерный случай, но можно находить угол для любой размерности
P.S.: код на JavaScript, функция getCosOfAngle возвращает косинус угла
Никогда не поздно, возможные исключения за тобой.
<?php
$x1 = 10;
$y1 = 10;
$x2 = 5;
$y2 = 5;
$alpha = rad2deg(atan2($y1 > $y2 ? $y1 - $y2 : ($y1 == $y2 ? $y1 : $y2 - $y1), $x1 > $x2 ? $x1 - $x2 : ($x1 == $x2 ? $x1 : $x2 - $x1)));
echo($alpha)
?>
UPD: В этом решении можно получить угол, если координаты по отдаленности будут меняться между собой, решение будет правильным.
UPD2: Пример, если это по-типу радара и углы 0 – 180 и 0 – -180:
$alpha = (($y1 > $y2 ? 180 : -180) - rad2deg(atan2($y1 - $y2, $x1 - $x2))) * -1;
-
Показать ещё
Загружается…
18 мая 2023, в 19:39
5000 руб./за проект
18 мая 2023, в 19:22
1500 руб./за проект
18 мая 2023, в 19:20
800 руб./в час
Минуточку внимания
Имеем три точки с координатами – A, B и C, точки образуют отрезки AB и AC, необходимо определить угол α между этими отрезками:
1
PHP-функция
$x1
, $y1
– координаты точки A,
$x2
, $y2
– координаты точки B,
$x3
, $y3
– координаты точки C.
function getAnglePoints($x1, $y1, $x2, $y2, $x3, $y3)
{
return rad2deg(atan2($y3 - $y1, $x3 - $x1) - atan2($y2 - $y1, $x2 - $x1));
}
PHP
2
JS-функция
function getAnglePoints(x1, y1, x2, y2, x3, y3)
{
return (Math.atan2(y3 - y1, x3 - x1) - Math.atan2(y2 - y1, x2 - x1)) * 180 / Math.PI;
}
JS
3
Угол между тремя точками по координатам онлайн
Угол между отрезками
Den Ku
Ученик
(111),
закрыт
10 лет назад
Дополнен 10 лет назад
Даны два отрезка с одной общей точкой A(x0, y0) – (x1, y1) и B(x0, y0) – (x2, y2).
Необходима формула для нахождения угла между отрезками.
Саша Русанов
Высший разум
(209180)
10 лет назад
Вектора a = (x1-x0, y1-y0) , b = ((x2-x0, y2-y0);
cos (q) = (a*b)/(| a | * | b|); в знаменателе модули – длины векторов.
В числителе – скалярное произведение.
cos (q) = [(x1-x0)*( x2-x0)+( y1-y0)*( y2-y0)]/(| a | * | b|);
длина вектора, например а: | a | = √[(x1-x0 )^2 + ( y1-y0)^2]