我正在看这个:http://www.gameprogrammer.com/fractal.html#diamond
上面写着:
这是迭代细分例程的起点,这分为两步:
菱形步骤:取四个点的正方形,在两个对角线相交的正方形中点处生成一个随机值。的中点值是通过计算四个角值的平均值,加上一个随机的数量。当你有多个的时候就会得到方块方格排列成格子
方形步骤:取每个有四个点的菱形,在菱形的中心生成一个随机值。计算中点值通过平均边角值,加上随机生成的数量在与钻石台阶相同的范围内。这是平方一次。
我不明白。如何取每个正方形的中点构成一个菱形?取每个菱形的中点如何构成一个正方形?
有人可以提供语言无关的代码如何做到这一点?
编辑:第一步:你有一个网格,使四个角的高度一致:
* ┬ ┬ ┬ *
├ ┼ ┼ ┼ ┤
├ ┼ ┼ ┼ ┤
├ ┼ ┼ ┼ ┤
* ┴ ┴ ┴ *
步骤2:取正方形的中点,并将其设置为所有四个角的平均值加上一个随机值:
* ┬ ┬ ┬ *
├ ┼ ┼ ┼ ┤
├ ┼ * ┼ ┤
├ ┼ ┼ ┼ ┤
* ┴ ┴ ┴ *
现在什么?我没有看到任何菱形
将两个正方形放在一起:"当你在一个网格中有多个正方形时,这将给你菱形。"
正方形步骤创建一组新的正方形,与第一个正方形偏移,顶点由菱形的中点定义。