# -*-coding: utf8-*-
import math


def length(v):
    return math.sqrt(v[0] ** 2 + v[1] ** 2)


def scalar_mult(v1, v2):
    return v1[0] * v2[0] + v1[1] * v2[1]


def get_angle(v1, v2):
    """
    Найти угол между 2 векторами
    :param v1: вектор 1
    :param v2: вектор 2
    :return: угол в градусах
    """
    dot = v1[0] * v2[0] + v1[1] * v2[1]
    det = v1[0] * v2[1] - v1[1] * v2[0]
    return math.degrees(math.atan2(det, dot))


def turn_vector(vector, angle):
    """
    Найти вектор полученный при повороте
    :param vector: исходный вектор
    :param angle: угол поворота
    :return: новый вектор
    """
    new_vector = [0, 0]
    v_x = vector[0]
    v_y = vector[1]
    rads = math.radians(angle)
    new_vector[0] = v_x * math.cos(rads) - v_y * math.sin(rads)
    new_vector[1] = v_x * math.sin(rads) + v_y * math.cos(rads)
    return new_vector

results matching ""

    No results matching ""