Для поворота отрезка AB относительно точки O на угол 120⁰, можно использовать следующие шаги:
1. Найдите координаты точек A, B и O на плоскости. Пусть A имеет координаты (x1, y1), B – (x2, y2), а O – (x0, y0).
2. Перенесите начало координат в точку O путем вычитания координат O из координат A и B. Получите новые координаты A’ и B’: A’ = (x1 – x0, y1 – y0), B’ = (x2 – x0, y2 – y0).
3. Выполните поворот отрезка A’B’ на 120⁰ по часовой стрелке на плоскости. Для этого умножьте координаты точек A’ и B’ на матрицу поворота:
| cos(120⁰) -sin(120⁰) |
| sin(120⁰) cos(120⁰) |
После умножения получите новые координаты A” и B”:
A” = (x1′, y1′) = (x1′ * cos(120⁰) – y1′ * sin(120⁰), x1′ * sin(120⁰) + y1′ * cos(120⁰))
B” = (x2′, y2′) = (x2′ * cos(120⁰) – y2′ * sin(120⁰), x2′ * sin(120⁰) + y2′ * cos(120⁰))
4. Верните начало координат в исходное положение путем добавления координат O к новым координатам A” и B”. Получите итоговые координаты A”’ и B”’:
A”’ = (x1” + x0, y1” + y0)
B”’ = (x2” + x0, y2” + y0)
5. Результатом будет отрезок A”’B”’, который является повернутым отрезком AB относительно точки O на угол 120⁰.
Здесь использовалась матрица поворота для поворота точки (x, y) вокруг начала координат (0, 0) на угол α:
| cos(α) -sin(α) |
| sin(α) cos(α) |
В данном случае вместо начала координат используется точка O, поэтому выполняется сдвиг начала координат к этой точке путем вычитания соответствующих координат.