Я действительно застрял в этой проблеме. Я пытаюсь разработать фото-кроппер с масштабирующим кругом, который использует SVG и имеет две ручки: одну для увеличения / уменьшения окружности, а другую - для ее перемещения. Перемещающаяся часть проста, но проблема в масштабировании.
https://skitch.com/sverbeek/ga5qt/photo.html
У меня есть вышеуказанная настройка системы (обратите внимание, что ручка шкалы - это та, которая не прикреплена, так как она переместилась), и она движется вдоль плоскости 65 °; (который может измениться позже в зависимости от того, как это работает). Эта часть отлично работает, но теперь я до мелочей. Я получаю разницу между тем, где инструмент масштабирования начал перемещаться, и тем, где он закончился, относительно X, Y (так, например, 0,0 будет тем, с чего он начнется, если я переместлю его вверх / вправо, он перейдет от 0,0 до 10 -10 например (отрицательный Y и положительный X) и наоборот для другой стороны).
Но мне нужно как-то превратить эту разницу в движении в число от 0,3 до 2,3, где 0. # будет уменьшаться (влево / вниз), а 1 / 2. # будет идти вверх / вправо. И мне нужно, чтобы он был пропорционален ручке, чтобы ручка всегда была прикреплена.
Но я так застрял, что просто не могу понять, куда идти. Я сделал jsfiddle в http://jsfiddle.net/FW4UB/