¿Cuál es el algoritmo para dividir un rectángulo (c struct
con 4 int
s) en un número aleatorio de rectángulos más pequeños (devolver una lista de struct
s)? Aún mejor si la dimensión máxima y mínima de los rectángulos más pequeños se puede controlar mediante un parámetro.Algoritmo para dividir un rectángulo en retangles más pequeños?
p. Ej.
+----------+ +-------+--+
| | | | |
| | | | |
| | --> |---+---+--| (good)
| | | | |
| | +---+ |
| | | | |
+----------+ +---+------+
formas más pequeñas deben ser de 4 lados, los siguientes no es buena:
+----------+ +-------+--+
| | | | |
| | | | |
| | --> |---+---+--| (not good)
| | | |
| | +---+ |
| | | | |
+----------+ +---+------+
Gracias!
Apéndice: (rectángulo para la discusión de Morón)
+----+--------+
| | |
| +---+----+
| | | | (rectangle-chase)
+----+---+ |
| | |
+--------+----+
¿Existen restricciones sobre cómo deben estructurarse los rectángulos más pequeños? – andand
No codigo en C, pero me parece que dividir recursivamente rectángulos en 2 rectángulos debería hacer el trabajo. – Mathias
@andand el tamaño del rectángulo más pequeño debe estar restringido por los parámetros límite superior e inferior, es decir, no más pequeño que% del rectángulo padre en el eje x, no mayor que% del rectángulo padre en el eje x, no menor que% el rectángulo padre en el eje y, no más grande que el% del rectángulo padre en el eje y – ohho