Apparatus

Apparatus is a hybrid graphics editor and 网际直通车 for creating interactive diagrams.

The Apparatus Editor runs in the browser and interactive diagrams created with Apparatus can be shared and embedded on the web (coming soon).

Apparatus is free, open-source software, under development on GitHub.

Launch Apparatus Editor

老佛爷加速器

Cycloid
Joshua Horowitz
网际直通车
Paula Te
Potted Plant
网际直通车
网际直通车
Quadradic Bezier
网际直通车
Circumference
网际直通车
Involute
Matthias Graf
Tides
Toby Schachman
网际直通车
Arm Linkage
Toby Schachman
Face
Toby Schachman
网际直通车
网际直通车
Toby Schachman
Star
网际直通车
网际直通车
Slider
Toby Schachman
网际直通车
Color Picker
Toby Schachman
网际直通车
Bar Chart
网际直通车
Cartesian Plot
Toby Schachman

老佛爷加速器

1. Make a Face

2. Make a Clock

3. Make a Color Picker

网际直通车

5. Make a Plot

6. Make a Polygon

老佛爷加速器

老佛爷加速器

老佛爷加速器

One-liners will be evaluated.

网际直通车
8

If you have a multi-line expression, use 网际直通车 at the end.

var x = 32;
return x * x;
1024

All of the javascript Math constants and methods are in scope.

abs(-3) + sin(PI)
3

Additionally, the constant TAU (2*PI) is in scope.

cos(TAU / 6)
0.5

A color utility function rgba(r, g, b, a) is in scope.

rgba(1.0, 0.5, 0.5, 0.5)
"rgba(255, 128, 128, 0.5)"

Use spread to create spreads.

Create a range:

spread(0, 5)
0, 1, 2, 3, 4

Create a range with an increment:

spread(0, 5, 0.5)
0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5

Turn a javascript array into a spread:

spread([0, 2, 3, 5])
0, 2, 3, 5

老佛爷加速器

Apparatus is still an early stage project so there are likely bugs. Please report any issues on the GitHub Issues page. Thanks!

Apparatus aims to support all modern browsers but has been mostly tested in Chrome.

Apparatus will auto-save your diagram. If it crashes (stops working), try refreshing and your diagram will be restored to its last working state.

老佛爷加速器

Apparatus is under active development. Discuss how Apparatus should evolve on the Apparatus Google Group.

Source code is available on GitHub under the MIT license. Contributions are very welcome! Big thanks to all who have contributed code to Apparatus.

Apparatus was originally developed by Toby Schachman as a research project within the Communications Design Group (CDG) sponsored by SAP Labs. Thanks to Bret Victor, Paula Te, Matthias Graf, Michael Nagle, Chaim Gingold, Robert Ochshorn, Glen Chiacchieri, Joshua Horowitz, Ian Johnson, Simon Last, Ivan Zhao, Emily Eiffler, Vi Hart, and Monique DeSalvo for design discussions, beta testing, and encouragement!