私はxy座標系を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つの演算を定義する必要があります。