对网上流传的水波算法的质疑

 我在研究你的水波程序时,认真的进行了研究了很长时间,我觉得网上流传的水波算法在推理的过程中有一些问题值得商榷。
 1。你推出公式4a+b=1的前提是能量守恒,水波的振幅之和不发生变化.
   如果真是能量守恒的话,应该是a=1/4,b=0
  这是因为该点的能量全部传给四周,而中心的能量传出去了。
   而若取a=1/2,b=-1则实际效果是能量增加,虽然振幅之和不变,但整个数据越来越大,振幅不断增加。中心点这么大的能量不足以产生这么大的振幅。
   而实质上能量正比于振幅的平方。
2.
   
    你的波能函数核心是:
 Buf2(i, j) = (Buf1(i, j - 1) + Buf1(i - 1, j) + Buf1(i + 1, j) + Buf1(i, j + 1)) /2 - Buf2(i, j)
’实质是Buf2(i,j)下一时刻的能量是周围四点的能量的一半减去Buf2(i,j) 上上一次的能量。    
 Buf2(i, j) = Buf2(i, j) - Buf2(i, j) /32
     
     Swap(Buf1,Buf2)
 
 
 
而不是你公式里所推导的:
 Buf2(i, j) = (Buf1(i, j - 1) + Buf1(i - 1, j) + Buf1(i + 1, j) + Buf1(i, j + 1)) /2 – Buf1(i, j)
   ’实质是Buf2(i,j)下一时刻的能量是周围四点的能量的一半减去Buf2(i,j) 上一次的能量。    
 
Buf2(i, j) = Buf2(i, j) - Buf2(i, j) /32
     
     Swap(Buf1,Buf2) ;若是Buf1这一步已有没有对结果无影响。
 
 
   式子一: 'buf2(i, j) = (buf1(i - 1, j) + buf1(i + 1, j) + buf1(i, j - 1) + buf1(i, j + 1)) / 2 - buf2(i, j)
       式子二: buf2(i, j) = Sqr((buf1(i - 1, j) ^ 2 + buf1(i + 1, j) ^ 2 + buf1(i, j - 1) ^ 2 + buf1(i, j + 1) ^ 2)) / 2 '- buf2(i, j)
 
 
式子三:Buf2(i, j) = (Buf1(i, j - 1) + Buf1(i - 1, j) + Buf1(i + 1, j) + Buf1(i, j + 1)) /4
'上式完整形式为buf2(i, j) =buf2(i, j)+ (buf1(i - 1, j) + buf1(i + 1, j) + buf1(i, j - 1) + buf1(i, j + 1)) / 4-buf2(i, j)
    '波能在自身原有的能量基础上从周围四个方向的波源获得其1/4的能量,再把自身的能量平均分成四份完全传播给周围四点。
    'buf2(i, j) = buf2(i, j) - buf2(i, j) / 32 '部分波能被水吸收
 
 
 
X(i-1,j)
 
X(i,j-1)
X(i,j)
X(i,j+1)
 
X(i+1,j)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
 
 
 
 
 
 
 
3
0
3
 
 
 
 
 
3
0
9
0
3
 
 
 
1
0
9
0
9
0
1
 
 
 
3
0
9
0
3
 
 
 
 
 
3
0
3
 
 
 
 
 
 
 
1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
 
 
 
 
 
8
0
8
 
 
 
4
0
16
0
4
 
 
 
8
0
8
 
 
 
 
 
4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
 
 
 
16
0
16
 
 
 
16
 
 
 
 
 
 
 
 
 
 
 
64
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值