TypeError:在我的python旋转矩阵上

TypeError:在我的python旋转矩阵上,python,matrix,rotation,Python,Matrix,Rotation,我想在python中设置一个旋转矩阵,可以将向量旋转5度: import math angle = math.radians(5) #define sine sine = math.sin #define cosine cosine = math.cos #rotation matrix rotMatrix = array([[cosine(angle), -sine(angle)], [sine(angle), cosine(angle)]]) 然而,

我想在python中设置一个旋转矩阵,可以将向量旋转5度:

import math

angle = math.radians(5)
#define sine
sine = math.sin
#define cosine
cosine = math.cos
#rotation matrix
rotMatrix = array([[cosine(angle), -sine(angle)],
                  [sine(angle),  cosine(angle)]])
然而,当我运行我的程序时,我的ROT矩阵出现了一个错误

TypeError: must be unicode character, not list
它在以下行中显示错误:

rotMatrix = array([[cosine(angle), -sine(angle)],
                  [sine(angle),  cosine(angle)]])
我不确定我做错了什么导致了这个错误?

只需更改:

sin = math.sin(angle)
cos = math.cos(angle)
致:

错误是,在将
sin
声明为浮点(
math.sin(angle)
返回浮点)后,试图调用
sin(…)

编辑

我建议您使用
numpy.array
而不是
array.array
,因为创建列表数组似乎是不可能的

或者更简单地说,使用如下列表:

rotMatrix = [[a, b, c],
             [d, e, f],
             [g, h, i]]
只要改变一下:

sin = math.sin(angle)
cos = math.cos(angle)
致:

错误是,在将
sin
声明为浮点(
math.sin(angle)
返回浮点)后,试图调用
sin(…)

编辑

我建议您使用
numpy.array
而不是
array.array
,因为创建列表数组似乎是不可能的

或者更简单地说,使用如下列表:

rotMatrix = [[a, b, c],
             [d, e, f],
             [g, h, i]]
只要改变一下:

sin = math.sin(angle)
cos = math.cos(angle)
致:

错误是,在将
sin
声明为浮点(
math.sin(angle)
返回浮点)后,试图调用
sin(…)

编辑

我建议您使用
numpy.array
而不是
array.array
,因为创建列表数组似乎是不可能的

或者更简单地说,使用如下列表:

rotMatrix = [[a, b, c],
             [d, e, f],
             [g, h, i]]
只要改变一下:

sin = math.sin(angle)
cos = math.cos(angle)
致:

错误是,在将
sin
声明为浮点(
math.sin(angle)
返回浮点)后,试图调用
sin(…)

编辑

我建议您使用
numpy.array
而不是
array.array
,因为创建列表数组似乎是不可能的

或者更简单地说,使用如下列表:

rotMatrix = [[a, b, c],
             [d, e, f],
             [g, h, i]]


您已将名称
sin
指定给
math.sin(角度)
sin
现在是一个数字,正弦为5度。当您试图呼叫sin(angle)时,您正在尝试呼叫一个号码。
cos
也是如此。将矩阵更改为使用
sin
cos
而不是
sin(角度)
cos(角度)
。或者,也许更好的办法是,将这些变量命名为
sinA
cosA
。有一个名为
sin
的函数和一个名为
sin
的变量(即特定角度的正弦值)是令人困惑的。

您将名称
sin
指定给了
math.sin(angle)
sin
现在是一个数字,正弦为5度。当您试图呼叫sin(angle)时,您正在尝试呼叫一个号码。
cos
也是如此。将矩阵更改为使用
sin
cos
而不是
sin(角度)
cos(角度)
。或者,也许更好的办法是,将这些变量命名为
sinA
cosA
。有一个名为
sin
的函数和一个名为
sin
的变量(即特定角度的正弦值)是令人困惑的。

您将名称
sin
指定给了
math.sin(angle)
sin
现在是一个数字,正弦为5度。当您试图呼叫sin(angle)时,您正在尝试呼叫一个号码。
cos
也是如此。将矩阵更改为使用
sin
cos
而不是
sin(角度)
cos(角度)
。或者,也许更好的办法是,将这些变量命名为
sinA
cosA
。有一个名为
sin
的函数和一个名为
sin
的变量(即特定角度的正弦值)是令人困惑的。

您将名称
sin
指定给了
math.sin(angle)
sin
现在是一个数字,正弦为5度。当您试图呼叫sin(angle)时,您正在尝试呼叫一个号码。
cos
也是如此。将矩阵更改为使用
sin
cos
而不是
sin(角度)
cos(角度)
。或者,也许更好的办法是,将这些变量命名为
sinA
cosA
。有一个名为
sin
的函数和一个名为
sin
的变量,这是一个特定角度的正弦,这让人很困惑。

谢谢,这很有意义,所以我更改了代码,现在我得到了一个新错误请参阅PostThank中的更正,这是有意义的,所以我更改了代码,现在我收到一个新错误,请参见PostThank中的更正,这是有意义的,所以我更改了代码,现在收到一个新错误,请参见PostThank中的更正,这是有道理的,所以我更改了代码,现在我收到了一个新错误,请参阅Post中的更正谢谢,这是有道理的,我更改了代码,现在我收到了一个新错误,请参阅postShow中的更正。除此之外,请将其分配给变量?我将其分配给rotMatrixAlso,请不要用正确的答案修改你的帖子,因为这个网站的目标是帮助每个有类似问题的人。下一次,改为创建另一个。我测试了代码,它正在工作。问题可能不在那里。你能发布整个错误跟踪吗?而且,我假设数组是
numpy.array
,不是吗?谢谢,这是有道理的,我更改了代码,现在我收到了一个新错误。请查看postShow中的更正。除此之外,请注意,您正在将其分配给一个变量?我正在将其分配给rotMatrixAlso,请不要用正确的答案修改您的帖子,因为这个网站的目标是帮助每个有类似问题的人。下一次,改为创建另一个。我测试了代码,它正在工作。问题可能不在那里。你能发布整个错误跟踪吗?而且,我