我正在读这个:http://www.gameprogrammer.com/fractal.html#diamond
它说:
这是迭代细分例程的起点, 这有两个步骤:
钻石步骤:取四个方格的正方形,在两个对角线相交的方形中点处生成一个随机值。该 通过平均四个角值来计算中点值 随机数量。当你有多个钻石时,这会给你钻石 正方形排列成网格。
方形步骤:取每个钻石的四个点,在钻石的中心生成一个随机值。计算中点 通过对角点值求平均值,再加上生成的随机量 在与用于金刚石步骤的范围相同的范围内。这给你正方形 试。
我不明白这一点。如何将每个方格的中点制作成钻石?如何将每颗钻石的中点变成正方形?
有人可以提供与语言无关的代码吗?
编辑:
步骤1:你有一个网格,并使四个角落均匀高度:
* ┬ ┬ ┬ *
├ ┼ ┼ ┼ ┤
├ ┼ ┼ ┼ ┤
├ ┼ ┼ ┼ ┤
* ┴ ┴ ┴ *
第2步:你取正方形的中点并将其设置为所有4个角的平均值加上一个随机值:
* ┬ ┬ ┬ *
├ ┼ ┼ ┼ ┤
├ ┼ * ┼ ┤
├ ┼ ┼ ┼ ┤
* ┴ ┴ ┴ *
现在怎样?我在任何地方都看不到钻石
答案 0 :(得分:2)
将两个正方形放在一起:“当你在网格中有多个正方形时,这会给你钻石。”广场上方/下方也是如此。
平方步骤产生一组新的正方形,偏离第一个正方形,顶点由钻石的中点定义。