Поворот точки вокруг другой точкиC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Поворот точки вокруг другой точки

Сообщение Anonymous »


У меня есть задача нарисовать конкретную графику. В рамках этой задачи мне нужно повернуть несколько точек на 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) + (двойной) центр); Но вот что я получаю:


Изображение


Любая помощь будет очень признательна
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»