2

キーボードで操作できる矢印を作りたい!xz プレーンでの回転はうまく機能しますが、独自の z 軸で回転させることはできません。これをチェックして...

だから私はシステム軸を使いたくない、矢印に相対する軸が欲しい!

from visual import *
from threading import Thread



class Pfeil(frame, Thread):
     "modelliert einen Pfeil"
def __init__(self, pos=(0,0,0), axis=(1,0,0)):
    frame.__init__(self, pos=pos, axis=axis)
    Thread.__init__(self)
    selfpointer = arrow(frame=self, pos=(0,2,1), axis=(5,0,0), shaftwidth=1)

def tasten(self):
    "Methode"
    if scene.kb.keys:
        taste=scene.kb.getkey()
        if taste=='left':
            self.rotate(angle=radians(5), axis=(0,1,0), origin=self.pos)
            print(self.axis)

        if taste=='right':
            self.rotate(angle=radians(-5), axis=(0,1,0), origin=self.pos)
            print(self.axis)

        if taste=='up':
            self.rotate(angle=radians(5), axis=(0,0,1), origin=self.pos)
            print(self.axis)


def run(self):
    while True:
        self.tasten()

私のコードをここに貼り付けるには愚かすぎて申し訳ありません。ここにアップロードします... アップロード

助けてくれてありがとう、私の問題を理解できない場合は、コメントしてください!

4

1 に答える 1

2

順不同で変換を行っているだけです。

非常に簡単な「ローカル」変換を行いたいとします。矢印を原点に戻し、z 軸を中心に回転させてから、元の位置に戻します。

これは、矢印のローカル座標系を維持すると簡単に実行できますが、目的にはやり過ぎかもしれません。

于 2013-07-02T14:01:04.553 に答える