Basically, I'm trying to accomplish what the following images show:

This:


into this:



When you mouse over one of the tiles, the tiles surrounding it move away and scale/skew accordingly.

How would I go about calculating something like this? Have each tile track its surrounding tiles and always stay a specified distance away?

Has anyone done something similar to this and could possibly explain how they did it? I would prefer an explanation over an flat .fla or component. I want to understand how to do this.