游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1517|回复: 3

水波算法的问题

[复制链接]

42

主题

140

帖子

158

积分

注册会员

Rank: 2

积分
158
发表于 2009-3-6 14:12:00 | 显示全部楼层 |阅读模式
水波算法的公式是X0'=(X1+X2+X3+X4)/ 2- X0 。x0,x1,x2,x3,x4是此刻的波的振幅。
为什么代码确实      
buf2 = ((buf1[i-1]+
buf1[i+1]+
buf1[i-BACKWIDTH]+
buf1[i+BACKWIDTH])
>>1)
- buf2; //这里。为什么不是buf1

30

主题

146

帖子

152

积分

注册会员

Rank: 2

积分
152
发表于 2009-3-6 14:39:00 | 显示全部楼层

Re:水波算法的问题

我是不懂哈,不过这个公式变一下就是
  2 * buf2 = ((buf1[i-1]+buf1[i+1]+buf1[i-BACKWIDTH]+buf1[i+BACKWIDTH])>>1)
=> buf2 = ((buf1[i-1]+buf1[i+1]+buf1[i-BACKWIDTH]+buf1[i+BACKWIDTH])>>2)
呵呵

42

主题

140

帖子

158

积分

注册会员

Rank: 2

积分
158
 楼主| 发表于 2009-3-6 17:58:00 | 显示全部楼层

Re:水波算法的问题

不能这么变,那个是赋值,不是等于

0

主题

56

帖子

62

积分

注册会员

Rank: 2

积分
62
发表于 2009-3-16 12:57:00 | 显示全部楼层

Re:水波算法的问题

因为如果你赋值到原来那块buffer上的话会影响周边的计算结果。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-20 03:24

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表