地形算法 Fractal Terrain Generation

地形算法 Fault Generation

地形算法 Fractal Terrain Generation_第1张图片

地形算法 Fractal Terrain Generation_第2张图片

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

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

二、缺点形成算法:Fault Formation

该算法分为两步,第一步生成地形;第二步平滑滤波。
生成地形:
地形算法 Fractal Terrain Generation_第3张图片
在地形中取随机点点A,B,并计算AB 的向量 Dir1;在取随机点C,点C不与AB重合,计算AC的向量Dir2;计算Dir1与Dir2的点积,如果小于0,则在直线L的右边,否则在L的左边或在L上。自定义在L的任意一边叠加高程;

迭代的方式叠加高程:

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


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

平滑过滤:

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

迭代的方式叠加高程:

你可能感兴趣的:(地形算法)