4

基本的に、私はすべての小さな長方形が大きな長方形になる「素敵な」画像を取得しようとしています。

ディスク インベントリ X

*後でいくつかのことを明確にするために編集します。

  1. このようなものをソフトウェアで描画できるようにしたいです。だから、私が必要としているのはアルゴリズムに近いものです。

  2. 必要なのはいくつかの長方形だけです。長方形のように見えるだけで、事前に定義された比率を持つ必要はありません。正方形と 3:1 の幅/高さ (または高さ/幅) の間であれば問題ありません。非常に素朴なアプローチは、囲んでいる四角形の幅を囲まれた四角形のパーセンテージに分割することですが、これにより薄いスライスが作成され、小さいパーセンテージの四角形の一部が 1 ピクセル以下になります。

長方形を複数の行に分割する方法を見つける必要があります。

* 2 番目の編集:問題が解決しました。TreeMap アルゴリズムを探していました ( Phpdnaで指摘されているように)。キーワードを取得すると、要件を満たす Python 実装をいくつかすぐに見つけることができました。

4

2 に答える 2

-1

このアプローチにより、小さな四角形が常に最初の四角形をカバーすることが保証されます。既存の長方形のセット内に長方形を構築することから始まる他のアプローチも同様です。

  1. 平面の 1 つのエッジから反対側のエッジまで、他の 2 つのエッジに平行な直線を引きます。比率が適切な 2 つの長方形を生成する位置に描画します。
  2. 別の長方形が必要な場合は、最初の線から垂直に線を引き、その線を平面の端まで延長します。繰り返しますが、線が適切な比率の長方形を作成するように位置を選択します。これで、3 つの長方形ができました。
  3. 次に、4 番目の長方形を取得するには、既存の線の 1 つを選択して開始し、平面の端または既存の線に到達するまで、それに垂直な線を引きます。繰り返しますが、作成された長方形の比率があなたの目に心地よいものになるように注意してください。
  4. 必要な長方形がすべて揃うまで続けます。

個人的には、上記は簡単な部分で、難しい部分は線を引く場所をアルゴリズムで決定することだと思います。黄金比について考えてみることをお勧めします。これは、フィボナッチや、用紙サイズの A シリーズの基礎などの他の比率のいとこです。 1:sort(2)

于 2013-08-15T15:01:27.450 に答える