Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void GenerateTerrain(double* arr,double pnt1,double pnt2,int len)
- {
- str.open("Data.txt");
- double* pOrig=arr;
- srand((unsigned)time(0));
- for(int i=0; i<len; i++)
- {
- (*arr)=(double)rand()/(double)RAND_MAX;
- arr++;
- }
- arr=pOrig;
- str<<"RANDOM##\n";
- for(int i=0; i<len; i++)
- {
- str<<i<<" : "<<*arr<<"\n";
- arr++;
- }
- Smooth(1.0002,pOrig,len);
- str.flush();
- str.close();
- }
- void Smooth(double smoothness,double* ptr,int len)
- {
- double* lPtr=0;
- double diff=50000;
- while(diff/len>smoothness)
- {
- lPtr=ptr+1;
- diff=0;
- for(int i=1; i<(len-1); i++)
- {
- (*lPtr)=((*lPtr)+(*(lPtr+1)))/2;
- if(*lPtr>*(lPtr-1))
- {
- diff+=(*lPtr)/(*(lPtr-1));
- }
- else
- {
- diff+=(*lPtr-1)/(*(lPtr));
- }
- lPtr++;
- }
- }
- lPtr=ptr;
- str<<"SMOOTHED\n";
- for(int i=0; i<(len-1); i++)
- {
- str<<i<<" : "<<*lPtr<<"DIFF: " << *lPtr-(*(lPtr+1)) <<"\n";
- lPtr++;
- }
- }
Add Comment
Please, Sign In to add comment