gpt4 book ai didi

android - 使用六边形图像随机生成图案

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:47:57 25 4
gpt4 key购买 nike

好的,我有这些图片:

enter image description here enter image description here enter image description here enter image description here enter image description here enter image description here enter image description here

基本上我想要做的是创建一个由大约 5 到 12 个六边形组成的“马赛克”,其中大部分大致集中在所有线的交汇处。

例如:

enter image description here enter image description here enter image description here

我知道我可能只是暴力破解它,但由于我正在为 Android 开发,我需要一种更快、更高效且处理器密集度更低的方法。

任何人都可以为我提供解决方案,甚至只是为我指明正确的方向吗?

最佳答案

我的一个随机想法是按照 Deepak 所说的定义一个类来跟踪它的六个边缘中的每一个的状态(比如,在 int[] neighbor 中,其中 neighbor[ 0] 说明顶边是否有邻居,neighbor[1] 说明右上边是否有邻居,依此类推顺时针)

然后对于屏幕上的每个六边形,通过二进制将其数组转换为整数。基于该整数,使用查找表来确定要使用的六边形图像 + 它应该如何定向/翻转,然后将该六边形对象分配给该图像。

例如,让我们在您的第一个屏幕截图中使用带有四个邻居的中央六边形。根据上述方案,它的数组将是 [1, 0, 1, 1, 0, 1]。将 neighbor[0] 设为最低有效位 (2^0),将 neighbor[5] 设为最高有效位 (2^5),我们有 [1, 0, 1, 1, 0, 1] --> 45。在查找表的某处,我们已经定义了 45 表示水平翻转的第 5 个六边形图像*,在您发布的七个基本六边形图标中。

是的,涉及到蛮力,但它是一种“更智能”的蛮力,因为您不会旋转以查看六边形是否适合。相反,它涉及一个更有效的查找表。

*如果您愿意,也可以顺时针旋转 120 度 ;)

关于android - 使用六边形图像随机生成图案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17588780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com