所以我在python中有一个程序,我有一些点,在按键上我需要让它们沿轴旋转,所以按x它将围绕x轴旋转,按y表示y,按z表示z。
我很确定我的代码布局正确,首先我定义了我的旋转值
x_rot = 1
y_rot = 1
z_rot = 1
接下来我设置我的数学值:
#setup angles for rotation
angle = 1
rad = angle * math.pi / 180
cose = math.cos(rad)
sine = math.sin(rad)
然后,我将 xy 和 z 点设置在名为 Xs、Ys 和 Zs 的列表中,格式如下:
Xs=(12.0, 25.0, 10.0, 22.0)
Ys=(2.0, 15.0, 12.0, 27.0)
Zs=(21.0, 23.0, 1.0, 12.0)
接下来,我设置按键以将我的坐标值乘以旋转矩阵,这样当我按下键盘上的 x 按钮时,我的点围绕 x 轴旋转。
done = False
while done == False:
# ALL EVENT PROCESSING SHOULD GO BELOW THIS COMMENT
for event in pygame.event.get(): # User did something
if event.type == pygame.QUIT: # If user clicked close
done = True # Flag that we are done so we exit this loop
# User pressed down on a key
elif event.type == pygame.KEYDOWN | event.type == pygame.KEYUP:
if event.key == pygame.K_x:
y_rot == Ys*cose(angle)-Zs*(angle)
z_rot == Ys*sine(angle)-Zs*cose(angle)
x_rot == Xs
然后我运行我的代码,它工作正常,直到我按下 x 按钮旋转它。当我按下按钮时,我收到一条错误消息
typeerror 'float' object is not callable
它引用了这一行
y_rot == Ys*cose(angle)-Zs*(angle)
我有一种感觉,这是一个简单的修复,但我就是想不出它可能是什么。