Dynamic Tensegrity Views

Java1-Based Tensegrity Viewer

Last revision: June 13, 2008

This is a Java1-based interactive viewer for some tensegrity structures from the Synergetics Gallery. Most are tensegrities and from there anyway. To aid visualization, the colors on the rear half of the model are faded versions of the ones on the front half of the model. For those models that are tensegrities, the struts are drawn in black (or grey when faded) and the tendons are drawn in other colors. For clarity, except for the 4ν Dome and 10ν Sphere, the double-layer tensegrities' interlayer tendons don't appear. In contrast, the Java3D version of the viewer does display the interlayer tendons. This version of the viewer strives for maximum compatibility with early versions of Java.


The choice box allows a model to be chosen. A tetrahedron has been provided as the initial model to help new users orient themselves.

To rotate the figure, press and hold down the left mouse button in the viewing area and move the mouse across the viewing area. The front of the model rotates in the direction the mouse is dragged.

To shift the figure, press and hold down the CTRL key while pressing and holding down the left mouse button in the viewing area and moving the mouse in the desired direction of shift. You can move between the shift and rotation mode simply by pressing (takes you from rotation mode to shift mode) or releasing (takes you from shift mode to rotation mode) the CTRL key while moving the mouse with the left button pressed. It's easy once you get used to it.

The right scrollbar allows a magnification of the figure by up to eight times.


Even with the differential shading, it can be tough to figure out what's the front and what's the back, especially for the smaller models. Rotating a bit helps. If it doesn't look like the front is rotating in the direction you are dragging the mouse, try imagining what you currently think is the back is actually the front and things should fall into place.

For the tensegrity domes and spheres, the quick and dirty nature of the depth sorting algorithm means every once in awhile a line will appear on top of a close neighbor it is actually in back of. Rotating the figure can help clarify things.

The Viewer

Here's a link to a nicer picture of a variation on the 2v Octa Sphere. It shows the interlayer tendons which form the basis of the variation.

Contact Information

Bob Burkhardt
Tensegrity Solutions
Box 426164
Cambridge, MA 02142-0021

e-mail: bobwb@juno.com

Your comments are welcome. The relevant source code files are TView.java, ModelMenu.java, ThreeD.java, CompactModel.java, Model3D.java, tuple3d.java and matrix3d.java. TView.java also functions as a stand-alone Java application program. In this mode, it does the same thing as the applet, but looks for the model data files on the local file system.

For the adventurous who have augmented their Java runtime environment with Java3D, a version of the viewer for Java3D is available. It displays all the structures more clearly without the second problem mentioned in the Caveats above, and the first problem is mitigated to a fair degree.

The model data files are available in the "models" subdirectory of the directory this file is in. The meaning of each line of text in a data file is determined by the first character on the line. The first character is either "#", "v" (stands for "vertex") or "l" (stands for "line"). Text lines starting with "#" are comments and are ignored. Text lines starting with "v" are coordinate data for the points (a.k.a. vertices). Cartesian x, y and z values are given in floating-point format. Text lines starting with "l" indicate how geometric lines connect the points. The data are three integers. The first two integers are zero-based indexes into the vertex array. The third integer is a "type" value and determines the color of the geometric line. For tensegrities, geometric lines where the type (mod 8) is 1 are struts. The others are tendons. For some of the complex double-layer spheres and domes, for clarity the interlayer tendons are not visible, but the data for those geometric lines is present in the files with a type value of zero.

Dynamic Tensegrity Views