2

私はこれらのような形を使うことに興味があります:

タングラム

通常、タングラムは7つの形状(5つの三角形、1つの正方形、1つの平行四辺形)で構成されます。

私がやりたいのは、タングラムの形だけで形を塗りつぶすことです。したがって、この時点では、形のサイズと繰り返しは重要ではありません。

これが私が手動で試したものです:

タングラムの形をした三日月

私はこれにアプローチする方法に少し迷っています。

パス(アウトラインのポイントの順序付きリスト/配列)があると仮定すると、ある種の三角測量を実行する必要があると思います。

三角形が45度の直角三角形に拘束されたDeulanay三角測量のようなものはありますか?

より「野蛮な」アプローチは、三角形の束(45度)を追加し、衝突検出にSAT を使用してオーバーラップを「修正」することであり、ギャップが回避されることを願っています。

正方形と平行四辺形も三角形(45度)で作ることができるので、きれいな幾何学的な解決策があると思いますよね?

任意の形状の中に三角形(45度)を詰めるにはどうすればよいですか?

どんなアイデアでも大歓迎です。

4

1 に答える 1

1

形状の元のサイズのみを使用している場合は、いくつかのランダムな考え(おそらくそれらはより良い解決策を見つけるのに役立ちます):

  • ご指摘のとおり、タングラムのすべての形状は、たとえば黄色またはピンクの三角形(dgc)で構成できます。したがって、最初に黄色の三角形をできるだけ多く配置してから、ボトムアップアプローチを考えてみてください。可能であれば、それらを組み合わせてより大きな形状にします。最悪の場合、これらの最小の三角形のセットになります。

  • 非ポリゴンの任意の種類の三角測量(例の半月など)は、おそらくうまく機能しません...

  • 形状がいくつかの個別の方向のみを持つことができるようにする必要があるようです。これらの三角形を特定の形状に最適に適合させるために、次の近似解を提案します。形状全体に三角形のグリッド(つまり、対角線のある正方形のグリッド)を描画し、完全に含まれている三角形を取得します。これでは最適なカバレッジが得られない可能性がありますが、グリッドを水平方向と垂直方向にグリッドサイズの10分の1だけ繰り返しシフトして、元の形状の大部分をカバーするものが見つかるかどうかを確認できます(または二分探索の精神で、元のグリッドサイズの1/2、次に1/4などのステップで進むことができます)。

形状の任意のスケーリングを許可すると、より小さな形状を追加することで、任意の(適度に滑らかな?)形状を任意の精度で近似できます。たとえば、ラスターイメージがある場合は、黄色の三角形のサイズを選択して、そのうちの2つがイメージ上にピクセルを作成し、そのようなラスターイメージを表すことができます。

于 2010-09-15T19:36:26.657 に答える