我有一个x-y坐标系
答案 0 :(得分: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] //希望我这里没有犯错误:) / p>
最后
[X] = [v1] + [v2]
我认为最好的选择是创建一个矢量类,并使用矢量代数进行所有数学运算。您只需要定义3个操作:Addition,ScalarMultiplication,90Rotation。