计算向量沿任意法线的距离



我试图创建一个函数,通过拖动鼠标沿法线挤压一个面。出于这个问题的目的,我已经将事物简化为2D向量,因此视图向下看到一个立方体,法线是要挤出的面。

我可以很容易地通过面法线方向限制鼠标的移动,我的问题是如何计算出鼠标沿法线方向移动的正确距离。

有两个向量(A &B1)。A是起始点,B1是当前鼠标位置(参见图像向量法向投影)。我需要投影B1,使它从点a出发,沿着法线方向,所以B1变成了B2。对于鼠标位置Bx也是如此(Bx需要从a沿着法线投影,这样它就变成了B2)。这意味着无论鼠标位于B1、B2还是Bx,它们都将沿着法线方向给出相同的距离(在本例中为2)。

我可能处理这个问题的方法不正确,所以请告诉我是否有更好的方法来解决这个问题。

谢谢。

经过归一化(单位长度)方向向量e后,w=AB1向量在直线AB2上的投影长度非常简单,用点积表示:

L = (w.dot.e) 

也许你已经有了e,如果你知道角度-在2D中它的分量是:

e = (cos(fi), sin(fi))

最新更新