我在哪里可以找到生成数码迷彩图案的算法?

时间:2011-06-16 18:39:05

标签: c# algorithm

Here是我想要重现的样本。

我考虑过平铺图像,但这会创建一个可检测的图案。 我还考虑过使用4种或5种颜色的随机图案,但这不是随机图案。

谢谢!

4 个答案:

答案 0 :(得分:4)

军方采用了一种名为MARPAT的分形模式,据我所知,与其他已知的迷彩模式相比,它非常有效。然而,他们已经申请了专利,我不知道有任何方法可以找到具体细节。

你最好的选择可能是Perlin noise,但我不确定如果你将它打印出来并试图用它隐藏它会有多么有效。你应该能够生成看起来的东西,就像军事伪装一样,这可能是你想要做的。

答案 1 :(得分:2)

尝试使用Perlin Noise

答案 2 :(得分:2)

我会做什么:

  1. 为您的迷彩选择几种颜色
  2. 创建空白画布
  3. 使用您的颜色种植多个点(将随机像素更改为随机颜色)
  4. 使用以下算法填补空白。
  5. 您希望这是随机的,但您还需要在示例中为这些条带/ blob进行一些群集。因此,通过向外填充种子点的间隙,您可以使用周围的像素来影响颜色决定。如果一个像素被绿色包围,那么它应该更可能是绿色而不是黄色。因此,对于从种子点向外移动的每个像素:

    • 考虑周围的(8,24等)像素,并使用它们来确定每种颜色的可能性。每种颜色都被指定一个0到1之间的数字范围(例如,绿色可能是.23 - .57)。范围之和应包括0到1之间的所有数字。
    • 使用随机数生成器选择0到1之间的数字。数字落入的颜色范围是该像素应该是什么颜色。
    • 找到相邻的空白像素,重复。

    完全未经测试,但它在我脑海中起作用?哈哈。

    编辑如果您想要数码迷彩实际拥有的较大的盒子(而不是单个像素)将像素分组为9,16,25,36等组。

答案 3 :(得分:0)

按照E先生的回答,如果你想走程序路线,请看各种分形算法。

这是一个使用侵蚀的地图生成器,我可以想象你将其中的几个分层并可能为你的图像水平倾斜:http://forums.tigsource.com/index.php?topic=5174.180

还有各种其他模式生成器 - 模拟白蚁,森林火灾,晶体生长等。

以下是一些示例:http://neekatave.com/ca/examples/ffire/index.php

你会看到Star Logo的链接,这是一个教育性的麻省理工学院项目,有更多的例子(警告,你可能会失去很多时间点击那里:)