嘿所以我遇到了一些矢量数学的问题,我需要解决这个问题才能使我的代码工作。我想要做的是:
让我们说我们有三个对象:
有点像这样:
B
AC
现在我需要做的是获得距离A更远的向量坐标点,当A被激活时,B和C都会移动到。因此,当我激活A时,B将沿45度角继续到currentPos + newPos,C将沿90度角移动到currentPos + newPos。所有这一切都必须基于A的位置。物体必须远离A的中心位置。
矢量数学是我不太熟悉的东西,我在这里有点挣扎,想知道如何根据他们当前的A和A位置角度来获得B和C的新位置,所以我想向更多知识渊博的人求助。
请您以直截了当的方式撰写任何回复,以便我可以轻松地将该想法转换为代码。
谢谢!
答案 0 :(得分:0)
我正在关注你的照片,我将其称为A的位置为C的零度角。让我们假设我们将你的位置称为A(0,0)。
在您的情况下,您可以将(10,0)添加到C的当前位置。对于B,你可以(5sqrt(2),5sqrt(2))。更一般地说,要以角度θ移动n个单位(在大多数语言中以弧度为单位),添加n(cos(theta),sine(theta))。
我采用这种方法,因为你说角度是已知的,A是我们宇宙的中心,一切都与它相关。如果情况并非如此,可能需要采用一种方法,将B-A和C-A视为向量并采用其大小,然后添加适量的方法。