从给定的3D线正交地找到远离d距离的点

时间:2012-11-28 11:56:30

标签: c++ math vector 3d geometry

  

我想找到一个远离已知距离(比如说d)的点(比如P)的坐标。   情况是:我想要一条线(3d)与另一条线垂直的点   线段(3d)并通过给定线段的一端(比如A)。   因此,我知道给定线段的2个端点(也是沿线的矢量)和距离d以及垂直线的矢量。也是垂直线穿过的点C.   众所周知。   我有vector3 class和line3类。

解决这个问题的方法很难弄明白,所以请通过展示方式帮助我。

是的,因为在该方向上有2个点,我正在寻找点(P),它更靠近C点(不是Q)。

提前谢谢

enter image description here

1 个答案:

答案 0 :(得分:2)

找到方向向量,然后将其乘以d,然后加到起点:

Vector A, C;
float d = 100;

Vector dir = C - A;
dir.normalize();
dir *= d;
Vector P = A + dir;