如何移动等距线-三条平行线(3d)的情况

How to move a line having equal distance separation - three parallel lines (3d) case

本文关键字:平行线 三条 3d 情况 何移动 移动      更新时间:2023-10-16

我有三条平行线(都是3d线)。比如AB、CD、EF。中心线即CD由AB、DE所在的两个平面的交点给出。AB和CD之间的最短距离(比如d1)并不完全等于CD和EF(比如d2)。

距离中心线较短的线应该用第四条线代替,使其与另一条线的距离相等。

我知道每条线的矢量,也知道每条线上有一个三维点。(对于AB和EF,我知道另一个位于线上的点;这意味着AB和EF可以作为线段)

我试着去做,但没能弄清楚,得到了一些错误的答案。有时第四行会使分隔更短(可能是矢量指向其他方向,或者我走错了方向)。我应该说AB、CD&EF线不指向同一方向。

因此,我正在寻找一种具体的方法来做到这一点。我有vector3和line类来用c++实现这一点。

请有人教我如何移动一行(即画第四行)。感谢

我在数学堆栈交换中回答了你的问题,因为那里的公式排版功能对这个答案非常有用。核心思想是建立两个向量,它们从中心线指向其他每条线,并且垂直于线的方向。然后,您可以比较这些向量的长度,将较短的向量缩放为较长的向量,并使用缩放后的向量来获得新线。