Pergunta

Alguém sabe uma maneira de localizar retângulos para melhor atender uma determinada área? Os retângulos podem ser escalados até um certo limite, mas eles devem manter suas proporções. Basicamente, eu quero reconstruir Mac OS' Exposé: Imagem

Obrigado, eWolf

Foi útil?

Solução

O problema é NP duro, mas isso é apenas para a solução ideal. O que eu acho que você realmente quer é uma solução que apenas parece ser bom.

Assim, sugiro à procura de algoritmos que tornam os dados parecem boas. Uma vez eu queria layout de fotos para o DeepZoom Compositor e eu tentei reciclar um algoritmo baseado desenho gráfico da força-interação. http://en.wikipedia.org/wiki/Force-based_algorithms

Ele funcionou muito bem mesmo para 600 cem retângulos, você só tem que jogar com os detalhes da simulação.

  • Como a distância é calculada?
  • Que funções você usa para as forças de atração e repulsão?
  • Como muita sobreposição é que você vai aceitar?

O único problema que eu não poderia resolver inteiramente, foi que os retângulos formada uma forma de círculo, em vez de uma forma grande retângulo, que é natural quando você está simulando a física. Mas você pode contornar isso com cuidado colocado fontes de força auxiliar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top