2009-09-06 10 views
0

concrete example http://img246.imageshack.us/img246/602/6x7gridsm.pngComment obtenir l'adresse du point (x, y) dans une grille de taille (w, h)

Par adresse, je veux dire l'emplacement si vous comptiez gauche à droite, de haut en bas, en commençant par 0

Je sais comment obtenir le point donné d'adresse (x, y) dans une grille de taille (w, h)

address = (y * w) + x 

C'est, dans une grille 7 x 6 unités, le point (2, 5) donne l'adresse 37 (voir l'illustration ci-dessus)

Comment puis-je obtenir le point (x, y), adresse donnée 37 et la grille (7, 6)

Répondre

4

D'après votre description, il semble que vous faites La première colonne d'adressage. Dans ce cas, vous pouvez trouver x en calculant (adresse% w). Une fois que vous avez x, vous pouvez obtenir y en calculant (adresse-x)/w.

+0

le plus rapide pistolet à l'ouest, monsieur – willc2

+1

'y' est juste'adresse/W' sans travail supplémentaire si l'indexation est basé sur zéro et la division est entier. – hobbs

1
x = address mod w<br> 
y = address div w 
2
x=Address MOD w 
y=Address INT_DIV w 
Questions connexes