the javascriptorium,
behind the scenes
What does it take to program a complex animation such as the javascriptorium?

Some of the ingredients are revelaled via the following real-time 3d demos...

technical requirements

  • • A fast computer (pc, mac or linux) with a decent graphics card (i.e. 3d acceleration) and up-to-date drivers.
  • • Java, version 1.4 or greater (installable from here...)

related works


hands-on...

Wondering how real-time 3d programming tastes like? The processing community might be the best place on earth for a degustation.
Today's menu: procedural surfaces and dimensional text...

procedural water


In the reference work, water surface is represented by a single spiral-shaped line.

Water surface is simulated by superposing a series of sinusoidal waves. All the wave trains share the same period but each one is travelling in a different direction, with its own amplitude and wavelength.

This relatively simple technique is appropriate for simulating deep-water waves, with no influence from the water's bed (e.g. breaking waves) and without interferences (e.g. refraction effects near the coast...)

procedural desert


In the reference work, desert is represented by means of lines and text.

At the base of most procedural terrain generation techniques stands a two-dimensional grid where each point is given a particular elevation...

In our case, the height coordinates are generated using Perlin Noise which produces random while locally-harmonic values.

The produced data is then sampled transversally to produce continuous curves that in turn will serve as support for text.

procedural cliffs


In the reference work, cliffs are represented by means of lines and text.

As for the desert, the cliffs are generated using Perlin Noise, with different parameters and with an additional effect of posterization.

Perlin Noise (originally developed to generate textures for the movie Tron in the early 80's) is widely used in computer graphics whenever it is required to reproduce patterns found in nature (mountains, clouds, smoke, fire, fur...)

infinite text field: fly-through


In the reference work, text mapped on a terrain is scrolling through indefinitely.

Text is classically laid-out in lines forming horizontally-bounded columns. In order to provide the full-coverage of a surface by text while keeping meaning, new solutions had to be invented...

The system used here enables to turn any piece of text into an infinite text field, readable on both horizontal and vertical axes.

Demonstration of the principle using President Wilson's 14 points as textual source...

infinite text field: multiple-surface flow


In the reference work, text mapped on contiguous walls is flowing indefinetely.

In continuation to the previous example, it is possible to split an infinite text field into several surfaces positioned in three-dimensional space.

Once the surfaces are defined and the relation between them is established, it is possible to make the whole infinite text field flow indefinitely...
© september 2006  ariel malka | chronotext.org