2009-09-06 1 views
0

concrete example http://img246.imageshack.us/img246/602/6x7gridsm.pngКак получить адрес точки (х, у) в сетке размеров (ш, ч)

По адресу я имею в виду расположение, если вы подсчетом слева направо, сверху вниз, начиная с 0

Я знаю, как получить адрес данной точке (х, у) в сетке размеров (ш, ч)

address = (y * w) + x 

То есть, в сетке 7 х 6 единиц, точка (2, 5) дает адрес 37 (см. иллюстрацию выше)

Как получить точку (х, у), заданный адрес 37 и сетки (7, 6)

ответ

4

Из вашего описания, это выглядит, как вы делаете столбец первой адресации. В этом случае вы можете найти x, вычислив (адрес% w). Когда у вас есть x, вы можете получить y путем вычисления (address-x)/w.

+0

быстрый пистолет на Западе, сэр – willc2

+1

'y' просто' адрес/w' без какой-либо дополнительной работы, если индексация начинается с нуля и деление целое. – hobbs

1
x = address mod w<br> 
y = address div w 
Смежные вопросы