Вот блин навернули-то...
Имхо всё проще:

Код:
cv = Math.floor( TBH / V ); // число эконок, влезающее в экран по вертикали
pv = i % cv; // номер эконки по вертикали
ph = ( i - pv ) / cv; // номер эконки по горизонтали
x = ph * H + H/2; // позиция по горизонтали
y = pv * V + V/2; // позиция по вертикали
Сделано в предположении, что origin эконки находится в её центре.
Если это не так - сам сообрази, что подставить вместо H/2 и V/2.