当我点击paper
时,我会将位置存储在lastX
和lastY
值中:
lastX = e.screenX;
lastY = e.screenY;
在鼠标移动时,我更新currentX
和currentY
值:
currentX = e.screenX;
currentY = e.screenY;
我可以确定这两个坐标之间的程度是什么?我认为x线是0度。但这里停止了我的科学。
答案 0 :(得分:0)
在其他一些谷歌搜索之后:
var radian = Math.atan((currentY-lastY)/(currentX-lastX));
var degree = radian * (180/Math.PI);
答案 1 :(得分:0)
假设原点是点(lastX, lastY)
,零度是正x轴,
点(currentX, currentY)
的程度如下:
function degreesToPoint(origin, endP){
if(typeof origin != typeof [] or typeof endP != typeof [])
return false;
else {
var slope = {
x: origin[0] - endP[0],
y: origin[1] - endP[1]
};
var degrees = Math.atan(slope.y / slope.x) * 180 / Math.PI;
if(slope.x < 0 && slope.y >= 0){
degrees += 180;
} else if (slope.x < 0 && slope.y < 0) {
degrees -= 180;
}
return degrees;
}
}