我有一条线,例如,起始Vector2(4,5)结束Vector2(10,10)。 然后我在这一行计算一个点,该线上有一个特定的位置(现在假定为0.4F):
float x = start.x + location * (end.x - start.x);
float y = start.y + location * (end.y - start.y);
return new Vector2 (x,y);
现在我有了位置,我想把这个点放在距线的偏移处。 因此,如果该线位于45Angle,我希望能够在距现有线的X偏移+90或-90度处放置一个点。保持新位置在现有线上平行。
有没有人知道如何做到这一点? 我在Unity3D中工作,如果这使你能够做更多的Vector2的东西。
非常感谢, 笑脸
答案 0 :(得分:1)
您可以使用以下x和y分量获取加入start
和end
的向量的垂直向量
float x2 = -(end.y - start.y);
float y2 = (end.x - start.x);
并从中创建一个2D矢量。这将为您提供方向向量,您可以相应地进行缩放,并添加到线上的点以生成此垂直方向上的其他点。