如何实现菱形平方算法



我正在看这个:http://www.gameprogrammer.com/fractal.html#diamond

上面写着:

这是迭代细分例程的起点,这分为两步:

菱形步骤:取四个点的正方形,在两个对角线相交的正方形中点处生成一个随机值。的中点值是通过计算四个角值的平均值,加上一个随机的数量。当你有多个的时候就会得到方块方格排列成格子

方形步骤:取每个有四个点的菱形,在菱形的中心生成一个随机值。计算中点值通过平均边角值,加上随机生成的数量在与钻石台阶相同的范围内。这是平方一次。

我不明白。如何取每个正方形的中点构成一个菱形?取每个菱形的中点如何构成一个正方形?

有人可以提供语言无关的代码如何做到这一点?

编辑:

第一步:你有一个网格,使四个角的高度一致:

* ┬ ┬ ┬ *
├ ┼ ┼ ┼ ┤
├ ┼ ┼ ┼ ┤
├ ┼ ┼ ┼ ┤
* ┴ ┴ ┴ *

步骤2:取正方形的中点,并将其设置为所有四个角的平均值加上一个随机值:

* ┬ ┬ ┬ *
├ ┼ ┼ ┼ ┤
├ ┼ * ┼ ┤
├ ┼ ┼ ┼ ┤
* ┴ ┴ ┴ *

现在什么?我没有看到任何菱形

将两个正方形放在一起:"当你在一个网格中有多个正方形时,这将给你菱形。"

正方形步骤创建一组新的正方形,与第一个正方形偏移,顶点由菱形的中点定义。

相关内容

  • 没有找到相关文章

最新更新