A simple library-agnostic arcball camera in Javascript
JavaScript
Latest commit 3fcbffd May 14, 2013 @mikolalysenko adding LICENSE
Permalink
Failed to load latest commit information.
.gitignore Initial commit Jan 7, 2013
LICENSE adding LICENSE May 14, 2013
README.md Created camera class Jan 7, 2013
arcball.js Created camera class Jan 7, 2013
package.json Added package.json Jan 7, 2013

README.md

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