A pram chart in X3D


A pram chart is a graphical method of displaying a set of measurements of emotional turmoil. In this technology demonstrator, the focus will be on a simple pram chart, with only one measurement (amplitude of emotional turmoil) considered for each named variable.

Note that the measurement is on a scale of 0 to 1 (0.1 being vegetative, zero equating to the emotional turmoil of a mineral deposit), and is directly proportional to the initial positive vertical (y) velocity of each toy. In the simple pram chart, horizontal velocities in the x-z plane are constant and have no significance.

The following technologies are demonstrated:

and concepts:

  • generating graphical charts from XML data
  • custom data schema
  • basic mathematical solutions for automating 3D layouts and physics-based animation

amongst others.


Take a simple dataset XML input, based on a custom schema, and transform it with a patiently-crafted XSLT stylesheet, and you get something like this pram chart example. The example is not embedded in a HTML page; you are advised to view it at screen width to fit in the prams.

You will likely need an X3D plug-in. It's been tested with Octaga and Instant Player, but FreeWRL crashes.

There is an optional InfoPath dataset form which can be used to fill in the source data, although the form submission doesn't yet work, so the transformation must still be done manually or programmatically.

Source files

Here is the archive of source files to download.


Creative Commons License
A pram chart in X3D by Tavis Reddick is licensed under a Creative Commons Attribution-Share Alike 2.5 UK: Scotland License.


I found X3D: Extensible 3D Graphics for Web Authors to be an indispensable reference work for X3D.


This demo was partly inspired by an idea from Roddy McIver.