Spróbuję wytłumaczyć metodę.
Przyjmijmy, że d-szerokość obrazka. Mamy więc zależność d/32 = n, gdzie n to ilość możliwych do ułożenia w rzędzie kafelków.
Teraz bierzemy operację modulo. (k-1)%n = x, gdzie k to numer kafelka. Teraz to trochę objaśnie. operacja modulo zwraca resztę z dzielenia k/n. Czyli jeżeli mamy 4 kolumnową tabelę i badamy pozycję 11 kafelka to x = 2 czyli mamy współżędną x-ową tego kafelka.(U Ciebie na załączonym obrazku ten punkt ma współżędą x=1, tak dla lepszego wyjaśnienia, żeby nie brać tego, która to kolumna tylko rzeczywistą współrzędną). Modulo zwróci 0 jak punkt jest na krawędzi obrazka a 3 jeśli kafelek przylega do prawej stronu obrazka. Ta -1 bierze się z warunku dla brzegowych kafelków. bez niej wychodziłoby, że 4 kafelek jest pierwszy w drugim rzędzie.
Dobra teraz została jeszcze współrzędna y-owa. W tym wypadku tylko dzielimy i obkładamy funkcją podłoga(rzutowanie na int lub w C/C++ funkcja floor()) (k-1)/n = y. Sprawdzamy ile rzędów jesteśmy w stanie zapełnić tą liczbą kafelków. Ta -1 jak wyżej bierze się z warunku dla brzegowych kafelków. Czyli jeżeli mamy ten 4 kafelek po pozieleniu przez 4 daje 1 a nie 0 jak wyjść powinno.
Tylko trzeba pamiętać, że układ jest odwrócony(oś y rośnie w dół a nie w górę). Mam nadzieję, że zrozumiale to wyjaśniłem. Ambitny przykład w paincie ;)