Pracuję z rodzimą klasą, która reprezentuje obraz 2D jako tablicę 1D. Jeśli chcesz na przykład zmienić jeden piksel, musisz teraz dowiedzieć się, jak uzyskać indeks ze x,y
współrzędnych.
Powiedzmy, że mamy taką tablicę 1D array1d
:
array1d = [ a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y ]
W kontekście naszego programu array1d
reprezentuje siatkę 2D:
a b c d e
f g h i j
k l m n o
p q r s t
u v w x y
I chcemy wykonywać array1d
takie operacje , jak:
- Uzyskaj wartość we
x,y
współrzędnych (w tym przykładzie1,2
dałobyl
) - Uzyskaj dowolną podsiatkę za pomocą
x,y,width,height
(1,2,2,2
dałoby[l, m, q, r]
) - Ustaw wartość dla dowolnej
x,y
współrzędnej (itp.)
Jak to robimy?