3D Pixels; Voxels
This part is most likely not the stuff most visitors came for, but it's still quite interesting.
A voxel is a volumetric pixel, or a three dimensional pixel.
There's a big gap between pixel art and voxel technology. Voxel
technology involves a lot of mathematics, like most computer-generated
imagery. It is used in medical or scientific computer graphics
applications, and more recently in games.
With some adjustments, voxel technology can also be used to generate
high-tech pixel art with a low-tech look. This can be done by hand, but
would be tremendously time consuming and not duplicable.
Voxels can be used to encapsulate polygons in a 3D environment. An
object or environment can be enclosed by one overall voxel. This overall
voxel, which encapsulates the object or environment, is divided down
into eight smaller voxels, and so forth. Just like the babushka doll:
voxels inside voxels inside voxels, etc.
As soon as a polygon completely fits inside a voxel, the polygon is
added to a list within the voxel information data. Along with data about
the position and size, etc., the list contains all the polygons that can
be found inside the voxel.
By dividing an object or environment into voxels, calculations needed
for shadow and/or reflections can be reduced dramatically.
To calculate if a point on a polygon casts a shadow, the computer has to
make sure no other polygon lies on the line between the light source and
the point on the polygon. If an object has 1.000 polygons, the computer
has to check if one of the 999 other polygons casts shadow... This is
very computational.
By using voxels, the calculations can be done much faster. Instead of
checking individual polygons, the voxels are checked. If a voxel (such
as a cube) doesn't cast shadow, the content within the voxel (smaller
voxels with polygons in it) can't either.
Although interesting, using voxels to speed up calculations is not relevant when creating pixel art.
By using a slightly different approach, an object can be divided into
voxels/cubes. A voxel is relevant as soon as (part of) a polygon lies
within the voxel. If a voxel is empty, it's not used.
The result of this approach is a number of cubes (see animation).
The 3D position of the cubes can be used to generate a 2D pixel art illustration.
By writing some software which does the job, the whole process can be automated and fairly easily duplicated.
LEGO®, HTML5 and Voxels
Besides making a static image, the data can also be used to create a pixel art animation in HTML5. Instead of using cubes, the fundamental minimum size of a LEGO® brick is used for the next HTML5 animation.
Besides making an animation, the data can also be used to build a real
LEGO® object, the size of one meter.
Unfortunately I had to pay for every single LEGO® brick, which made it a
quite expensive, but it still was a nice project.
Voxels, Lego & 3D printing
Voxels & Papercraft
The three-dimensional voxel model can be translated to a two-dimensional projection aswell.
Print it, cut it out and paste it together, and you have a physic model of your digital voxel object.