统一线矢量计算

时间:2016-11-13 10:55:31

标签: algorithm math unity3d vector geometry

假设我们有两个位置向量 a b ,其中a是一条线的基础:

g:x = a + r * d(d是线的方向)

由于我的游戏生成算法,我们可以确定 b 位于 g 上。然后我的问题是如何找到 r

问题似乎是结果总是积极的,在计算长度时,然后检查 d 与结果的匹配程度总是正的,因此只是部分正确。

我的另一个想法是通过 a + r * d = b< =>来计算它。 r =(b - a)/ d 。但是统一不允许矢量划分。

提前感谢您的帮助,也许我只是在某些方面感到愚蠢。遗憾

1 个答案:

答案 0 :(得分:1)

g是你的结果,a是你的起点。

  r = (g -a ).magnitude;

使用点(d,(g-a))知道是正还是负。