У меня есть задача нарисовать конкретную графику. В рамках этой задачи мне нужно повернуть несколько точек на 45 градусов.
Я уже два дня пытался вычислить формулу, но так и не смог сделать это правильно. Я искал повсюду, включая этот конкретный сайт, я подбираюсь очень близко, но меня все еще нет.
Вот это: Мне нужно нарисовать 4 разные точки
У меня есть конкретная формула для расчета позиции, о которой не может быть и речи, но вот что я получаю в результате:
int радиус = 576; int диаметр = радиус * 2; Точка blueA = новая точка(561, 273); Точка greenB = новая точка(273, 561); Точка жёлтаяC = новая точка (849, 561); Точка redD = новая точка (561, 849);

Теперь мне нужно повернуть эти точки на 45 градусов. Для этого я использую следующий код:
double RotateAngle = 45; двойное вращениеРадианы = RotationAngle * (Math.PI/180); центр int = радиус; result.X = (int)(Math.Cos(rotationRadians) * ((double)result.X - (double)center) - (double)Math.Sin(rotationRadians) * ((double)result.Y - center) + (двойной)центр); result.Y = (int)(Math.Sin(rotationRadians) * ((double)result.X - (double)center) + (double)Math.Cos(rotationRadians) * ((double)result.Y - center) + (двойной) центр); Но вот что я получаю:

Любая помощь будет очень признательна