Does anyone know of a good hashCode() algorithm for a 3D point with doubles for X, Y and Z? The equals() method for the class returns true if X, Y and Z are equal for both objects and the compared object passes an instanceof test.
Thanks in advance, Michael Morris
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius - and a lot of courage - to move in the opposite direction. - Ernst F. Schumacher
Joined: Jan 30, 2000
Well, being lazy myself, I'd probably just use the basic algorithm recommended in Effective Java pp. 38-39:
Bloch advocates this sort of thing as generally yielding "reasonably good" hash functions, though usually not state-of-the-art. I'm not sure what might be better in this case, aside from one obvious possible improvement by precalculating the result 17 * 37 and thus skipping one multiplication. And the numbers 17 and 37 may be replaced by many other possibilities, preferably prime.
"I'm not back." - Bill Harding, Twister
Joined: Jan 30, 2002
I had done something similar to that. I probably shouldn't fret so much and could probably even use something involving distance to origin and individual coordinates. I will never have a coordinate over about 15000' and the granularity will be about 1/64". Michael Morris