9

私はこのような問題を解決するためにアルゴリズムを検索しています:

ウィンドウがほとんどありません。各ウィンドウは移動したりサイズを変更したりできますが、幅と高さの比率を指定します。2:1(高さ:幅)。

各ウィンドウを他のウィンドウに配置することはできず、すべてのウィンドウが完全に表示されている必要があります。空き領域(デスクトップの壁紙の可視性)は最小限にする必要があります。

このタイプの問題に必要なアルゴリズムを誰かに教えてもらえますか?

こんにちは、

4

3 に答える 3

3

パッキングよりも実装が簡単な別のアプローチは、画面サイズを必要な数のペインに分割してから、ペイン内の他の要件を満たすウィンドウに合わせるというものです。いつでも開いているウィンドウの数は少なく、画面のサイズは動的に変化しないため、1からO(100)までの開いているウィンドウに必要なすべての配置を事前に計算できます。

于 2010-12-16T10:20:42.363 に答える
1

1つのアプローチは、1Dビンパッキング問題のように、 2Dパッキング問題として扱うことです。ここにサンプルのアルゴリズムが掲載されています。たとえば、いくつかの優れたリファレンスがあります。

于 2010-12-16T08:14:37.733 に答える
1

すべてのウィンドウに特定の「アスペクト比」があるという要件を緩和できれば、問題は非常に単純になります。単一の画面に配置する「タイル」があるとするとN、これらは列に配置できます。列の数は、完全な正方形ではない場合の切り上げNumColsの平方根です。タイルのすべての列は同じ幅です。次に、各列のタイルの数は、列の総数がになるように、必要に応じて切り上げまたは切り捨てられます。これは、MicrosoftExcelが[表示]>[すべて配置]>[並べて表示]で行うことです。Excelは、画面の左側にタイルが1つ少ない列を配置することを選択します。NNN/NumColsN

于 2018-07-09T16:12:26.533 に答える