Pregunta

¿Alguien sabe una manera de ubicar rectángulos para adaptarse mejor a un área determinada? Los rectángulos se pueden ampliar hasta un cierto límite, pero deben mantener sus proporciones. Básicamente quiero reconstruir Exposé de Mac OS: Picture

Gracias, eWolf

¿Fue útil?

Solución

El problema es NP Hard, pero eso es solo para la solución óptima. Lo que creo que realmente quieres es una solución que se vea bien.

Así que sugiero que busques algoritmos que hagan que los datos se vean bien. Una vez que quise diseñar imágenes para DeepZoom Composer y traté de reciclar un algoritmo basado en interacción de fuerza de dibujo de gráfico. http://en.wikipedia.org/wiki/Force-based_algorithms

Funcionó muy bien, incluso para 600 cientos de rectángulos, solo tienes que jugar con los detalles de la simulación.

  • ¿Cómo se calcula la distancia?
  • ¿Qué funciones usas para las fuerzas de atracción y repulsión?
  • ¿Cuánta superposición vas a aceptar?

El único problema que no pude resolver por completo, fue que los rectángulos formaban una forma de círculo, en lugar de una forma de rectángulo grande, que es natural cuando estás simulando la física. Pero puedes solucionarlo con fuentes de fuerza auxiliar cuidadosamente colocadas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top