www.pudn.com > speckle.rar > speckle.c, change:2008-07-15,size:804b
#include#include #include #define WIDTH 128 #define HEIGHT 96 int main() { int i, j; double randnum[WIDTH][HEIGHT], d = 0.04, a = sqrt(3 * d), z; //to store 1000 random numbers double src[WIDTH][HEIGHT], dst[WIDTH][HEIGHT]; srand(time(NULL)); //use current time as the random seed for(j = 0; j < WIDTH; j++) for(i = 0; i < HEIGHT; i++) { randnum[j][i] = rand()/(float)RAND_MAX; //convert random number to float in [0,1] src[j][i] = 50; //z = -d + (double)sqrt(12 * d) * (-d) * (randnum[j][i]-0.5); //z = d * (2 * randnum[j][i] - 1) ; z = -a + randnum[j][i] * (a +sqrt(12 * d) - a); dst[j][i] = src[j][i] + src[j][i] * z; printf("%4f ", dst[j][i]); } return 0; }