Я не трогал тригона в течение 20 лет, но думаю, что формула проста ...
Да, честно.Чтобы отобразить точку (x1, y1) с помощью вращения вокруг начала координат:
x2 = cos(a) * x1 + sin(a) * y1;
y2 = cos(a) * y1 - sin(a) * x1;
... так что вам просто нужно сначала перевести на начало координат, т.е. (-50, -50) в вашем примере, и перевестиназад после вращения.
x2 = cos(a) * (x1 - 50) + sin(a) * (y1 - 50) + 50;
y2 = cos(a) * (y1 - 50) - sin(a) * (x1 - 50) + 50;
... Или что-то в этом роде.(Вы можете создать матрицу, которая будет выполнять все три преобразования, я оставлю это для другого ответа или в качестве упражнения ...)