У меня есть мультитач поддержка, которая позволяет 2 пальцам поворачивать фотографии.Существует четыре точки: 2 для предыдущих пальцев и 2 для текущих позиций пальцев.
Я вычислил новую точку, вычтя 2 предыдущих пальца, а вторую новую точку вычислили, вычитая 2 других текущих пальца.
Затем я вычисляю угол следующим образом:
radian1 = atan (p1.y / p1.x);radian2 = atan (p2.y / p2.x);
Я вычитаю radian2 и radian1, чтобы получить окончательный угол.
Проблема в том, что я могу красиво поворачивать изображение, но иногда, если я поворачиваю в определенное положение, фотография переворачивается, например, фотография, предполагаемая в 270, но она переворачивается и появляется в 90 градусах.
Этоjavascript, который я написал в соответствии с ответом ниже:
var x1 = this.previousMousePoint.x * this.previousMousePoint2.x + this.previousMousePoint.y * this.previousMousePoint2.y;
var y1 = this.previousMousePoint.x * this.previousMousePoint2.y - this.previousMousePoint.y * this.previousMousePoint2.x;
var x2 = center.x * point.x + center.y * point.y;
var y2 = center.x * point.y - center.y * point.x;
var radian1 = Math.atan(y1 / x1);
var radian2 = Math.atan(y2 / x2);
this.anchor.matrix = this.anchor.matrix.rotate(radian2-radian1, pivot);
выглядит нормально.но это немного медленно, когда я пытаюсь повернуть изображение