У меня есть растровое изображение (web ‹img›, 2048x1365) и я поставил на него точку (‹div› absolute с размером 1px).
Когда я вращаю растровое изображение (на сервере), я хочу также повернуть точку (с помощью Javascript).
Я знаю уравнение вращения:
$cs=cos($radian);
$sn=sin($radian);
$x2=($x*$cs)-($y*$sn);
$y2=($x*$sn)+($y*$cs);
Но как-то у меня запаздывает ...
Мой код (в PHP):
$width=2048;
$height=1365;
$radian=$rot*M_PI/180;
$cs=cos($radian);
$sn=sin($radian);
$center_x=$width/2;
$center_y=$height/2;
$x-=$center_x;
$y-=$center_y;
$x2=($x*$cs)-($y*$sn);
$y2=($x*$sn)+($y*$cs);
$x=$x2+$center_x;
$y=$y2+$center_y;
При $ rot = 6 ° я должен сдвинуть (примерно) $ x2 +30, $ y2 + 85
При $ rot = 21 ° я должен сдвинуть $ x2 +40, $ 2 + 380
При $ rot = 90 ° я должен сдвинуть $ x2 -340, $ y2 -340
С $ rot = 180 °, это хорошо
При $ rot = 270 ° я должен сместить $ x2 +340, $ y2 + 340
Я не понимаю это отставание ...
Чтобы помочь, вот пример . Точки являются центрами площади. При угле 10 ° я должен добавить x + 180 и y + 70 для 3 точек.
Большое спасибо за вашу помощь