1

(x, y) 座標内の点を (0, 0) に対して x 度移動/「回転」するアルゴリズムは何ですか? たとえば、下の図では、ポイント A を B に x 度だけ移動したいと考えています。A と (0, 0) の間の距離は、B と (0, 0) の間で同じでなければなりません。

フロントエンド環境、つまりJavaScriptで行う必要があります。

ここに画像の説明を入力

4

2 に答える 2

5
B.x = A.x * cos(x) - A.y * sin(x)
B.y = A.x * sin(x) + A.y * cos(x)

xはラジアンであると想定されますが、それ以外の場合は変換する必要があります。

于 2013-03-11T20:39:21.880 に答える
0

多くの Canvas (または単に JavaScript) 変換を支援するために、特定のポイントに任意の種類の変換 (回転、スケール、移動) を適用できる小さな Transformation クラスを作成しました。

これは、キャンバスで変換行列を模倣するために数学が必要な場合に非常に便利です。

https://github.com/simonsarris/Canvas-tutorials/blob/master/transform.js

ポイントを回転するには、次のようにします。

var t = new Transform();
t.rotate(5); // some number of radians
t.transformPoint(ax, ay); // returns [bx, by]
于 2013-03-11T21:26:21.287 に答える