Noise ?

@dave1707 - aha so the value range of the noise.perlin output is used (your first/second examples) as the axes for x and y and your using the single output of the as the z value. My problem - not thinking in maths mode just thinking of a semi random value for the height in a heightmap for each x and y point.

Your third example is quite spectacular especially when you consider the array can be moved and expanded in real time and space - when you zoom into the array and move it around. Thanks again, time for me to try to use this.

@Bri_G All of the noise functions use x,y,z values as input and output a single value for that position. So any point in 3D space (x,y,z) has a noise value. By plotting the x,y values as a flat surface and the value returned by noise as the height, you can create unlimited landscapes.