19

私のプロジェクトでは、点 X から点 Y に線を引きたいと思います。

点 X の位置はわかっていますが、点 Y の角度と距離しかわかりません。

だから私の問題は、角度(点Xから)と距離によって点Yの座標を取得することです。

このプロジェクトでは JavaScript を使用していますが、グラフィカル ライブラリは使用したくありません。


例えば:

  • ポイント X (10;20)

  • ポイント Y (ポイント X から 10° & 200px)

それはおそらくかなり基本的な数学ですが、私はそれを行う方法がわかりません。

4

2 に答える 2

21
js> Math.cos(10*Math.PI/180) * 200 + 10
206.9615506024416
js> Math.sin(10*Math.PI/180) * 200 + 20
54.729635533386066

Y(207, 55) です。

于 2013-07-03T19:50:15.687 に答える
20

これは、@ IgnacioVazquez-Abrams の回答を使用方法の例とともに関数にラップするコード スニペットです。

function findNewPoint(x, y, angle, distance) {
    var result = {};

    result.x = Math.round(Math.cos(angle * Math.PI / 180) * distance + x);
    result.y = Math.round(Math.sin(angle * Math.PI / 180) * distance + y);

    return result;
}

var newPoint = findNewPoint(10, 20, 10, 200);
console.log('newPoint:', newPoint);
于 2014-12-19T18:41:48.957 に答える