地形算法 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; }
迭代的方式叠加高程:
相关文章推荐
- RAM check failed @address 0x20000000
- How do I add classes to main menu ul and li in Drupal 8
- ORA-21561: OID generation failed解决
- 修改aix /etc/profile
- TIME_WAIT详解(译)
- 实战DDD(Domain-Driven Design领域驱动设计:Evans DDD)
- container_of
- [转]NDK编译库运行时报dlopen failed: cannot locate symbol "__exidx_end" 解决办法
- Compiler Error Message: The compiler failed with error code 128. 的问题解决
- ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
- 实验室关了6年:Gmail “撤销发送”功能正式上线
- MRAID扩展协议
- 【动态规划】bzoj1664 [Usaco2006 Open]County Fair Events 参加节日庆祝
- [CF 294D]Shaass and Painter Robot解题报告
- VC6.0 error LNK2001: unresolved external symbol _main解决办法
- 非IT人员 制作精美ICO图标,文件夹 U盘 图标
- cPanel添加域名(addondomain)时遇到问题:域名已经解析到其它IP
- VMware虚拟机安装MAC OS X Mountain Lion
- Train
- 安装wordpress出现Warning: fileperms() [function.fileperms]: stat failed for /data/home/qxu1194680081/htd