web-dev-qa-db-ja.com

方向と距離に基づいてポイント座標を取得(ベクトル)

get point based on direction and distance

2番目の点の座標を見つける必要があります。ラジアン単位のポイント間のangleも知っていますし、ベクトルのlengthも知っています。

誰かが私を解決策に向けてくれれば幸いです。

26
YemSalat

与えられた[〜#〜] l [〜#〜]は、ベクトルの長さとしてAng角度

x2 = x1 + Math.cos(Ang) * L
y2 = y1 + Math.sin(Ang) * L

おっと... Y軸の上から下の方向に注意しました...コンスタンティンレビン。上の式は典型的な三角座標系を想定しているため、少し調整する必要があります。あなたの場合、式は次のようになります:

x2 = x1 + Math.cos(Ang) * L    // unchanged
y2 = y1 - Math.sin(Ang) * L    // minus on the Sin

また、(言うまでもなく、1つにはそれも言う...)参照角度は、y2 == y1およびx2> x1の場合、Angはゼロである必要があり、2番目の点がカウンターに移動すると増加します。 -最初の時計回りに時計回りに。

38
mjv