Возвращение нетрансформированных координат мыши после вращения объекта на холсте html5

Я вращаю объект в холсте html5 вокруг переменной точки происхождения.

Если пользователь нажимает на заданную точку во вновь повернутом прямоугольнике, мне нужно, чтобы возвращенные координаты мыши были повернуты назад вокруг той же точки начала координат.

Я сделал очень быстрый рисунок, чтобы, надеюсь, лучше проиллюстрировать:

По сути, мне нужна функция, которая будет принимать фактические координаты мыши в виде x и y и преобразовывать их в положение объектов ДО того, как они будут повернуты.

var origin = {
        x: 100,
        y: 100
};

var angle = 45;

function transformCoordinates(x,y){

         //Perform calculation to transform coordinates

         return {
                 x : newx,
                 y : newy
         };
}

Доступными переменными будут источник преобразования поворота и угол. А также координаты щелчка мыши на холсте (относительно самого холста, где 0,0 - верхняя левая точка и т. Д.)

К сожалению, математика не моя сильная сторона. Надеюсь, кто-то может помочь.

Ответы на вопрос(2)

Ваш ответ на вопрос