地形算法 Fractal Terrain Generation

地形算法 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;
	}


迭代的方式叠加高程:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值