だから私は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)
次に、次の形式で Xs、Ys、および Zs と呼ばれるリストに xy および z ポイントを設定します。
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)
これは簡単な修正だと思いますが、それが何であるかはわかりません。