Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vector 如何得到两个向量的x或y角?_Vector_Product_Angle - Fatal编程技术网

Vector 如何得到两个向量的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)…在获得点积之前,对

我知道我可以通过两个向量的点积得到两个向量的总角度,但是如果我只想把角度分解成角度X和角度Y的分量呢?

这取决于X和Y的意思。如果你的意思是得到向量轴上的角度,你需要使用逆三角法,最有可能的是
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度的旋转轴旋转。抱歉,如果这现在更令人困惑!