Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mikolalysenko/arcball

A simple library-agnostic arcball camera in Javascript
https://github.com/mikolalysenko/arcball

Last synced: about 2 months ago
JSON representation

A simple library-agnostic arcball camera in Javascript

Awesome Lists containing this project

README

        

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 ([email protected]). MIT License