Я могу повернуть импортированный файл stl. Однако, когда я пытаюсь вращать его с помощью QTimer случайным числом каждую секунду, он не работает. Хотя пишутся случайные числа, при запуске просто вращается, после этого нет. Как это сделать?
Код здесь:
class Canvas(FigureCanvas, FuncAnimation):
def __init__(self, parent=None, width=0, height=0, dpi=55):
self.fig = Figure(figsize=(8, 7.5), dpi=57)
self.fig.patch.set_facecolor('#efefef')
self.fig.patch.set_alpha(0)
FigureCanvas.__init__(self, self.fig)
self.setParent(parent)
self.ax6 = self.figure.add_subplot(111, projection='3d')
self.ax6.get_xaxis().set_visible(False)
self.ax6.set_xlim(-150,250)
self.ax6.set_ylim(-200,200)
self.ax6.set_zlim(0,400)
self.ax6.set_facecolor('#efefef')
self.m1 = mesh.Mesh.from_file('assets/uydu.stl')
self.timerRotation = QtCore.QTimer()
self.timerRotation.timeout.connect(self.rotator)
self.timerRotation.start(1000)
def rotator(self):
self.degree = random.randint(0, 360)
print(f"{self.degree} degree" )
self.m1.rotate([0, 1, 0], math.radians(self.degree))
self.ax6.add_collection3d(mplot3d.art3d.Poly3DCollection(self.m1.vectors,edgecolor='k'))
scale = self.m1.points.flatten()
self.ax6.auto_scale_xyz(scale-10, scale+10, scale)