我的numpy(Python)的旋转矩阵无法工作。

4

我正在编写一个程序,用于在各种变换下显示矩阵,除了我的旋转矩阵之外,所有矩阵都能正常工作。我尝试过调整它,但似乎没有任何效果。

y = input("how many degrees do you want to rotate the shape around the origin?:    ")
j = array([(cos(int(y)), -sin(int(y))), (sin(int(y)), cos(int(y)))])
print(j.dot(w))
input("enter to exit")
2个回答

10

正如Python文档中关于cossin的说明,参数应该是弧度而非角度

你可以使用math.radians函数将角度转换为弧度。


2

您的矩阵定义不正确。请尝试:

rotMatrix = array([[cos(angle), -sin(angle)], 
                   [sin(angle),  cos(angle)]])

如果您定义了一个向量,比如说:
vector = array([1, 0])

您可以使用矩阵乘法方法'点'将此向量绕原点旋转:

vector = rotMatrix.dot(vector)

这个向量应该围绕原点旋转 angle 度(角度以弧度表示,如前所述)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接