【问题标题】:How can I find the unit vector between a point and a line?如何找到点和线之间的单位向量?
【发布时间】:2011-04-08 10:52:11
【问题描述】:

我有三个已知的 3-Dimensional 点:ABC

另外,我还有第四点,X

X 位于向量 AB 上,因此向量 CX 垂直于向量 AB。所以AB · CX = 0

如何求CX的单位向量?


这里的用例是我正在构建一个(平移的)旋转矩阵,其中原点是 A,z 轴穿过 B,xz 平面穿过 C,并且轴是正交的

我还有一个矢量对象,它提供点积和叉积函数供我使用。

【问题讨论】:

  • 我认为这不适合 Stack Overflow,它更多的是关于数学而不是其他任何东西。
  • 这对于数学溢出来说太初级了。此外,它几乎不先进。为什么不尝试一下呢?
  • 我已经尝试过尝试,但我还没有成功...
  • 我的意思是人们应该认真回答。我认为这是一个足够有效的问题。

标签: math vector rotational-matrices


【解决方案1】:

U = (B-A)/||(B-A)||

是从 A 到 B 的单位向量,其中||X|| 表示向量X 的长度。现在我们可以通过

参数化整行
A + tU

我们想要

((A + tU) - C)*U = 0

这样

A*U - C*U + t = 0
t = C*U - A*U

所以我们已经解决了t,现在我们让

V = (A+tU - C)/||A+tU - C||

我们有一个沿线的单位向量U,和一个与之正交的向量V

【讨论】:

  • A*U 表示点积还是叉积?
  • 那么V = (A + (C·U - A·U) * U - C)/||(A + (C·U - A·U) * U - C)||?
  • @Eric - * 是点积,是的,您已正确扩展它。
  • 这相当于规范化((A - C) + (C - A)·U * U)
  • (注意 - 感谢@Mouagip 注意到第一个等式中缺少||。)
猜你喜欢
  • 1970-01-01
  • 2021-06-16
  • 2013-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-29
  • 1970-01-01
相关资源
最近更新 更多