如何获得向量在射线方向上的分量

How do you get the component of a vector in the direction of a ray

我有一个物体在向量 A 的方向上移动。 还有另一个矢量 B 指向任意方向(但可以认为是无限直线)

我想得到向量 C,它是 B 方向的向量,但具有 A 分量在 B 方向的大小。

为了说明,如果向量 A 是 Vector(1,.5,0) 并且向量 B 是 Vector(0,1,0) 那么我的矢量 C 将是 Vector(0,.5,0).

如果 B 在轴上对齐就很容易,但是如果 B 类似于 (6,3,8),我该怎么做?

C = normalize(B)。 (将 B 除以它的长度)

然后dot(A, C)给你想要的向量的长度,dot(A, C) * C是向量本身。