node package manager
Orgs are free. Discover, share, and reuse code in your team. Create a free org ยป

arcball

Arcball

A simple library-agnostic arcball camera in Javascript

Installation

npm install arcball

Example

var ArcballCamera = require('arcball').ArcballCamera;
var camera = new ArcballCamera();

// ... in mouse event handler
camera.update(mouse_x, mouse_y, {
  rotate:   mouse_left_clicked,
  pan:      mouse_right_clicked,
  zoom:     mouse_middle_clicked
});

// ... in rendering loop
var camera_matrix = camera.matrix();

API

ArcballCamera()

The main camera object

ArcballCamera.update(mouse_x, mouse_y, flags)

Updates the camera state using the mouse input. mouse_x and mouse_y are the x/y coordinates of the mouse, flags is an object containing the boolean flags rotate, pan, and zoom which determine how to rotate the camera.

ArcballCamera.matrix()

Returns a 4x4 homogeneous transformation matrix representing the position of the object relative to the arcball camera.

Acknowledgements

(c) 2013 Mikola Lysenko (mikolalysenko@gmail.com). MIT License