Михаил Ткачев
Ученик
(192)
13 лет назад
Умножаем эти вектора. Их скалярное произведение равно произведению длин этих векторов на косинус угла между ними.
Угол нам неизвестен, зато известны координаты.
Математически запишем это так.
Пусть, даны вектора a{x1;y1} и b{x2;y2}
Тогда
a*b=|a|*|b|*cosA
отсюда
cosA=a*b/|a|*|b|
Рассуждаем.
a*b-скалярное произведение векторов, равно сумме произведений соответствующих координат координат этих векторов, т. е. равно x1*x2+y1*y2
|a|*|b|-произведение длин векторов, равно √((x1)^2+(y1)^2)*√((x2)^2+(y2)^2).
Значит, косинус угла между векторами равен:
cosA=(x1*x2+y1*y2)/√((x1)^2+(y1)^2)*√((x2)^2+(y2)^2)
Зная косинус угла, можем вычислить и его синус. Рассуждаем, как это сделать:
если косинус угла положительный, значит это угол лежит в 1 или 4 четверти, значит его синус либо положительный, либо отрицательный. Но т. к. угол между векторами-меньше или равен 180 градусов, то его синус - положительный. Аналогично рассуждаем, если косинус - отрицательный.
sinA=√(1-cos^2A)=√(1-((x1*x2+y1*y2)/√((x1)^2+(y1)^2)*√((x2)^2+(y2)^2))^2)
вот так))) ) удачи разобраться)))
Источник: голова)
Мелкозёров Дмитрий
Профи
(774)
13 лет назад
нанеси их в автокаде и померий угол, а математически так: координаты конца вектора минус начала, дельта икс делить на дельта игрик, shift tg, shift deg, получаешь угол вектора.