作为魔方和酷艺术的忠实拥护者,我一直在努力将两者结合起来以做一些非常酷的事情。从根本上解决微型魔方的多维数据集以形成魔方艺术形式的基本像素。可以通过以下链接查看此类艺术品的示例:http : //google.com/search?q=rubik%27s+cube+ art
现在,此Code Golf的目的是创建接受图像作为输入的代码,然后按以下方式进行转换:
图像最初被还原为网络安全的灰度颜色。这背后的原因是因为我们需要隔离网络安全的灰度调色板(即000000、333333、666666、999999,CCCCCC和FFFFFF)。有关比色法转换为灰度的方法的算法,请访问:http : //en.wikipedia.org/wiki/Grayscale#Colorimetric_.28luminance-preserving.29_conversion_to_grayscale,如果您希望以此为灵感。
然后可以将灰度渲染为适当的颜色。快速分解:000000表示Rubik的蓝色,333333表示Rubik的红色,666666表示Rubik的绿色,999999表示Rubik的橙色,CCCCCC表示Rubik的黄色,FFFFFF表示Rubik的白色。
我希望您生成的代码可以从照片的调色板直接呈现为Rubik的颜色。从转换为网络安全的灰度然后再转换为相应的Rubik调色板的两阶段方法只是为了使您了解该过程背后的逻辑,但是,如果您更轻松地做到这一点,则可以这样做。
Rubik调色板的实际RGB值必须符合以下条件:
- 红色:#C41E3A
- 绿色:#009E60
- 蓝色:#0051BA
- 橙色:#FF5800
- 黄色:#FFD500
- 白色:#FFFFFF
举一个例子,我从下图裁剪了亚伯拉罕·林肯的头像:,并渲染了算法以产生以下内容:
网格在那里,您可以看到如何配置每个单独的微型Rubik立方体以组成图像。生成的图像的真实大小为45像素乘45像素,这意味着(45/3)*(45/3)= 15 * 15 = 225微型Rubik立方体将用于制作此图像。我不希望您像我一样用网格显示结果图像。
所以这是必需的:
此算法要处理的图像必须为x像素宽x y像素高,以使x和y为3的倍数。这有助于简化作为Rubik立方体镶嵌的一部分进行渲染的过程。如果图像很大,建议在处理之前将其缩小到45 x 45至75 x 75左右。请记住,此调整大小组件是可选的。
需要将图像转换为六色魔方的调色板,以创建马赛克。
处理后,生成的图像必须是有效的图形文件。为了证明您的代码有效,请将其与美利坚合众国总统之一或好莱坞著名名人的形象进行对比。在我的示例中,我已经使用过亚伯拉罕·林肯,因此不再可以使用此总裁。确保提供您使用的语言,字节数以及用于测试代码的主席/名人,包括拍摄前后。
每个条目都必须有一个唯一的总裁/名人作为测试用例。我不会重复。这将确保重复的结果不会用于测试不同的代码条目。可以说您的代码有效,这是另一回事。
5.最短的代码获胜。
我正在将其更改为一场人气竞赛...我宁愿看看谁能做到而不必在字节数上进行竞争...因此,我将在2014年2月28日之后颁发这笔赏金。
#000000 => #0051BA
,等等