Есть линия с координатам x1 y1 начало x2 y2 конец . Как ее повернуть на определеный угол в градусах относительно ее начала т.е. х1 у1 и относительно любой другой точке . Например 100 100
А вот готовые формулы переменные: угол A = 90° точка начала x1, y1 = (7:-5) точка конца x2, y2 = (4:2) Большинство ЯП вычисляет функции cos и sin от угла в радианах, потому переводим в радианы: Arad = \frac{A \cdot Math.PI}{180} Теперь посчитаем новые координаты точки - смещаем центр линии к точке (0:0), пересчитываем координаты точки (x2:y2) и прибавляем к ним начало: x2 = x2-x1\\y2 = y2-y1\\x2 = (x2 \cdot cos(Arad)-y2 \cdot sin(Arad)) + x1 \\y2 = (x2 \cdot sin(Arad)+y2 \cdot cos(Arad)) + y1 \\ Arad = \frac{90 \cdot 3.14159}{180} =1.57\\x2 = 4 - 7=-3\\y2 = 2 - (-5)=7\\x2 = (-3 \cdot 0-7 \cdot 1)+7 = 0\\y2 = (-3 \cdot 1+7 \cdot 0)+(-5) = -8\\ Поворот против часовой стрелки. Для поворота по часовой угол берем с отрицательным значением
Так же можно вращать, зная радиус. x2 = R \cdot cos(Arad) + x1y2 = R \cdot sin(Arad) + y1
А для упрощения расчета можно уйти от перевода градусов в радианы и сразу пользоваться радианами: rad = \frac{Math.Pi}{180}\\Arad += 30 \cdot rad\\ rad - один радиан в данном случае угол увеличивается на 30°