Матрицы вращения могут описывать только вращения примерно на (0, 0), поэтому вам придется использовать перевод.
РЕДАКТИРОВАТЬ См. this JSFiddle .Он рисует прямоугольник, определенный со смещением, шириной и высотой, повернутый вокруг точки поворота.Интересной частью являются последние 10 строк или около того, где вычисляются значения для offsetX
и offsetY
.Получив их, вы можете построить свой перевод и матрицы вращения.Затем просто умножьте перевод на вращение, и вы получите свой окончательный результат.К сожалению, Javascript не предлагает никаких функций матрицы, поэтому, если вы не предоставите свой код, это все, что я могу сделать
КАК СДЕЛАНА МАТРИЦА ПЕРЕВОДА
1 0 offsetX
0 1 offsetY
0 0 1
КАК СДЕЛАНА МАТРИЦА ВРАЩЕНИЯ
cos -sin 0
sin cos 0
0 0 1