您的位置:首页 > 大数据 > 人工智能

地形算法 Fractal Terrain Generation

2015-06-24 16:55 621 查看

地形算法 Fault Generation





一、不规则地形生成(分形地形算法):Fractal Terrain Generation

Fractal Terrain Generation包含2种算法:
缺点形成算法:Fault Formation
中点算法:Midpoint Displacement

二、缺点形成算法:Fault Formation

该算法分为两步,第一步生成地形;第二步平滑滤波。
生成地形:




在地形中取随机点点A,B,并计算AB 的向量 Dir1;在取随机点C,点C不与AB重合,计算AC的向量Dir2;计算Dir1与Dir2的点积,如果小于0,则在直线L的右边,否则在L的左边或在L上。自定义在L的任意一边叠加高程;

迭代的方式叠加高程:

iCurrentIteration为当前迭代次数;
iIterations为需要迭代的次数;

for (iCurrentIteration = 0; iCurrentIteration<iIterations; iCurrentIteration++)
{
//产生高度
iHeight = iMaxDelta-((iMaxDelta-iMinDelta)*iCurrentIteration)/iIterations;

}


平滑过滤:

将地形高度数据,从左到右,从右到左,从上到下,从下到上,进行平滑插值;
迭代的方式叠加高程:

for( i=0; i<iCount-1; i++ )
{
fpBand[j]= fFilter*v + ( 1.0f-fFilter )*fpBand[j];

v = fpBand[j];
j+= iStride;
}


迭代的方式叠加高程:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: