Я создаю базу данных для моих локальных фотографий с веб-интерфейсом, где я хочу иметь возможность помечать изображения и поворачивать их, среди прочего.При реализации тегов (так же, как система тегов Facebook) я столкнулся с проблемной областью.А именно:
Допустим, я пометил изображение (не) меня:
И когда я повернул его, я хочу повернуть координаты тегас изображением, вот так:
Вот моя проблема.Я сохраняю координаты в базе данных (x, y) в системе координат CSS, то есть left / top вместо математического left / bottom.(Возможно, это не слишком большая проблема?)
Следующая большая проблема заключается в том, что когда я вращаюсь вокруг центра (точка [0,0]), я получаю отрицательные координаты.Например, от [100, 100] до [-100, -100].Это не правильно, потому что когда я поворачиваю изображение, я не получаю отрицательных координат.Система координат является только положительной.
Весь мой код вращения использует формулу вращения вектора:
$nx = $x * cos(deg2rad($rotation_angle)) - $y * sin(deg2rad($rotation_angle));
$ny = $x * sin(deg2rad($rotation_angle)) + $y * cos(deg2rad($rotation_angle));
Мой вопрос: как мне решить эту проблему?Я пытался просто использовать abs
, чтобы превратить отрицательные значения в положительные, но это приводит к неправильным координатам.