python 如何实现N个小图标随机不重叠放置到一个大图里?

发布网友

我来回答

1个回答

热心网友

思路:

①画布的大小已经确定,横纵坐标位置最大值都是500

②以坐标左下角为零点,任选一个坐标作为图片左上角的点,我们需要放进去的图片缩放后的像素分别为(x,y)

③从上面的图片可以看到,不管图片怎么旋转,中间的区域都是随便放,中间区域坐标范围为[(x^2+y^2)^0.5,500-(x^2+y^2)^0.5],由于坐标默认正方形,那么横纵坐标的范围都是这个,在这个区间,你的图片可以任意旋转放置都不会出界

④四条边和四个角算的原理跟上面一样,这是一张图片放置

⑤第二张以上的图片放置也是一样的,不同的是要加一个重合的判定,如果随机的值生成的图形跟图片区域中得任意图形重合,则再选取一个随机数重新生成大小和旋转,直至放进去没有重合为止,重合可以通过面积运算,没有交叉的区域设为0,交叉的区域设为1即可判断。

⑥重复以上操作,直至15张全部放置完成即可

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com