import math
import numpy as np
def number41():
    #Отрезок АВ задан точками А(2;3), В(10;11).
    # Найти координаты точки С, если известно, что |AC|:|CB| = 3:5

    # координаты точек A и B
    A = (2, 3)
    B = (10, 11)

    # заданное отношение AC:CB
    ratio = 3 / (3 + 5)

    # находим разницу между координатами B и A
    diff_x = B[0] - A[0]
    diff_y = B[1] - A[1]

    # находим координаты точки C
    C_x = A[0] + diff_x * ratio
    C_y = A[1] + diff_y * ratio

    C = (C_x, C_y)

    print(f"Координаты точки C: C{C}")

def number42():
    #Дан треугольник с вершинами А(7;7), В(4;3), С(3;4).
    # Найти его периметр. Ответ округлить до тысячных.

    # Заданные вершины треугольника
    A = (7, 7)
    B = (4, 3)
    C = (3, 4)

    # Функция для вычисления расстояния между двумя точками
    def distance(p1, p2):
        return math.sqrt((p2[0] - p1[0])**2 + (p2[1] - p1[1])**2)

    # Вычисляем длины сторон треугольника
    AB = distance(A, B)
    BC = distance(B, C)
    AC = distance(A, C)

    # Находим периметр треугольника
    perimeter = AB + BC + AC

    # Округляем до тысячных
    rounded_perimeter = round(perimeter, 3)

    print(f"Периметр треугольника: P = {rounded_perimeter}")

def number43():
    #Найти косинус угла между векторами а=(5;-3) и b=(3;5)
    # Координаты векторов
    a = np.array([5, -3])
    b = np.array([3, 5])

    # Вычисление косинуса угла
    cos_angle = np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))

    print(f"Косинус угла между векторами a и b: {cos_angle}")

def number44():
   #Найти угол между прямыми x-5y-3=0  и 2x-10y+7=0
    #1. Сначала перепишем уравнения прямых в виде y = mx + c:
    # x - 5y - 3 = 0 => y = (x - 3) / 5
    # 2x - 10y + 7 = 0 => y = (2x + 7) / 10
    #2. Найдем угловой коэффициент (угловой коэффициент прямой - это значение m в уравнении y = mx + c):
    #- Для первой прямой m1 = 1/5
    #- Для второй прямой m2 = 2/10 = 1/5
    # Угловой коэффициент для первой прямой
    m1 = 1/5

    # Угловой коэффициент для второй прямой
    m2 = 1/5

    # Вычисление угла между прямыми в радианах
    angle_rad = math.atan((m2 - m1) / (1 + m1 * m2))

    # Перевод из радиан в градусы
    angle_deg = math.degrees(angle_rad)

    print(f"Угол между прямыми: {angle_deg} градусов")

def number45():
    # Уравнение параболы: x^2 = -32y
    #Найти координаты фокуса
    # Находим p из уравнения: p = -32 / 4
    p = -32 / 4
    print("Расстояние от фокуса до вершины параболы (p):", p)

    # Координаты фокуса F: (0, -p)
    focus_x = 0
    focus_y = p
    print("Координаты фокуса F:", (focus_x, focus_y))

def number46():
    #Найти эксцентриситет эллипса, если длины осей |А1А2|=10, |B1B2|=6.
    a = 10  # длина полуоси большой
    b = 6   # длина полуоси малой

    e = math.sqrt(1 - (b/a)**2)
    print(f'Эксцентриситет: {e}')