2017-07-18 7 views
-4

ich Probleme bekam brauchen Ihre Hilfe:Suche Größe der Rechtecke Bereich zu füllen

ich auf ein Programm gerade arbeite, die n Videos in Kacheln-Modus (auch bekannt als, Videos Wand, c Spalten und Zeilen r) zeigt. Die n ist beliebig, die Videos haben die gleiche Größe (W x H) und wir haben W/H Verhältnis, ist die Größe der Wand befestigt, wie kann ich am besten Satz von c, r, W und H wenn n Änderungen bekommen? Der beste Satz definiert als: W und H ist maximale Werte und Videos füllen maximale Fläche der Wand.

Ich habe mir Packing Problem angesehen, kann aber immer noch nicht mein Problem lösen, kann mir jemand dabei helfen? Vielen Dank!

+0

Wie kann dies gelöst werden, ohne die Dimensionen der Wand zu kennen? –

+0

Es würde ein C-Programm sehr wenig Zeit benötigen, um eine Schleife auszuführen, um die beste Anordnung zu erarbeiten. Anzahl der Videos in jeder Zeile von "1" bis "n". –

Antwort

1

Soweit ich verstehe, wollen Sie mit bestimmten Width und Height

Let Rechteck Höhe n Rechtecken mit festem C=W/H Verhältnis an der Wand platzieren ist h (noch unbekannt), Breite w = C * h

Jede Reihe des Rasters enthält

nr = Floor(Width/(C * h)) // rounding down 

Jede Spalte enthält

nc = Floor(Height/h) 

schreibt Ungleichheit

n <= nc * nr 
n <= Floor(Width/(C * h)) * Floor(Height/h) 

und löst es (maximal möglichen h Wert finden) für unbekannt h

Für echte Werte von Parametern h könnte immer anfänglichen ungefähren Wert zu finden:

h0 = Ceil(Sqrt(Width * Height/(n * C))) 

und dekrementieren des h-Wertes, bis die Ungleichung wahr wird

Verwandte Themen