Disporre i colori sulla scacchiera nella forma più piacevole [chiusa]

-2

Dato un pannello rettangolare di altezza H e larghezza W.
Vengono forniti N colori e ogni colore occupa la percentuale Xi dell'area sul tabellone.
La somma di Xi è 1.

I colori sulla lavagna devono essere posizionati in rettangoli.
Una soluzione ottimale ha i rapporti di aspetto dei rettangoli il più vicino possibile a 1.
Un caso ideale ha la scheda riempita solo con i quadrati.

Qual è il miglior algoritmo per tracciare i rettangoli?

    
posta Shashwat Kumar 14.10.2012 - 20:18
fonte

1 risposta

0

Potresti farlo in questo modo:

  • trova la piazza più grande nel tabellone
  • posiziona un quadrato del più grande colore rimasto da posizionare lì, sottrai questo Pi dell'importo appropriato
  • ripetizione

La tua domanda, tuttavia, è lungi dall'essere completa e non ambigua Se vuoi avere solo un rettangolo per colore, le cose possono diventare un po 'più complicate. (forza bruta, non molto elegante)

  • Calcola tutte le aree per i colori nei loro fattori primi e ottieni tutte le possibili fatture a due elementi che si adatteranno alla tavola. Per la maggior parte dei numeri fino a quantità ragionevoli, questo sarà relativamente gestibile (altrimenti, potrebbe ridimensionare un fattore dieci, il risultato visivo non sarà molto diverso).
  • per ogni possibile combinazione di queste fatture a due elementi, prova ad inserirle nella lavagna (la maggior parte non avrà successo)
  • trova quello con i rapporti migliori, ponderato tuttavia come vuoi

Posso immaginare che esistano approcci molto migliori, ma questi potrebbero fare il trucco se la tua scheda non è troppo grande e la quantità di colori è ragionevole

    
risposta data 14.10.2012 - 23:43
fonte

Leggi altre domande sui tag