JS rotate

来源:互联网 发布:淘宝问卷调查报告 编辑:程序博客网 时间:2024/05/16 06:55
1. 根据两点确定旋转角度
所在位置的坐标 (x1,y1).
当前鼠标所在坐标 (x2,y2)
var x = Math.abs(x1-x2);var y = Math.abs(y1-y2);var z = Math.sqrt(x*x+y*y);var rotat = Math.round((Math.asin(y/z)/Math.PI*180));// 第一象限if (x2 >= x1 && y2 <= y1) {    rotat = rotat;}// 第二象限else if (x2 <= x1 && y2 <= y1) {    rotat = 180 - rotat;}// 第三象限else if (x2 <= x1 && y2 >= y1) {    rotat = 180 + rotat;}// 第四象限else if(x2 >= x1 && y2 >= y1){    rotat = 360 - rotat;}return rotat; //真实的角度
2. 根据旋转角度确定终点坐标
所在位置的坐标 [x1,y1].
当前鼠标所在坐标 [x2,y2]
var r = Math.sqrt(Math.pow(x1 - x2,2) + Math.pow(y1 - y2,2));
var newx = (Math.cos(rotat/180 * Math.PI) * r); var newy = (Math.sin(rotat/180 * Math.PI ) * r);

(newx, newy)
 
0 0