level 2
基础设定如下:
再一个方向矩阵中,每个格子里都有一个气压值
当某个格子的气压值与其他格子的气压值发生存在差值时,将会产生无损的气体流动,以保证直到最终整个区域内的各个格子中的气压相等
现在我当前的考虑是,单独计算每个格子的气压流动方向和流动情况,记录变更情况后,在一起形成新的气压分布,比如某个格子的气压值是7,周围4格都是2,那么就由中心格像周围4格产生气流,流量值均为1,形成这5个格子的气压值都是3的情况
但是实际实现时,会出现两种问题
1、是,可能会出现缓行坡度,比如在一横排中,出现 9、8、7、6、5、4、3的情况
2、是,会出现某些格子会出现流出过亮的情况,比如刚才描述中的格子,如果其四周的格子中也有某个点的气压值非常高,那么就会出现,一次计算后,原来的流出气流的格子变成气压极低的情况,而且在多次推演之后也不会恢复到所有格子基本相等的平复情况,而是再不停的变化
所以根据以上两个问题,希望可以听取一下各位大神的针对这个算法的改进意见,不胜感激!
2013年07月02日 04点07分
2
不知道我理解的对不对:先计算所有连通的格子的平均气压,然后跟当前值比较,以判断是流入还是流出。比如:1 2 3 4 5,平均气压是3,所以第一个格子流入2,第二个格子流入1(流向第一个格子2,从第三个格子流入3),以此类推
2013年07月05日 08点07分
level 9
不知道我理解的对不对:
先计算所有连通的格子的平均气压,然后跟当前值比较,以判断是流入还是流出。比如:
1 2 3 4 5,平均气压是3,所以第一个格子流入2,第二个格子流入1(流向第一个格子2,从第三个格子流入3),以此类推
2013年07月05日 08点07分
3
不是这样子,我在这个算法里更希望表现出其中的过程, 比如你距离的12345, 在第二个时间段的时候,就应该变成22344,之类的 在第三个时间段的时候,就应该变成23334, 最后一次变成稳定态,33333,
2013年07月10日 01点07分
level 9
不知道我理解的对不对:先计算所有连通的格子的平均气压,然后跟当前值比较,以判断是流入还是流出。比如:1 2 3 4 5,平均气压是3,所以第一个格子流入2,第二个格子流入1(流向第一个格子2,从第三个格子流入3),以此类推
2013年07月05日 08点07分
4
level 12
我觉得流量和气压差如果用非线性的关系表达,然后缩小时间步,应该可以解决问题吧
2013年07月05日 18点07分
5
我最初的打算就是流量与气压差成正比,然后取一个较小的时间单位,取得的流量类似与变速运动总的瞬时速度概念。但是实际实施时有点问题,就是我一开始说的那两点,相邻格的气压差较小时,会形成一个整体的缓行坡度;第二个是只凭借气压差算流量时,会有极度不合理的情况
2013年07月10日 02点07分
level 2
就像楼上说的,依据气压差计算流量,这里的函数关系没法取得一个合理的值
比如,3个连续的格子,气压值是 9,5,1 和9,1,9,这两种情况下,采用同一个函数关系时,经常出现各种极为奇葩的情况
2013年07月10日 02点07分
6
三个点子,你可以试试,希望能有帮助。1气压差和流速正相关但不一定是正比例的。2可以加入孔径的概念,孔径小的两格之间流速慢。3规定流动时,气压高低的相对关系不会变化
2013年07月11日 00点07分