Como encontro o valor de hash de um vetor 3D?

Estou tentando executar a detecção de colisão de fase ampla com uma abordagem de tamanho de grade fixa. Portanto, para a posição de cada entidade: (x, y, z) (cada um do tipo float), preciso descobrir em qual célula a entidade se encontra. Pretendo então armazenar todas as células em uma tabela de hash e iterar através de para relatar (se houver) colisões.

Então, aqui está o que estou fazendo: Posição da célula de grade: (tipo int) (Gx, Gy, Gz) => (x / M, y / M, z / M) em que M é o tamanho da grade.

Uma vez que eu tenho uma célula, gostaria de adicioná-lo a uma tabela de hash, cuja chave é um hash exclusivo baseado em (Gx, Gy, Gz) e o valor é a própria célula. Agora, não consigo pensar em uma boa função de hash e preciso de ajuda com isso.

Alguém pode me sugerir uma boa função de hash?

obrigado

questionAnswers(4)

yourAnswerToTheQuestion