Vector 如何得到两个向量的x或y角?
我知道我可以通过两个向量的点积得到两个向量的总角度,但是如果我只想把角度分解成角度X和角度Y的分量呢?这取决于X和Y的意思。如果你的意思是得到向量轴上的角度,你需要使用逆三角法,最有可能的是Vector 如何得到两个向量的x或y角?,vector,product,angle,Vector,Product,Angle,我知道我可以通过两个向量的点积得到两个向量的总角度,但是如果我只想把角度分解成角度X和角度Y的分量呢?这取决于X和Y的意思。如果你的意思是得到向量轴上的角度,你需要使用逆三角法,最有可能的是atan2 是C++,但是函数对于大多数语言都是一样的。 角是标量,不是向量。它们不像向量那样有分量 你是在要求向量的分量代表两个向量的和吗?在x和y方向上具有组件的 这个问题写得毫无意义。请修改,以便我们可以帮助您。您没有说明2D与3D……但是 对于3D矢量:角度=acos(v1•v2)…在获得点积之前,对
atan2
是C++,但是函数对于大多数语言都是一样的。
角是标量,不是向量。它们不像向量那样有分量
你是在要求向量的分量代表两个向量的和吗?在x和y方向上具有组件的这个问题写得毫无意义。请修改,以便我们可以帮助您。您没有说明2D与3D……但是 对于3D矢量:角度=acos(v1•v2)…在获得点积之前,对v1和v2进行规格化
其他问题的答案可以在这里找到:例如,使用向量
A
和B
<代码>A。B=| A | B | cos(角度)用于三维矢量或二维矢量 胡?什么?什么是“X的角度”?没有“X的角度”或“Y的角度”。向量有X和Y分量,但标量(如角度)没有。你需要更详细地解释你想做什么。是的,我指的是x和y方向的角度分量。抱歉搞混了!什么向量的分量?点积中的两个向量?每个都有自己的组件。两者之和还是之差?交叉积?你的问题仍然毫无意义。假设我有两个向量(0,0,1)和(0,1,0)。在这种情况下,角度为90度。y轴上的角度为90度,x轴上的角度为零度。我想在任意角度下都能搞清楚。你完全搞不清楚。你在说什么角度?这两个向量的点积为零,因为它们彼此正交。你关于“y轴上的角度…”的说法是完全错误的。两个向量之间的角度是acos(V1点V2)。在上面的例子中,我得到了90度。如果它们是地球上的点,一个在北极,另一个在赤道。如果我从赤道开始,我旋转90度(旋转轴是X轴-对不起,我之前说过y轴)到达另一个向量。我应该能够分解地球上任意两个点,分别以X度和Y度的旋转轴旋转。抱歉,如果这现在更令人困惑!