0

をクリックすると、位置と値paperが保存されます。lastXlastY

lastX = e.screenX;
lastY = e.screenY;

mousemove で、currentXとのcurrentY値を更新します。

currentX = e.screenX;
currentY = e.screenY;

この 2 つの座標の間の角度をどうにか特定できますか? x 線が 0 度だと思います。しかし、ここで私の科学は止まりました。

4

2 に答える 2

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;
    }
}
于 2013-05-11T03:37:09.550 に答える
0

他のいくつかのグーグル検索の後:

var radian = Math.atan((currentY-lastY)/(currentX-lastX));
var degree = radian * (180/Math.PI);
于 2013-05-10T23:36:39.707 に答える