角度を度で指定した線に沿って、特定の距離にポイントを平行移動したい。ポイントを指定された角度で指定された距離に平行移動する方法は?
var initialPoint = [0,0]; //Starting Point
var distance = 100; //Distance in pixels to be translated
var degree = 45; //Direction of move
var translatedPoint = moveByDegree(initialPoint, degree, distance);
function moveByDegree(initialPoint, degree, distance)
{
//formula to generate translatedPoint by degree & distance
// . . .
return translatedPoint;
}
- 0度がUP移動する必要があります。
- 180度は下に移動する必要があります。
- 90度は右に移動する必要があります。
- 270度は左に移動する必要があります。
- 他のアングルはダイアゴナル方向に対応します。
簡単なアルゴリズムまたはJavaScriptコードを教えてください。
基本的に、原点から: 'x:Math.cos(angle)* dist'と' y'は 'sin'で計算されます。ただし、この式では「0」が右にあり、「angle」はラジアンである必要があります。原点を始める場合は、結果に対応するオフセットを追加するだけです。 – Teemu
スクリーン座標またはデカルト座標で通常の向きで計算しますか? – LutzL