Unity地形设计之midpoint displacement算法(九)
midpoint displacement(中点位移算法),又称Diamond-square 算法,是一种能够用于生成一维噪声的算法,是一种迭代算法,整个算法由若干个 diamond step 和 square setp 交替进行来构成,算法具体过程如下:
假如有一个 网格,一共有 (2^n+1)^2(2n+1)2个格点,现在给定网格四个顶点的初始权值,
黑色原点表示该点值是已知的,
黄色原点是待求的值。
Diamond step表示:待求点被赋值为四个角的和,下面就是Diamond step表现
Square step:四条边的中点被赋值为所在边的两个端点与中心点的和,下面就是DSquare step表现
经过一个Diamond step 和 square setp 交替结果如下: