I need to be able to generate a single random number and then use that number to seed a theoretically infinitely large 2d plane on the fly with boolean values. I need a function I can call that is deterministic with three inputs (x, y, and the random seed) and returns a pseudo-random result back:
int r = random()
//...
var value_for_point = f(x,y,r);
If I were to use this function to fill a 10x10 array with ones and zeros, it would ideally look the same as/similar to if I had asked for a random value for each cell as I went along, i.e. white noise. It doesn't have to be perfect - its not for statistical analysis. I just need to be able to recreate the array given the same random number.
I can't simply seed the random number generator for two reasons. First, I need this function to be based on x and y. I may call this function to fill the array between (0,0) and (10, 10), then later ask for the values between (-10,-5) and (3,4). Second, the language I'm using doesn't have a seed function.
I'm sure there's either a trivial way to do this that I'm not seeing or there's something int he domain of fractals that might help me. Anyone know how to do this?