Я хочу создать стрелу, которую можно контролировать с помощью клавиатуры! Вращение на 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()
Извините за слишком туп, чтобы вставить свой код здесь, так here's, добавленным ... Upload
Спасибо за помощь, если вы не понимаете мою проблему, просто комментарий пожалуйста!
ну, но что, когда его ось = (0,0,1), «смотрит» ко мне, как я могу тогда вращать ее, чтобы иметь ось (0,1,0)? – m00lti
Просто поверните на -90 градусов (или -pi/4 радиан) вдоль оси x. –