Код: Выделить всё
self.center = np.zeros(3)
< /code>
self.center
Код: Выделить всё
self.arc_ball.Transform[3, :3] = -self.arc_ball.Transform[:3, :3].T @ self.center
self.view_matrix.write((orthographic * lookat * self.arc_ball.Transform).astype('f4'))
< /code>
As far as the panning goes, it is all written in the mouseMoveEvent
Код: Выделить всё
elif event.buttons() & Qt.MouseButton.MiddleButton:
# Panning logic
x_movement = event.x() - self.prev_x
y_movement = event.y() - self.prev_y
self.center[0] -= x_movement * (self.camera_zoom / 10)
self.center[1] += y_movement * (self.camera_zoom / 10)
self.prev_x = event.x()
self.prev_y = event.y()
self.update()
< /code>
Both self.prev_x
Код: Выделить всё
elif event.buttons() & Qt.MouseButton.MiddleButton:
self.setCursor(Qt.CursorShape.ClosedHandCursor)
self.prev_x = event.x()
self.prev_y = event.y()
< /code>
I tried to use self.center[2] += y_movement * (self.camera_zoom / 10)
Подробнее здесь: https://stackoverflow.com/questions/794 ... improperly