Comment mapper des coordon�es 3d vers un index?
Bonjour � toutes et � tous,
J'ai un grand ensemble de points r�partis dans un espace 3D (voire possiblement un espace en plus grandes dimensions) sous forme d'une lattice homog�ne comprise entre [-n, ..., n]^d
Je souhaite pouvoir indexer ces points dans un simple tableau en 1 dimension pour pouvoir les trouver sans parcourir mon tableau. Par exemple associer les coordonn�es suivantes aux indexes:
{x1, y1, z1} donne idx1
{x2, y2, z2} donne idx2
{x3, y3, z3} donne idx3
etc.
Avec une pr�cision: la lattice en 3d est centr�e en {0,0,0} (donc {x1,y1,z1} = {0,0,0}).
Il me faut donc une fonction bijective de mapping qui, pour chaque point 3D, associe un index dans mon tableau. Ainsi quand je me trouve en {x1,y1,z1} je sais que dans mon tableau je peux aller chercher la valeur correspondante � l'indice 'idx1'.
Je dois r�aliser cette op�ration un grand nombre de fois (de l'ordre de 10^13 fois au minimum, sans doute beaucoup plus).
Que me conseilleriez vous d'utiliser? je ne trouve pas de fonction de mapping.
Ma question porte vraiment pour la 3D mais s'il est possible de g�n�raliser � 'd' dimensions avec d dans [1, n], ca m'int�resse aussi (mais c'est secondaire).
Merci
Edit: Je me suis tromp� de cat�gorie, est-il possible de d�placer ce post dans la section C/C++ ? Merc