文件名称:mountain
介绍说明--下载内容均来自于网络,请自行研究使用
三维空间中的分形插值算法
① 在X-Y平面上绘制一个n×n的正方形网格,并对4个角点在Z方向上分别设置初始高度ha,hb,hc,hd,得到A,B,C,D这4点(如图10.3所示)。
② 根据式hm=(ha+hb+hc+hd)/4+△,计算正方形网格中点的高度hm,其中△为一随机量,从而得到M点。
③ 根据角点和中点以及虚拟点,计算边中点的高度,即
he=(ha+hb+hm+0)/4+△
hf=(hb+hc+hm+0)/4+△
hg=(hc+hd+hm+0)/4+△
hh=(hd+ha+hm+0)/4+△
其中,△为一随机量,从而得到E,F,G,H这4点。
④ 再根据E,B,F,M4点的高度计算小正方形EBFM中点的高度,类似地计算小正方形MFCG,HMGD,AEMH中点的高度,即
he’=(ha+hb+hm+he)/4+△1
hf ’=(hb+hc+hm+hf)/4+△1
hg’=(hc+hd+hm+hg)/4+△1
hh’=(hd+ha+hm+hh)/4+△1
以及这些正方形边中点的高度。
⑤ 递归步骤③和步骤④使正方形网格逐步细化,直至达到预期递归深度,然后连接每个正方形网格点。
① 在X-Y平面上绘制一个n×n的正方形网格,并对4个角点在Z方向上分别设置初始高度ha,hb,hc,hd,得到A,B,C,D这4点(如图10.3所示)。
② 根据式hm=(ha+hb+hc+hd)/4+△,计算正方形网格中点的高度hm,其中△为一随机量,从而得到M点。
③ 根据角点和中点以及虚拟点,计算边中点的高度,即
he=(ha+hb+hm+0)/4+△
hf=(hb+hc+hm+0)/4+△
hg=(hc+hd+hm+0)/4+△
hh=(hd+ha+hm+0)/4+△
其中,△为一随机量,从而得到E,F,G,H这4点。
④ 再根据E,B,F,M4点的高度计算小正方形EBFM中点的高度,类似地计算小正方形MFCG,HMGD,AEMH中点的高度,即
he’=(ha+hb+hm+he)/4+△1
hf ’=(hb+hc+hm+hf)/4+△1
hg’=(hc+hd+hm+hg)/4+△1
hh’=(hd+ha+hm+hh)/4+△1
以及这些正方形边中点的高度。
⑤ 递归步骤③和步骤④使正方形网格逐步细化,直至达到预期递归深度,然后连接每个正方形网格点。
(系统自动生成,下载前可以参看下载内容)
下载文件列表
压缩包 : 31767667mountain.rar 列表 mountain.java