Mathematica应用——正方形拼图

2025-04-10 18:45:49

1、准备一个正方形图片,把它加载到Mathematica里面,命名为b。

Mathematica应用——正方形拼图

2、给图片随机的替换颜色,并根据不同的权重进行拼图:ImageCollage[(#^2 -> Show[ColorReplace[b, RGBColor[0.10588235294117647`, 0.6274509803921569, 0.8823529411764706] -> RGBColor[Random[], Random[], Random[]]], Epilog -> Inset[Style[#, 20*#, Bold], Center]]) & /@ Range[6],Background -> RGBColor[0.1, 0.9, 0.9], ImagePadding -> 0,Method -> "ClosestPacking", ImageSize -> 500]

Mathematica应用——正方形拼图

3、把上面代码里面的Range[6]换成10。不过,这可能不是最优排列方案。

Mathematica应用——正方形拼图

4、用边长分别是1, 4, 7, 8, 9, 10, 14, 15, 18的正方形来试碍测行臬试。c = ImageCollage[(#^2 -> Show[ColorRepla艘早祓胂ce[b, RGBColor[0.10588235294117647`, 0.6274509803921569, 0.8823529411764706] -> RGBColor[Random[], Random[], Random[]]],Epilog -> Inset[Style[#, If[4*# < 36, 60, 4*#], Bold], Center]]) & /@ {1, 4, 7, 8, 9, 10, 14, 15, 18}, Background -> RGBColor[0.1, 0.9, 0.9], ImagePadding -> 0, Method -> "ClosestPacking", ImageSize -> 1000]

Mathematica应用——正方形拼图

5、但是,上面这个图形明显不是最优方案。因为,这是一个完美矩形的例子。

Mathematica应用——正方形拼图

6、前24个整数的平方和是70^2,但是,边长为1到24的正方形不可能拼成完美正方形,不知道能不能拼成完美矩形。

Mathematica应用——正方形拼图
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢