2013-06-24 2 views
0

Это моя маленькая программа на Python Использование Vpython Я хочу повернуть коробку. Я хочу использовать ось ящиков, а не одну из сцен. так, например, если он повернут вправо, а затем я хочу получить «нос» вниз, я хочу сделать это в поле зрения ... представьте себе, что я был струей;) BTW: I'ma python 3[Python] obj.rotate по определенному объекту

from visual import * 
a=box(size=(5,1,3),axis=(1,0,0)) 
def tasten(): 
    "Looooopings " 
    if scene.kb.keys: #action on keyboard? 
     druck=scene.kb.getkey() #save to cache 
     if druck=='left': 
     a.rotate(angle=-1/100, axis=(1,0,0)) #links drehen 
     if druck=='right': 
     a.rotate(angle=1/100, axis=(1,0,0)) #rechts drehen 
     if druck=='up': 
     a.rotate(angle=-1,axis=(0,0,1)) #nose down 

while True: 
    tasten() 
+1

Вам необходимо отслеживать ориентацию объекта - в каком направлении он «указывает» - и использовать его как ось вращения. – martineau

ответ

1

Я бы рекомендовал создать класс ящиков, в котором хранится ориентация, как предлагает мартини. Класс будет иметь вектор, который сохраняет свою ориентацию, а затем метод для его вращения любым способом.