As for placement, let me make a couple of observations.
You'll do better to think about x,y placement from the upper left corner of the figure than from the center...that's where the computer will start drawing, upper left corner.
These figures are all equal, however. So the distance center-to-center will be exactly the same as the difference upper left to upper left.
Next, you are thinking, it seems, at placing the figures on a diagonal. That's a good place to start, but not very helpful place to end.
In fact what you're probably going to do is place rows with gaps and columns with gaps:
Assume the height of the figure is 10px, width 10px
To start your grid, you place figures at
0,0
0,20
0,40
0,60
etc
next row is half way down. Place figures into the gaps created by the first row
5,10
5,30
5,50
etc
Next another row...again figures into gaps
10,0
10,20
10,40
10, 60
etc
Just a thought on how to proceed.