如何移动等距线-三条平行线(3d)的情况
How to move a line having equal distance separation - three parallel lines (3d) case
我有三条平行线(都是3d线)。比如AB、CD、EF。中心线即CD由AB、DE所在的两个平面的交点给出。AB和CD之间的最短距离(比如d1)并不完全等于CD和EF(比如d2)。
距离中心线较短的线应该用第四条线代替,使其与另一条线的距离相等。
我知道每条线的矢量,也知道每条线上有一个三维点。(对于AB和EF,我知道另一个位于线上的点;这意味着AB和EF可以作为线段)
我试着去做,但没能弄清楚,得到了一些错误的答案。有时第四行会使分隔更短(可能是矢量指向其他方向,或者我走错了方向)。我应该说AB、CD&EF线不指向同一方向。
因此,我正在寻找一种具体的方法来做到这一点。我有vector3和line类来用c++实现这一点。
请有人教我如何移动一行(即画第四行)。感谢
我在数学堆栈交换中回答了你的问题,因为那里的公式排版功能对这个答案非常有用。核心思想是建立两个向量,它们从中心线指向其他每条线,并且垂直于线的方向。然后,您可以比较这些向量的长度,将较短的向量缩放为较长的向量,并使用缩放后的向量来获得新线。
相关文章:
- 模板-模板参数推导:三个不同的编译器三种不同的行为
- 我可以使用 g++ 进行三种比较 (<=>) 吗?
- 将两个数组中的差异记录在第三个数组中
- 如何将三维尺寸不固定的三维阵列展平为一维阵列
- 将数字转换为字母(例如:123 转换为一二三)
- 如何从给定字符串中删除第二次和第三次出现的$
- 在更改for循环的第三部分后,未使用for循环结果
- 在 2D 向量中使用第三个 [ ] 有什么意义?
- 函数名是c中该函数的第一条指令的地址吗
- QScrollArea:由垂直滚动条引起的水平滚动条
- 如何通过按下第三个窗口中的按钮,将QString从一个窗口获取到另一个窗口
- 跟踪滚动条上的鼠标事件
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- 我不知道这条线是做什么的
- 三向比较运算符成员与非成员实现
- 扩充矩阵的行缩减-三维样条曲线计算
- 如何移动等距线-三条平行线(3d)的情况
- 分段故障;三条规则
- 在三维中从起点和角度计算一条线
- 三次样条:开始/结束段插值