我需要创建一个0和1的“地图”

时间:2018-04-22 00:22:36

标签: math pseudocode

我知道这不是一个问题,只是寻求帮助,但我也想尝试一下,因为我真的被阻止了。

我想创建一种以类似于此示例的方式填充数字的地图(由字符串表示):

000000000000000000
001111000000011000
011111100000111110
000111110001111100
000011000000011000
000000000000000000

所以我的想法是0会像“没什么”或者想象这是世界地图而0是草地砖,而1可以是地砖。

我希望能够生成类似的东西(在更大的范围内),有许多小的和大的“地面”补丁。但显然它不能只是随机的1和0,因为它看起来不自然,它必须是有点自然的形状。

我的数学太糟糕了,无法想出一种方法来实现这一目标, 我不是要求代码,只是寻求帮助。 如果你们能指出我正确的方向,那将会有很大的帮助:)。

4 个答案:

答案 0 :(得分:0)

你是否只想生成这个以获得乐趣,你可能正在寻找ascii艺术生成器。有许多可用的在线工具,只需搜索短语ascii art generator

答案 1 :(得分:0)

背景:每张图片都由像素组成。这些像素中的每一个都有一个由(R,G,B)定义的颜色,每个成分的范围为0-255。

定义问题:您希望根据图像的颜色将图像的每个像素转换为0或1。颜色将是这里的定义属性,因为我们期望0属性和1属性在视觉上不同。

解决方案:您需要创建一个函数,该函数将根据RGB值将图像的每个像素映射到0或1.您必须根据每个像素要转换的范围对其进行分类按重量计算为0或1。

实施:我可能会关注Python库。有很多这些,我肯定必须有一个访问图像的位数。当你有长度和宽度的像素数时,使用这些参数来构造一个大小的数组,并在图像像素上循环你的函数,然后继续在数组中填充结果。

原油方式:您也可以访问本网站,它将为您服务。万一你希望以最简单的方式完成它:https://www.text-image.com/convert/ 如果你搜索它们,还有更多这样的东西。

答案 2 :(得分:0)

如果你想要一个算法,你可以从全0开始。然后随机地,稀疏地将一些1放入场中。现在取下每个放置的1并随机选择一个方向(向上,向下,向左,向右)和一个数字 n 的步数介于0和一个小数 m 之间,例如3.让选定的1在该方向上“增长” n 次。即以1s覆盖该方向的 n 点。对任何新放置的1重复(可能省略已放置在先前存在的1上的1),直到没有新放置的1未经处理。这至少应该给你一些“连接补丁”,可能类似植物,例如草可能会蔓延。并且可能会稍微使用 m ,以改变“补丁”的大小。

答案 3 :(得分:0)

我找到了我要找的东西, 我将用Perlin Noise做到这一点:)