1

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

它说:

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

菱形步骤:取四点正方形,在正方形中点生成一个随机值,两条对角线相交。中点值是通过平均四个角值加上一个随机量来计算的。当您在网格中排列多个正方形时,这将为您提供钻石。

平方步:取每个菱形的四个点,在菱形的中心生成一个随机值。通过平均角值计算中点值,加上与菱形步骤相同范围内生成的随机量。这又给了你正方形。

我不明白这一点。取每个正方形的中点如何形成钻石?取每颗钻石的中点如何形成正方形?

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

编辑:

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

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

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

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

怎么办?我在任何地方都没有看到钻石

4

1 回答 1

2

将两个正方形放在一起:“当您在网格中有多个正方形时,这会给您钻石。” 正方形上方/下方相同。

平方步骤产生一组新的正方形,从第一个偏移,顶点由菱形的中点定义。

于 2011-11-28T00:02:40.783 回答