をクリックすると、位置と値paper
が保存されます。lastX
lastY
lastX = e.screenX;
lastY = e.screenY;
mousemove で、currentX
とのcurrentY
値を更新します。
currentX = e.screenX;
currentY = e.screenY;
この 2 つの座標の間の角度をどうにか特定できますか? x 線が 0 度だと思います。しかし、ここで私の科学は止まりました。
をクリックすると、位置と値paper
が保存されます。lastX
lastY
lastX = e.screenX;
lastY = e.screenY;
mousemove で、currentX
とのcurrentY
値を更新します。
currentX = e.screenX;
currentY = e.screenY;
この 2 つの座標の間の角度をどうにか特定できますか? x 線が 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;
}
}
他のいくつかのグーグル検索の後:
var radian = Math.atan((currentY-lastY)/(currentX-lastX));
var degree = radian * (180/Math.PI);