3

我在 3D 空间的有向线 AB 上有 2 个点 P 和 Q。它们可以在线上的任何位置,即不一定在 A 和 B 之间。

毕达哥拉斯显然给了你距离,但是我如何计算从 P 到 Q 的有向距离的符号?

4

5 回答 5

6

ABPQ点积。正=> 同方向,负=> 反方向。

于 2009-02-16T10:59:27.367 回答
4

将 QP 和 BA 的差值视为向量ABPQ,符号由向量的点积的符号给出。

符号(有符号距离)=符号(PQ · AB

在哪里

[x,y,z] · [ p,q,r ] = x✕p + y✕q + z✕r

如果您通过将向量AB除以其大小(点积与其自身的 sqrt )来归一化向量 AB,

N = AB / | AB |

那么沿 AB 方向的有符号距离将是

有符号距离 = PQ · N

这意味着如果 A 和 B 不变,您只需要执行一次 sqrt。

于 2009-02-16T11:02:29.200 回答
0

对于每个维度 (x,y,z),对于 A->B,它将增加、减少或恒定。这可以通过做 BA (xB-xA, yB-yA, zB-zA) 找到。为您的积分计算 QP 的等效值。如果 x(或 y 或 z)中的符号与 BA 中的符号相同,则方向与 AB 相同,否则方向不同。

您只需要查看 x、y 或 z 中的 1 个,但如果 AB 在 x、y 或 z 中是常数,则您需要选择另一个维度。

于 2009-02-16T10:52:40.473 回答
0

听起来你在问向量。我不知道你是否研究过它们,但它们是既有大小又有方向的量。

如果您在空间中的两个点是 (p1, p2, p3) 和 (q1, q2, q3),您可以在 3D 空间中形成从 P 指向 Q 的向量,如下所示:

V = (q1-p1)*i + (q2 - p2)*j + (q3 - p3)*k

其中 (i, j, k) 分别是 x、y 和 z 方向上大小为 1 的向量。

从P到Q的幅度(例如,距离)是分量平方和的平方根。

于 2009-02-16T10:52:44.763 回答
0

这些点在线 AB 上,您需要从 P 到 Q 的距离。

该线从 A 指向 B,因此您可以定义一个 alpha,使得:

Point = alpha (B-A) + A

求 P 和 Q 的 alpha,如果 P 的 alpha 大于 Q 的 alpha,则符号为负。

于 2009-02-16T10:54:02.217 回答