¿Cómo se da cuenta Python de que n etiquetas pequeñas se colocan aleatoriamente en un cuadro grande sin superponerse?
①Se ha determinado el tamaño del lienzo y la posición máxima de abscisas y ordenadas es 500.
(2) Tomando la esquina inferior izquierda de las coordenadas como punto cero, seleccione cualquier coordenada como punto en la esquina superior izquierda de la imagen. Los píxeles escalados de las imágenes que debemos colocar son (x, y).
(3) Como se puede ver en la imagen de arriba, no importa cómo se gire la imagen, el área central se coloca aleatoriamente y el rango de coordenadas del área central es [(x ^ 2 y ^ 2) 0,5, 500-(x^2y^2)0,5]. Dado que las coordenadas son cuadradas por defecto, el rango de abscisas y ordenadas es este. Su imagen se puede rotar arbitrariamente y colocarse dentro de este rango.
(4) El principio de cálculo de los cuatro lados y las cuatro esquinas es el mismo que el anterior. Esta es la colocación de una imagen.
⑤La ubicación de la segunda o más imágenes es la misma, la diferencia es que se agrega un juicio de coincidencia. Si la forma generada por el valor aleatorio coincide con cualquier forma en el área de la imagen, se selecciona un número aleatorio para regenerar el tamaño y la rotación hasta que no haya superposición. La coincidencia se puede determinar mediante el cálculo del área. El área que no se cruza se establece en 0 y el área de intersección se establece en 1.
⑥ Repita la operación anterior hasta que se hayan colocado las 15 imágenes.