1

私はxy座標系を1つ持っています

4

1 に答える 1

1

ここに画像の説明を入力してください

この図は、あなたが私に言ったことを表すはずです。重要なのは、CS1で[x2]、[y2]を表現することです。(ここではラテックスを使用できないので、[A]はベクトルAを意味し、| A |はベクトルAの長さであると仮定しましょう)

[v2] = v2x * [x2] + v2y * [y2]

[v1]と[d2]を明確に定義しているので、[x']を計算できます。

[x`] = [d2]-[v1]

[x']からx2を計算できます

[x2] =(| x2 | / | x'|)[x`] =(| x1 | / | x'|) [x'] |x1|以降 = | x2 |

x2からy2を計算できますが、方法は覚えていません。単純な90°回転です。これである必要があります:

y2x = --x2y y2y = x2x

CS1でx2、y2を表現すると、v2を計算できます。

v2 = v2x * [x2] + v2y * [y2] = v2x *(x2x * [x1] + x2y * [y1])+ v2y *(y2x * [x1] + y2y * [y1])=(v2x x2x + v2y y2x)[x1] +(v2x x2y + v2y y2y)[y1]//ここで間違いを犯さなかったといいのですが:)

そして最後に

[X] = [v1] + [v2]

最良のオプションは、ベクトルクラスを作成し、ベクトル代数を使用してすべての計算を行うことだと思います。加算、ScalarMultiplication、90Rotationの3つの演算を定義する必要があります。

于 2012-05-31T01:30:47.457 に答える