www.pudn.com > speckle.rar > speckle.c


	#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;  
	}