本文属spanzhang原创,其blog地址为:http://blog.csdn.net/spanzhang。引用或转贴请注明出处,谢谢!!
/*/////////////////////////////////////////////////////////////////////
文件:stdAfx.cpp
描述:PedalPoint预编译实现文件
作者:张友邦
时间:2004-09-02
声明:本文件系作者辛苦熬夜的产物,任何人使用本文件请保留本描述文本。
历史:
/*/////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////// #include"stdAfx.h"
namespace pb { ////////////////////////////////////////////////////////////////////// HANDLE eventMutex;
//返回一个[0,1]随机数 float rnd() { return (float)(::rand()) / (float)(RAND_MAX); }
//返回一个[0,max]随机数 float rnd(float max) { return rnd() * max; }
//返回一个[-1,1]之间的随机数 float rand() { return ((float)(::rand()) / (float)(RAND_MAX)) * 2.0f - 1.0f; }
float rand(float max) { return rand() * max; }
//返回一个随机的符号 float randSign() { return (::rand()>RAND_MAX/2?-1.0f:1.0f); }
//符号函数 int sign(float num) { if(num==0.0) return 0; else return (num>0.0f?1:-1); }
//用时间来初始化随机数 void initRandom() { time_t ltime; time(<ime); srand(ltime % 1000); ::rand(); }
float trwv(float r) { r = fabs( .5 * r ); r = 2 * ( r - floor( r ) ); if ( r > 1 ) r = 2 - r;
return r; }
float wrap(float r) { return r - floor(r); }
float sqr(float r) { return r * r; }
float clip(float r) { if ( r < 0 ) r = 0; else if ( r > 1 ) r = 1;
return r; }
float sgn(float r) { return ( r >= 0 ) ? 1 : -1; }
float pos(float r) { if ( r < 0 ) return 0; return r; }
float sqwv(float r) { return ( r >= -1 && r <= 1 ) ? 1 : 0; }
int trnc(float r) { return int(r); }
//绕一个特定点旋转特定的角度 void rotate(int& x, int& y, int cx, int cy, float theta) { int xx = x - cx; int yy = y - cy; x = xx * cos(theta) - yy * sin(theta) + cx; y = xx * sin(theta) + yy * cos(theta) + cy; }
////////////////////////////////////////////////////////////////////// };//namespace pb
////////////////////////////////////////////////////////////////////// //End of this file. 
|