¿Cómo implementar N iconos pequeños para colocarlos aleatoriamente en una imagen grande sin superponerse en Python?
Ideas:
①Se ha determinado el tamaño del lienzo y las posiciones máximas de coordenadas horizontales y verticales son 500
②Con la esquina inferior izquierda del coordenadas como punto cero, elija cualquiera Las coordenadas se utilizan como el punto en la esquina superior izquierda de la imagen. Los píxeles escalados de la imagen que debemos colocar son (x, y)
③As. Como se puede ver en la imagen de arriba, no importa cómo se gire la imagen, el área en el medio se puede colocar casualmente. El rango de coordenadas del área media es [(x^2+y^2)^0.5,500. -(x^2+y^2)^0.5]. Dado que las coordenadas son cuadradas de forma predeterminada, el rango de las coordenadas horizontales y verticales son. En este rango, su imagen se puede rotar y colocar arbitrariamente sin salirse de los límites.
④El principio de cálculo de los cuatro lados y las cuatro esquinas es el mismo que el anterior. Esta es la ubicación de una imagen.
⑤La ubicación de la segunda imagen y la de arriba es la misma. que se agrega un juicio de coincidencia Si los gráficos generados por los valores aleatorios coinciden con cualquier gráfico en el área de la imagen, se selecciona un número aleatorio para regenerar el tamaño y la rotación, hasta que no se superpongan. la superposición se puede determinar mediante el cálculo del área. El área sin intersección se establece en 0 y el área que se cruza se establece en 1.
⑥Repita las operaciones anteriores hasta que se hayan colocado las 15 imágenes