探索Domino Mosaic艺术:Robert Bosch与Ken Knowlton的创作

需积分: 9 0 下载量 30 浏览量 更新于2024-11-24 收藏 16.59MB ZIP 举报
资源摘要信息:"Domino-Mosaics:Domino马赛克a-la Robert Bosch和Ken Knowlton" Domino-Mosaics项目是由Robert Bosch和Ken Knowlton开发的,该项目采用了独特的数学和艺术结合的方法来创作马赛克。通过使用双九多米诺骨牌,两位艺术家创造出了独特的马赛克作品。每个马赛克由12套完整的双九多米诺骨牌构成,它们在黑色图块上带有白点,以及在白色图块上带有黑点。 该项目不仅是一种艺术创作,更是一种数学挑战。它涉及到整数程序设计,这是一种将决策变量限定为整数的数学规划方法。整数规划广泛应用于各种领域,包括物流、生产计划、投资决策等。在这个项目中,整数规划被用于确定多米诺骨牌的排列方式,以达到最佳的视觉效果。 存储库中的Octave和Julia代码实现了这一目标,通过算法对灰度图像进行近似,使用多米诺骨牌的点数来代表不同的灰度级别。用户可以通过这些代码生成自己的多米诺骨牌马赛克,从而体验到艺术与数学的结合。 为了创建一组多米诺骨牌马赛克,用户首先需要为55个双九多米诺骨牌中的每一块创建一个图像库。存储库提供了创建这些图像库的Octave脚本(Code/Octave/createDominoSet.m)。用户需要在终端中打开Octave,并更改当前目录到Code/Octave/,然后运行octave命令来启动Octave。最后,通过在Octave中运行createDominoSet.m脚本,可以生成带有白色点的黑色瓷砖图像。 该项目也体现了编程语言在艺术创作中的应用价值。Octave是一个用于数值计算的编程语言,它的语法简洁,易于学习,特别适合进行科学计算。而Julia语言则是一种高性能的动态编程语言,它被设计用于解决复杂的数值计算问题。这两种语言在这个项目中的应用展示了它们在图像处理和算法开发方面的潜力。 该存储库的标签是"domino mosaic integer-programming Julia",这表明了该项目的三个核心要素:使用多米诺骨牌制作马赛克的技术,整数规划在其中的作用,以及Julia编程语言在编写算法中的应用。 综上所述,Domino-Mosaics项目是一个集艺术创造与数学计算于一体的有趣尝试。它不仅仅局限于传统意义上的艺术作品,而且还提供了一个实践和理解整数规划和编程语言在艺术创作中应用的平台。通过该项目,用户可以更深入地探索数学与艺术之间的联系,以及编程语言在解决现实世界问题中的强大能力。