Zソート法とは? わかりやすく解説

画家のアルゴリズム

(Zソート法 から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/06/25 05:04 UTC 版)

画家のアルゴリズム(がかのアルゴリズム)またはペインタアルゴリズム: painter's algorithm)は、3次元コンピュータグラフィックスにおける隠面消去の最も単純な手法である。Zソート法(英: Z-sorting)、塗り重ね法、priority fill とも。3次元のシーンを2次元平面に投影するとき、どのポリゴンが見え、どの面が見えないのかを決定する必要がある。

「画家のアルゴリズム」という名称は、画家が絵を描くとき遠景から順に描いていき、近いものを描く際に以前に描いた遠景の一部を塗りつぶすことに由来する。画家のアルゴリズムでは全ポリゴンを視点からの距離でソートし、遠い方から順に描いていく。視点から見えない部分は近景によって塗りつぶされるので隠面処理がなされるが、見えない遠景の部分まで描くというコストがかかる。

遠くの山を最初に描き、その前の草地を次に描き、最後に最も近い木々を描く。
このように互いに循環的に重なり合った多角形は、このアルゴリズムでは描けない。

このアルゴリズムは、失敗する場合もある。例えば、ポリゴン同士が循環的に重なっている場合や、ポリゴンに穴がある場合である。右図のように循環的に重なっている場合、これらのポリゴンの上下(遠近)関係を決定することができない。この場合、問題のポリゴンを分割してソート可能にする必要がある。1972年、そのようなポリゴンの分割方法としてニューウェルのアルゴリズム英語版が登場した。他にも計算幾何学の分野で様々な手法が提案されている。

穴のあるポリゴンの場合、別のポリゴンがその穴を貫通している状態が問題となる。これも循環的な重なりと同様、問題のポリゴンを分割することで解決できる。

基本的実装では、画家のアルゴリズムの効率は良くない。最終的に全く見えないポリゴンまでレンダリングしてしまうためである。したがって非常に複雑なシーンを描く場合、画家のアルゴリズムはあまりにも高いハードウェア性能を要求する。

画家のアルゴリズムの逆もある。これは、視点から見て近いオブジェクトを先に描画する方法である。その際に既に描画が行われた部分は後からは決して塗りつぶさない。これは、遠景の部分を描く際に描かない部分の色の計算(光源を考慮したり、テクスチャを張ったり)が不要となるため、コンピュータにとっては効率が良い。しかし、通常の画家のアルゴリズムの問題は逆の場合でもそのまま当てはまる。

このような問題があるため、Zバッファ技法が開発された。これは、ピクセル単位で重なりの判断を行うようなもので、奥行きを考慮した描画順序を決定する必要がない。そのようなシステムでも、画家のアルゴリズムのバリエーションを利用することがある。Zバッファは一般にハードウェア内の固定精度の奥行きバッファレジスタを使用するが、精度が有限であるために丸め誤差によって重なりの判断を誤ることがある。これはポリゴン間の隙間や重なりとなって現れる。これを防ぐため、グラフィックスエンジンの中には画家のアルゴリズムを使ってそのようなポリゴンのエッジ部分の描画を行うものもある。したがって一部のピクセルは2度描画することになるが、画像全体のごく一部であるため、性能への影響は無視できる。

外部リンク


Zソート法

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/30 16:19 UTC 版)

3次元コンピュータグラフィックス」の記事における「Zソート法」の解説

詳細は「画家のアルゴリズム」および「Zオーダー」を参照 隠面消去方法のひとつ。ポリゴン座標(大抵は中心点)を基準に、画面の奥(視線からもっとも遠いポリゴン)から、全てのポリゴン順番描画する後述Zバッファ法のような特殊な処理をせず、基本的に多角形描画すればよいだけなので、実装が簡単であり、消費メモリ少なく非常に処理が高速にできる利点がある。Zバッファ法普及するまでは古く3DCG全般利用されまた、最近[いつ?]まで家庭用ゲーム機におけるリアルタイム3DCGでは一般的に利用されていた。しかし、ポリゴン数が増えた場合は、ポリゴンソートするコストがかかる、またフィルレートが膨大になるため、Zバッファ法比較して速度的なメリットがなくなる。 ポリゴン交差した場合正しく表示することができないという欠点があるが、この解決策として、ポリゴン互いに交差しないように静的、あるいは動的に細分化する方法とられることがあるZバッファ法異なり半透明ポリゴン描画に関しては、ポリゴン交差する場合除いて概ね正しく扱うことができる。

※この「Zソート法」の解説は、「3次元コンピュータグラフィックス」の解説の一部です。
「Zソート法」を含む「3次元コンピュータグラフィックス」の記事については、「3次元コンピュータグラフィックス」の概要を参照ください。

ウィキペディア小見出し辞書の「Zソート法」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Zソート法」の関連用語

Zソート法のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Zソート法のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの画家のアルゴリズム (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの3次元コンピュータグラフィックス (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS