vispy.scene.cameras.turntable module

class vispy.scene.cameras.turntable.TurntableCamera(fov=45.0, elevation=30.0, azimuth=30.0, roll=0.0, distance=None, translate_speed=1.0, **kwargs)[source]

Bases: vispy.scene.cameras.perspective.Base3DRotationCamera

3D camera class that orbits around a center point while maintaining a view on a center point.

For this camera, the scale_factor indicates the zoom level, and the center indicates the position to put at the center of the view.


Field of view. Zero (default) means orthographic projection.


Elevation angle in degrees. Positive angles place the camera above the cente point, negative angles place the camera below the center point.


Azimuth angle in degrees. Zero degrees places the camera on the positive x-axis, pointing in the negative x direction.


Roll angle in degrees

distancefloat | None

The distance of the camera from the rotation point (only makes sense if fov > 0). If None (default) the distance is determined from the scale_factor and fov.


Scale factor on translation speed when moving the camera center point.


Keyword arguments to pass to BaseCamera.



  • LMB: orbits the view around its center point.

  • RMB or scroll: change scale_factor (i.e. zoom level)

  • SHIFT + LMB: translate the center point

  • SHIFT + RMB: change FOV

property azimuth

The angle of the camera in degrees around the y axis. An angle of 0 places the camera within the (y, z) plane.

property elevation

The angle of the camera in degrees above the horizontal (x, z) plane.

orbit(azim, elev)[source]

Orbits the camera around the center position.


Angle in degrees to rotate horizontally around the center point.


Angle in degrees to rotate vertically around the center point.

property roll

The angle of the camera in degrees around the z axis. An angle of 0 places puts the camera upright.