如何求点和线之间的单位向量?

发布于 2024-09-17 10:42:46 字数 361 浏览 4 评论 0原文

我有三个已知的 3 维点:ABC

另外,我还有第四点,X

X 位于向量 AB 上,使得向量 CX 垂直于向量 AB。那么AB·CX = 0

如何求CX的单位向量呢?


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

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

I have three known 3-Dimensional points: A, B, and C.

Addtionally, I have a fourth point, X.

X lies on vector AB such that vector CX is perpendicular to vector AB. So AB · CX = 0

How do I find the unit vector of CX?


The use-case here is that I am constructing a (translated) rotational matrix, where the origin is A, the z-axis passes through B, the xz-plane passes thtough C, and the axes are orthogonal

I also have a vector object that provides dot and cross product functions at my disposal.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

最美的太阳 2024-09-24 10:43:09

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

Let

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

be a unit vector along the line from A to B, where ||X|| denotes the length of vector X. Now we can parameterize the entire line by

A + tU

and we want

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

so that

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

so we've solved for t, and now we let

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

and we have our unit vector along the line, U, and one orthogonal to it, V.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文