A Rabbit, Measured
Game worlds, maps and the scans behind film effects all have to travel. A shape turns out to be a stranger thing to shrink than a picture.
In 1993 Greg Turk, a researcher at Stanford, bought a clay rabbit in a shop on University Avenue in Palo Alto and took it back to the laboratory to scan.
The model that he and Marc Levoy published the next year has been tried on nearly every method for handling shapes since. Drag it round.
Inside a computer a shape is two lists. One gives the position of every point. The other says which three points make each triangle.
This rabbit has 35,947 points and 69,451 triangles. Written out plainly, that is 1.26 MB.
The methods from the first room do what they can, and xz brings it to 631 kB.
They see a file full of numbers. Nothing tells them it is a surface.
A method made for shapes starts with a question the others cannot ask. How exact does a point need to be?
The scan records positions far more finely than the clay was ever modelled. Every point can be moved to the nearest crossing of a grid instead. Drag the dial to make the grid coarser.
Next come the triangles. In a plain list each one names its three points afresh, although it shares two of them with the triangle beside it.
In 1999 Jarek Rossignac showed that you can walk across the surface from one triangle to the next and note only which way you turned. That costs about two bits a triangle. Here the rabbit is being rebuilt in the order of the walk.
The points themselves are guessed. Once one triangle is known, the far corner of the next usually lies close to where a parallelogram would put it.
Only the small miss is stored. The video room did the same with blocks of film, guessing first and sending the correction after.
The three ideas together are Draco, a format Google published in 2017. It brings the rabbit to 42.8 kB, which is 30 times smaller than the plain lists.
The grid alone would have left it at 526 kB. The walk and the guessing do most of the work, and the result is 15 times smaller than xz managed.
Make the grid too coarse and the rabbit turns to terraces, like a model built from stacked card.
At 6 bits it takes 20.5 kB, and one step of the grid is 2.5 mm.
Nearly every shape you meet online, in a game or on a map or in a shop where you can turn the goods round, has come through something like this.
The next room has no picture in it at all.