トライアングルストリップのスタート選択方法

トライアングルストリップ(以下,単にストリップと書きます)の基本的な作り方や説明は

に書いた。

基本的な処理の流れは

  1. スタートとなる三角形を選ぶ
  2. バッファAの頂点を使って左回りになるように次の三角形を選ぶ
  3. バッファBの頂点を使って右回りになるように次の三角形を選ぶ
  4. 上記二つの繰り返し

以上を対象となる三角形がなくなるまで行う。

さて,ストリップを作る上で工夫する点としては始めの三角形を選ぶ方法だ。

現在開発中のGoogle Code Archive - Long-term storage for Google Code Project Hosting.では次の三種類からスタートの選び方を選択できるようになりました。

スタートの選び方の説明

読み込んだ順にスタートを選ぶ

読み込んだ順にメモリ上に配置して先頭からスタートして作っていく方法です。

特別な処理は必要ないので実装は簡単です。

隣接数の少ないものから優先的にスタートを選ぶ

これは広く使われる方法です。読み込んだ順に選ぶ方法やランダムに選ぶ方法より優れていると言われています。

この選びかたはストリップが一つできるたびに,候補が変わってくる事になるので実装は少し難しくなります。

密集しているところからスタートを選ぶ

例えばCAEなんかで使うメッシュデータは均等であると綺麗(=解析結果が良好と期待されるメッシュ)だと言われます。

綺麗なメッシュデータで要素が四面体の場合は表面上は一つの節点に対して6個の三角形がつながる事になります。

なぜ6個かと言えば表面の場合は節点まわりの各々の三角形が60度ずつになるからです。

しかし有限要素法は精度を求める部位によってメッシュの密集度を変えるし,ソリッドの形状によってもばらつきが出てきます。

そこでより密集している箇所,例えば一つの節点に6個以上の三角形がつながっている所から選ぶ方法があります。