您的位置:首页 > 其它

水波

2010-03-11 14:08 78 查看
/* h = A*sin(2*pi*W*t)*/
int dx, dy; /* Disturbance Point */
float s, v, W, t;
int i, j;

dx = WSIZE >> 1;
dy = WSIZE >> 1;
W = 0.3;
v = -4; /* Wave speed */

for (i=0; i<WSIZE; i++)
for (j=0; j<WSIZE; j++)
{
s = sqrt((j-dx)*(j-dx) + (i-dy)*(i-dy));//距离中心点越远s越大
wt[i][j] += 0.1;
t = s/v;
water[i][j] = A*sin(2*PI*W*(wt[i][j]+t));//距离中心点相同的点具有相同的t值,也就具有了相同的振幅。也就是整个面呈现正形波状态。
//针对同一个点,由于t值一直相同,故增加一个值,这样同一个点的波形在变化,所有的点增加
//相同的值。
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: