У меня есть два приложения, одно из которых создает прямоугольник, и выводит его слева, сверху, ширине, высоте и углу поворота, а другое рисует прямоугольник на экране.
Приложение1 (модуль записи) используетвверху слева как источник для вращения.
Приложение2 (читатель) использует центр в качестве источника для вращения.
Я пытаюсь получить deltaX и deltaY, чтобы я мог нарисоватьпрямоугольник, поверните его вокруг начала координат и используйте встроенный метод перевода, чтобы переместить прямоугольник в положение.
Я знаю, что поворот точек можно рассчитать следующим образом:
x' = x*cos(theta) - y*sin(theta)
y' = x+sin(theta) + y*cos(theta)
Но при этом я не могу определить фактические значения дельты, необходимые для метода перевода.
На изображении ниже белый прямоугольник нарисован с использованиемверхняя / левая точка поворота, а зеленый прямоугольник рисуется с использованием центра в качестве точки поворота.Я хотел бы переместить зеленый прямоугольник на белый.
(0,0)