如何获得两个向量的 x 或 y 角度?
我知道我可以通过两个向量的点积得到它们的总角度,但是如果我只想将角度分解为 X 角度和 Y 角度的分量怎么办?
I know I can get the total angle of two vectors by the dot product of them both, but what if I just want to break down the angle into components of angle by X and angle by Y?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您没有说明 2D 与 3D...但是...
对于 3D 向量:angle = acos(v1•v2)...在获得点积之前对 v1 和 v2 进行归一化。
您其他问题的答案可以在这里找到:数学 - 向量之间的角度< /a>
You didn't state 2D vs 3D....but...
For 3D vectors: angle = acos(v1•v2)...normalize v1 and v2 before getting the dot product.
Answers for your other questions can be found here: Maths - Angle between vectors
例如,使用向量
A
和B
。 <代码>A. B = |A||B| cos(角度) 用于 3d 向量或 2d 向量。Use the vectors
A
andB
, for instance.A . B = |A||B| cos (angle)
for 3d vectors or 2d vectors.这取决于您所说的“X”和“Y”的含义。如果您的意思是获取向量轴上的角度,您将需要使用反三角学,最有可能的是
atan2
。此参考适用于 C++,但该函数应该以相同的方式工作大多数语言。
It depends on what you mean by by X and by Y. If you mean get the angle on an axis of a vector, you will want to use inverse trigonometry, most likely
atan2
.This reference is for C++, but the function should work the same way for most languages.
角度是标量,而不是向量。它们没有像向量那样的组件。
您是否要求表示两个向量之和的向量分量?它具有 x 和 y 方向的分量。
这个问题没有任何意义。请修改,以便我们为您提供帮助。
Angles are scalars, not vectors. They don't have components like vectors do.
Are you asking for the components of the vector that represents the sum of the two vectors? That has components in the x- and y-directions.
This question makes no sense as written. Please revise so we can help you.