Posiziona le caselle come in Exposé
-
05-07-2019 - |
Domanda
Qualcuno conosce un modo per individuare i rettangoli per adattarsi meglio a una determinata area? I rettangoli possono essere ridimensionati fino a un certo limite, ma devono mantenere le loro proporzioni. Fondamentalmente voglio ricostruire Exposé di Mac OS: Picture
Grazie, eWolf
Soluzione
Il problema è NP Hard, ma è solo per la soluzione ottimale. Quello che immagino tu voglia davvero è una soluzione che sembra buona.
Quindi suggerisco di cercare algoritmi che rendono i dati belli. Una volta volevo impaginare le immagini per DeepZoom Composer e ho provato a riciclare un algoritmo basato sull'interazione della forza del disegno grafico. http://en.wikipedia.org/wiki/Force-based_algorithms
Ha funzionato davvero bene anche per 600 cento rettangoli, devi solo giocare con i dettagli della simulazione.
- Come viene calcolata la distanza?
- Quali funzioni utilizzate per le forze di attrazione e repulsione?
- Quante sovrapposizioni accetterai?
L'unico problema che non ho potuto risolvere del tutto era che i rettangoli formavano una forma circolare, piuttosto che una grande forma rettangolare, che è naturale quando si simula la fisica. Ma puoi aggirare il problema con fonti di forza ausiliarie posizionate con cura.