(57)【要約】【課題】ポリゴンを用いて表現された様々な形状の物体に対して陰関数表現を適用出来る画像処理方法、画像処理プログラム、及び画像処理コンピュータを提供すること。【解決手段】コンピュータを用いた画像処理方法であって、三角形ポリゴンの頂点座標を抽出するステップと、前記頂点座標に基づいて、前記三角形ポリゴンを取り囲む領域を設定するステップと、前記領域内に含まれる格子点から前記三角形ポリゴンまでの距離を計測するステップと、前記格子点から前記三角形ポリゴンまでの距離に基づいて図形を描画するステップとを行うことを特徴とする。【選択図】      図３
2006048518.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを用いた画像処理方法であって、
三角形ポリゴンの頂点座標を抽出するステップと、
前記頂点座標に基づいて、前記三角形ポリゴンを取り囲む領域を設定するステップと、
前記領域内に含まれる格子点から前記三角形ポリゴンまでの距離を計測するステップと、
前記格子点から前記三角形ポリゴンまでの距離に基づいて図形を描画するステップと
を行うことを特徴とする画像処理方法。
【請求項２】
前記図形は、前記ポリゴンまでの距離がゼロとなる点の集合として描画される
ことを特徴とする請求項１記載の画像処理方法。
【請求項３】
図形を描画するためにコンピュータを、
三角形ポリゴンの頂点座標を抽出する座標抽出手段と、
前記座標抽出手段によって抽出された前記頂点座標に基づいて、前記三角形ポリゴンを取り囲む領域を形成する領域生成手段と、
前記領域生成手段によって形成された前記領域に含まれる格子点から前記三角形ポリゴンまでの距離を計測する距離計測手段と、
前記距離計測手段によって計測された前記距離に基づいて図形を描画する図形描画手段と
して機能させることを特徴とする画像処理プログラム。
【請求項４】
前記図形描画手段は、前記距離計測手段によって計測した前記ポリゴンまでの距離がゼロとなる点の集合として前記図形を描画する
ことを特徴とする請求項３記載の画像処理プログラム。
【請求項５】
ポリゴンデータが入力される入力手段と、
個々の前記ポリゴンを取り囲む領域を形成し、該領域内に含まれる格子点から前記ポリゴンまでの距離を計測し、該計測結果に基づいて陰関数表示による図形描画を行う演算手段と、
前記陰関数表示によって得られた前記図形を表示する出力手段と
を具備する画像処理コンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理方法、画像処理プログラム、及び画像処理コンピュータに関するもので、例えばポリゴン表現された物体を陰関数表現に変換する手法に関する。
【背景技術】
【０００２】
従来、コンピュータグラフィックスやＣＡＤの分野において、物体の形状を表す手段として、陰関数表現、またはポリゴン等を用いたパラメトリック表現が用いられてきた。
【０００３】
陰関数表現によって有機的な物体形状をモデリングする方法として、例えばメタボールなどの陰関数曲面を複数組み合わせる方法が提案されている（例えば非特許文献１参照）。また、粗く定義された点群データに曲面をフィッティングさせていくことで陰関数曲面を生成する手法が提案されている（例えば非特許文献２参照）。
【０００４】
しかし、これらのような陰関数曲面を用いた手法では、複雑なキャラクターを詳細に表現することは難しかった。また、詳細な形状を表現する曲面データを生成しようとすると、多大な計算コストが必要となるという問題があった。
【０００５】
近年になって、符号付距離関数を用いて陰関数曲面を生成する、レベルセット法と呼ばれる手法が提案されている（例えば非特許文献３、４参照）。符号付距離関数を用いる利点は、形状情報を精度良く表せるという点にある。従って、流体アニメーションを作成する際などに、流体の表面形状の変形を精度良く扱う表現方法として利用されている。
【０００６】
しかしながら、上記従来の提案には、陰関数表現されたある特定の単純な形状の物体について、その物体の形状の変化を如何にしてより精密に表現出来るかという点について開示が為されているに過ぎなかった。そして、どのような手法によって物体を陰関数で表現するのかという具体的手法についての開示は無く、また単純な形状の物体だけでなく、複雑な形状の物体などにも汎用的に陰関数を適用する手法については提案がなされてこなかった。
【非特許文献１】T.Nishita and E.Nakamae著、“A Method for Displaying Metaballs by using Bezie Clipping.”、Proceeding of EUROGRAPHICS、1994年
【非特許文献２】G.Turk and JF.O’Brien著、“Shape transformation using variational implicit surface.”、Proceeding of SIGGRAPH、1999年
【非特許文献３】S.Osher and R.Fedkiw著、“Level Set Methods: An Overview and Some Recent Results”、Journal of Cornputer Physics、Vol.169、2001年
【非特許文献４】D.Enright, S.Marschner and R.Fedkiw著、“Animation and Rendering of Complex Water Surface”、Proceeding of SIGGRAPH、2002年
【発明の開示】
【発明が解決しようとする課題】
【０００７】
この発明は、上記事情に鑑みてなされたもので、その目的は、ポリゴンを用いて表現された様々な形状の物体に対して陰関数表現を適用出来る画像処理方法、画像処理プログラム、及び画像処理コンピュータを提供することにある。
【課題を解決するための手段】
【０００８】
この発明の一態様に係る画像処理方法は、コンピュータを用いた画像処理方法であって、三角形ポリゴンの頂点座標を抽出するステップと、前記頂点座標に基づいて、前記三角形ポリゴンを取り囲む領域を設定するステップと、前記領域内に含まれる格子点から前記三角形ポリゴンまでの距離を計測するステップと、前記格子点から前記三角形ポリゴンまでの距離に基づいて図形を描画するステップとを行う。
【０００９】
またこの発明の一態様に係る画像処理プログラムは、図形を描画するためにコンピュータを、三角形ポリゴンの頂点座標を抽出する座標抽出手段と、前記座標抽出手段によって抽出された前記頂点座標に基づいて、前記三角形ポリゴンを取り囲む領域を形成する領域生成手段と、前記領域生成手段によって形成された前記領域に含まれる格子点から前記三角形ポリゴンまでの距離を計測する距離計測手段と、前記距離計測手段によって計測された前記距離に基づいて図形を描画する図形描画手段として機能させる。
【００１０】
更にこの発明の一態様に係る画像処理コンピュータは、ポリゴンデータが入力される入力手段と、個々の前記ポリゴンを取り囲む領域を形成し、該領域内に含まれる格子点から前記ポリゴンまでの距離を計測し、該計測結果に基づいて陰関数表示による図形描画を行う演算手段と、前記陰関数表示によって得られた前記図形を表示する出力手段とを具備する。
【発明の効果】
【００１１】
この発明によれば、ポリゴンを用いて表現された物体を、効率的に陰関数表現に変換する画像処理方法、画像処理プログラム、及び画像処理コンピュータを提供できる。
【発明を実施するための最良の形態】
【００１２】
以下、この発明の実施形態を図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。なお、以下に述べる実施形態において、例えば（ｒ→）等で使用される矢印記号はベクトルを表すものと規定し、記号論理で用いられる「導出」や、集合論で用いられる「像」を意味するものではない。
【００１３】
この発明の第１の実施形態に係る画像処理方法、画像処理プログラム、及び画像処理コンピュータについて、図１を用いて説明する。図１は、本実施形態に係る画像処理コンピュータの内部構成を示すブロック図である。
【００１４】
図示するように、本実施形態に係る画像処理コンピュータ１０は、ＣＰＵ１１、メインメモリ１２、メモリ１３、入力装置１４、出力装置１５、及びデータバス１６を備えている。
【００１５】
ＣＰＵ１１は、画像処理時において、メモリ１３から画像処理プログラム１７をメインメモリ１２に読み出す。そして、メインメモリ１２に保持された画像処理プログラム１７に従って画像処理を行う。メインメモリ１２は、画像処理時において、上記画像処理プログラム１７の他、ＣＰＵ１１において頻繁に使用されるデータ等を保持する。メモリ１３は、読み書き可能な例えば不揮発性の半導体メモリである。そして、種々のプログラム及びデータを保持する。入力装置１４は、外部からデータを取り込む。出力装置１５は、ＣＰＵ１１で描画した画像を出力する、例えばディスプレイやプリンタ等である。データバス１６は、画像処理コンピュータ１０内における各ブロック間のデータの授受を行う。
【００１６】
次に、上記構成の画像処理コンピュータ１０の動作について説明する。画像処理コンピュータ１０は、ポリゴン等によってパラメトリック表現された物体を陰関数表現に変換する。この様子を示しているのが図２である。図２は、ポリゴンによって表現された物体と、陰関数表現された物体の模式図である。図示するように、例えば球状物体が三角形ポリゴンで表現されていたとする。画像処理コンピュータ１０は、当該球状物体を陰関数を用いて表現する。
【００１７】
陰関数表現とは次のようなものである。すなわち、ある物体の表面Ｓ⊂Ｒ３が与えられたとき、この表面Ｓの陰関数表現とは、ある実数値ｔと実数値関数φ（ｒ→）で、  
ｒ→∈Ｓ  ⇔  φ（ｒ→）＝ｔ  
を満たすような組｛ｔ、φ（ｒ→）｝のことである。但し、ｒ→∈Ｒ３は３次元空間内において位置を表す。そして、一般性を失うことなくｔ＝０として良く、通常、φ（ｒ→）＝０として、物体の表面は定義される。本実施形態では、φ（ｒ→）を関数の形ではなく、物体の表面位置の形で用いる。その際、物体の表面位置は符号付最短距離を用いて表される。符号付最短距離を用いた関数は、ある点ｒ→の表面Ｓ上の最近傍点までの距離に、最近傍点が表面の表側である場合には正の符号を、裏面にある場合には負の符号を付けた値を返す。符号付最短距離については、後により具体的に説明する。
【００１８】
画像処理コンピュータ１０によって、ポリゴン表現を陰関数表現に変換する具体的な方法について、図３を用いて説明する。図３は、本実施形態に係る画像処理コンピュータによって、ポリゴン表現を陰関数表現に変換する方法を示すフローチャートである。
【００１９】
図３に示すように、まず図１における入力手段１５を介して、ポリゴンを用いて表現された物体のデータが、例えば画像処理コンピュータ１０のメモリ１３に読み込まれる（ステップＳ１０）。
【００２０】
次にＣＰＵ１１は、メモリ１３から画像処理プログラム１７をメインメモリ１２に読み出す。なお、画像処理プログラム１７は、メモリ１３ではなく携帯用磁気記録媒体から読み出されるものであっても良いし、またはインターネットを介してウェブサイトからダウンロードしてくるものであっても良い。同時にＣＰＵ１１は、メモリ１３から、ステップＳ１０で取り込んだ物体のデータをメインメモリ１２に読み出す。そしてＣＰＵ１１は、メインメモリ１２に読み出した画像処理プログラム１７に従って、ポリゴンで表現された物体の画像処理を行い、当該物体を陰関数表現に変換する。この一連の処理について以下説明する。
【００２１】
まずＣＰＵ１１は、メインメモリ１２に読み出した物体のデータから、当該物体表面を形成するポリゴンが、全て三角形ポリゴン（triangular-shaped polygon）であるかどうかを確認する（ステップＳ１１）。いずれかのポリゴンが、四角形以上の多角形ポリゴン（ｎ角形ポリゴン；ｎ＞３）を含む場合には、ＣＰＵ１１は、当該ポリゴンを三角形ポリゴンに分割する（ステップＳ１２）。この様子を示しているのが図４である。図４では、球状物体の表面に四角形ポリゴンが存在している場合を示しており、ＣＰＵ１１は四角形ポリゴンを２つの三角形ポリゴンに分割する。勿論、五角形ポリゴンや六角形ポリゴンが含まれている場合にも同様の処理が行われ、それぞれの場合には、３つ及び４つの三角形ポリゴンに分解される。このステップＳ１２の処理によって、物体表面を形成するポリゴンは全て三角形ポリゴンとなる。
【００２２】
次にＣＰＵ１１は、各々の三角形ポリゴンの頂点座標を抽出する（ステップＳ１３）。この様子を示しているのが図５である。図示するように、ある原点Ｏからｒ１→、ｒ２→、ｒ３→で表される３つの頂点Ｐ１、Ｐ２、Ｐ３を有する三角形ポリゴンＴＰがあったとする。するとＣＰＵ１２は、３次元空間内における頂点Ｐ１、Ｐ２、Ｐ３それぞれの座標（ｘ１、ｙ１、ｚ１）、（ｘ２、ｙ２、ｚ２）、（ｘ３、ｙ３、ｚ３）を求める。この処理は、物体表面を表現する全ての三角形ポリゴンについて行われる。
【００２３】
引き続きＣＰＵ１１は、ステップＳ１３で求めた頂点座標に基づいて、境界箱（bounding box）ＢＢまたは境界球（bounding sphere）ＢＳを生成する（ステップＳ１４）。図６は境界箱ＢＢの例を３次元的に示している。図示するように、境界箱ＢＢは、１つの三角形ポリゴンＴＰを取り囲むような空間のことである。境界箱ＢＢまたは境界球ＢＳを生成する際、ＣＰＵ１１は、一定間隔で配列された格子点を生成する。境界箱ＢＢの場合には、格子点ＬＰは三角形ポリゴンＴＰを取り囲む空間、すなわち直方体が観念され、少なくともこの直方体の角部に格子点が配置される。境界箱ＢＢまたは境界球ＢＳは、この格子点の集まりとして生成される。図７は、境界箱ＢＢの例を、２次元的に示している。図示するように、三角形ポリゴンＴＰが位置する三次元空間内に、複数の格子点（lattice point）ＬＰが格子状に配列される。なお図７は２次元的に空間を図示しているので、三角形ポリゴンは線分として見ることが出来る。
【００２４】
なお図８に示すように、境界箱ＢＢは、三角形ポリゴンＴＰのサイズよりも、数格子点分（ε）だけ大きいサイズで生成される。図９は境界球ＢＳの場合について示しており、境界箱ＢＢの場合と同様に、三角形ポリゴンＴＰの周囲を取り囲み且つ三角形ポリゴンＴＰよりもεだけ大きいサイズで生成される。以下の説明では、境界箱ＢＢの場合を例に挙げて説明するが、境界球ＢＳの場合であっても全く同様である。
【００２５】
次にＣＰＵ１１は、境界箱ＢＢに含まれる格子点ＬＰから、当該境界箱ＢＢに含まれる三角形ポリゴンＴＰまでの符号付最短距離を測定する（ステップＳ１５）。符号付最短距離Ｄ（ｒ→）の測定方法について、図１０乃至図１３を用いて説明する。図１０は、三角形ポリゴンＴＰの面を含む平面を三次元的に示す模式図であり、三角形ポリゴンＴＰの面を含む平面をＸ−Ｙ平面とし、Ｘ−Ｙ平面の法線ベクトルをＺ軸としている。また図１１及び図１３はＸ−Ｚ平面、図１２はＸ−Ｙ平面について示している。図１１及び図１３において、Ｘ軸とＺ軸との交点から、図面を記載した紙面に垂直な方向がＹ軸方向となる。図１２では、Ｘ軸とＹ軸との交点から、図面を記載した紙面に垂直な方向がＺ軸となる。
【００２６】
まず、図１０及び図１１に示すように、任意の格子点Ａ１またはＡ２が与えられたとき、その格子点をｒ→＝（ｘ、ｙ、ｚ）とする。ｒ→の原点を原点Ｏとする。また、三角形ポリゴンＴＰ上に存在する、ｒ→の最近傍点をｒｎ→＝（ｘｎ、ｙｎ、ｚｎ）とする。そして、図１０に示すように、三角形ポリゴンＴＰのいずれかの頂点を原点Ｏ’とし、原点Ｏ’から三角形ポリゴンＴＰのいずれか一辺をＸ軸、三角形ポリゴンＴＰを含む平面内においてＸ軸に垂直な方向をＹ軸、三角形ポリゴンＴＰを含む平面の法線ベクトルをＺ軸とする座表系にｒ→を変換し、ｒ’→＝（ｘ’、ｙ’、ｚ’）とする。更に、ｒ’→のＸ−Ｙ平面上への射影点を、ｒ０’→＝（ｘ’、ｙ’、０）とする。そして、三角形ポリゴンＴＰ内において、ｒ０’→から最も近い格子点がｒｎ→となる。よって、図１１から明らかなように、任意の格子点から、最近傍の格子点までの距離の絶対値は、｜ｒ→−ｒｎ→｜で与えられる。そして符号付最短距離Ｄ（ｒ→）は、sgn（ｚ’）｜ｒ→−ｒｎ→｜で求めることが出来る。但し、sgn（ｚ’）は、ＸＹＺ座標系において、着目している格子点のｚ’が正の値であるか、または負の値であるかを示す関数である。
【００２７】
以下、格子点Ａ１及びＡ２の場合を例に挙げて、具体的に符号付最短距離Ｄ（ｒ→）の測定方法を説明する。格子点Ａ１の場合をＣＡＳＥ１、格子点Ａ２の場合をＣＡＳＥ２として、まずＣＡＳＥ１から説明する。
【００２８】
まず、格子点Ａ１の位置ｒ→を、ＸＹＺ座標系に変換し、ｒ’→とする。そして、格子点Ａ１をＸ−Ｙ平面に射影する。この射影位置がｒ０’→＝（ｘ’、ｙ’、０）である。すると、図１０、図１１に示されるように、ＣＡＳＥ１ではｒ０’→は三角形ポリゴンＴＰの面内にあるので、ｒ０’→＝（ｘ’、ｙ’、０）＝ｒｎ→＝（ｘｎ、ｙｎ、ｚｎ）であり、格子点Ａ１の位置ｒ’→と最近傍格子点Ｂ１の位置ｒｎ→とは、Ｘ座標及びＹ座標の位置において等しい。従って、格子点Ａ１における符号付最短距離Ｄ（ｒ→）は、sgn（ｚ’）｜ｒ→−ｒｎ→｜＝＋ｚ’となる（図１１参照）。
【００２９】
次にＣＡＳＥ２について説明する。ＣＡＳＥ１と同様に、格子点Ａ２の位置ｒ→を、ＸＹＺ座標系に変換し、ｒ’→とする。そして、格子点Ａ２をＸ−Ｙ平面に射影する。この射影位置がｒ０’→＝（ｘ’、ｙ’、０）である。すると、図１０、図１１に示されるように、ＣＡＳＥ２ではｒ０’→は三角形ポリゴンＴＰの外にある。従って、格子点Ａ２の最近傍点Ｂ２の位置ｒｎ→＝（ｘｎ、ｙｎ、ｚｎ）は、格子点Ａ２の射影点ｒ０’→＝（ｘ’、ｙ’、０）と異なる。そして最近傍点Ｂ２は、射影点ｒ０’→から、三角形ポリゴンＴＰの一辺に対して垂直に下ろした位置にある（図１０参照）。従って、格子点Ａ１における符号付最短距離Ｄ（ｒ→）は、sgn（ｚ’）｜ｒ→−ｒｎ→｜＝＋｜ｒ→−ｒｎ→｜（≠ｚ’）となる（図１１参照）。
【００３０】
上記のように、ＣＡＳＥ１では最近傍格子点が三角形ポリゴンＴＰの面内に存在するのに対し、ＣＡＳＥ２とでは三角形ポリゴンＴＰの辺上に存在する。この点につき、図１２を用いて説明する。任意の格子点と、三角形ポリゴン上において当該格子点に最近接な格子点との関係を考慮すれば、Ｘ−Ｙ平面は図示するような３つの領域ＡＲＥＡ１、ＡＲＥＡ２、ＡＲＥＡ３に分けることが出来る。まず領域ＡＲＥＡ１は、三角形ポリゴンＴＰの面内の領域である。領域ＡＲＥＡ２は、三角形ポリゴンＴＰの頂点から、各辺に直角に交わる直線を引いた際に、平行な２本の直線によって挟まれた領域である。そして領域ＡＲＥＡ３は、ＡＲＥＡ１及びＡＲＥＡ２を除いた領域である。
【００３１】
任意の格子点をＸ−Ｙ平面に射影した際、その射影位置がＡＲＥＡ１内にあった場合、ｒ０’→＝ｒｎ→であり、ｒｎ→は三角形ポリゴンＴＰの面内に存在する。この場合が、上記ＣＡＳＥ１に相当する。
【００３２】
また、射影位置がＡＲＥＡ２内にあった場合、ｒ０’→≠ｒｎ→であり、ｒｎ→は三角形ポリゴンＴＰの辺上に存在する。そして、Ｘ−Ｙ平面内におけるｒ０’→とｒｎ→とのずれの大きさは、（｜ｒｎ→−ｒ０’→｜２）１／２である。この場合が、上記ＣＡＳＥ２に相当する。
【００３３】
更に、射影位置がＡＲＥＡ３内にあった場合、ｒ０’→≠ｒｎ→であり、ｒｎ→は三角形ポリゴンＴＰの頂点に存在する。そして、Ｘ−Ｙ平面内におけるｒ０’→とｒｎ→とのずれの大きさは、（｜ｒｎ→−ｒ０’→｜２）１／２である。
【００３４】
なお、図１１及び図１２の例では、格子点Ａ１、Ａ２のＺ軸の値が正である場合について説明したが、図１３は、格子点Ａ１のＺ軸の値が負である場合について示している。この場合には、sgn（ｚ’）がマイナスとなる。符号関数sgn（ｚ’）がプラスであるかマイナスであるかは、当該格子点が三角形ポリゴンＴＰの外側にあるか内側にあるかを示している。すなわち、sgn（ｚ’）がプラスである場合には、当該格子点Ａ１は、三角形ポリゴンＴＰによって表現される物体表面の外部に存在し、sgn（ｚ’）がマイナスである場合には、当該格子点Ａ１は、三角形ポリゴンＴＰによって表現される物体表面の内部に存在することになる。
【００３５】
以上のようにしてステップＳ１５の処理が行われる。このステップＳ１５の処理は、当該境界箱ＢＢ内に含まれる全ての格子点ＬＰについて繰り返し行われる（ステップＳ１６、Ｓ１７）。全ての格子点ＬＰについてステップＳ１５の処理が終了した時点で、当該境界箱ＢＢについての符号付最短距離Ｄ（ｒ→）が確定する（ステップＳ１８）。
【００３６】
上記のように、ステップＳ１４〜Ｓ１８によって、１つの三角形ポリゴンＴＰについて符号付最短距離Ｄ（ｒ→）が求められる。ＣＰＵ１１は、このステップＳ１４〜Ｓ１８の処理を、全ての三角形ポリゴンに対して繰り返し行う（ステップＳ１９、Ｓ２０）。全ての三角形ポリゴンについて上記処理が終了すると、ＣＰＵ１１は、三角形ポリゴン毎に求められた符号付最短距離Ｄ（ｒ→）に基づいて、対象物体を描画する（ステップＳ２１）。
【００３７】
対象物体は、符号付最短距離Ｄ（ｒ→）＝０となる点の集合として描画される。ステップＳ１５によって、各格子点から三角形ポリゴンまでの距離が求められている。従って、複数の格子点からの三角形ポリゴンまでの距離を重ね合わせることで、三角形ポリゴンの表面の位置が分かる。すなわち、符号付最短距離Ｄ（ｒ→）＝０を満たす点の集合こそが、陰関数φ（ｒ→）＝０を満たし、対象物体の表面Ｓを表す陰関数の解となる。このように、本実施形態では、陰関数φ（ｒ→）そのものを求めるのではなく、符号付最短距離Ｄ（ｒ→）＝０の集合を求めることによって、物体を実質的に陰関数φ（ｒ→）に変換している。
【００３８】
なお、前述の通り符号付最短距離Ｄ（ｒ→）はポリゴン毎に求められる。従って、符号付最短距離Ｄ（ｒ→）を単に重ね合わせるだけでは、隣接するポリゴン間の関係を維持できない場合が有り得る。この様子を示しているのが図１４、図１５である。図１４、図１５は、隣接する三角形ポリゴンＴＰ１、ＴＰ２について、符号付最短距離Ｄ（ｒ→）を求める際の様子を示す模式図であり、図１４は三次元、図１５は２次元的に示している。
【００３９】
図１４、図１５に示すように、２つの三角形ポリゴンＴＰ１、ＴＰ２は、それぞれの頂点Ｐ１、Ｐ２で接するものとする。ところが、図１４に示すように、三角形ポリゴンＴＰ１、ＴＰ２はそれぞれ別々の境界箱ＢＢ１、ＢＢ２によって符号付最短距離Ｄ（ｒ→）が求められる。従って、図１５に示すように、ポリゴン表現を陰関数表現に変換する際、頂点Ｐ１、Ｐ２が一致しない恐れがある。この場合には図１６に示すように、ＣＰＵ１１は頂点Ｐ１、Ｐ２とが一致するように、物体表面の位置を調整する。なお図１５、図１６において斜線を付した領域は、符号関数sgn（ｚ’）が負である領域である。そして、２つのポリゴンＴＰ１、ＴＰ２を一致させると、図１６に示すように、２つのポリゴンＴＰ１、ＴＰ２によって取り囲まれる領域内に、符号関数sgn（ｚ’）が負である領域が閉じこめられる。すなわち、例えば図２に示すような球状物体を考えた場合、球状物体の表面Ｓにおいては符号付距離関数Ｄ（ｒ→）＝０であり、球状物体内の領域には符号関数sgn（ｚ’）がマイナスである領域が閉じこめられ、球状物体の外側の領域は符号関数sgn（ｚ’）がプラスである領域となる。
【００４０】
以上のようにして、ポリゴン表現された物体が、陰関数表現に変換され、ＣＰＵ１１は陰関数で表現された物体を出力装置１５から出力する。図１７及び図１８は、本実施形態で説明した方法によって物体を陰関数で表現した例を示し、（９０×９０×９０）個の境界箱によって陰関数への変換を行っている。図１９及び図２０は、図１７及び図１８に示す物体をポリゴン表現した場合の例について示しており、それぞれ頂点数が８７５４個、面が１７５０４個で表現した場合を図示している。図１７及び図１８と図１９及び図２０とを比較して明らかなように、ポリゴン表現の場合よりも、本実施形態で説明した陰関数表現の場合の方が、物体表面が滑らかであり、より自然に表現出来ることが分かる。
【００４１】
図２１乃至図２３は、図１７及び図１８の断面図であり、それぞれＸ−Ｙ平面、Ｘ−Ｚ平面、及びＹ−Ｚ平面について示している。図中において、赤色で示される領域は符号関数sgn（ｚ’）がマイナスである領域、青色で示される領域はプラスである領域、緑色で示される領域はほぼゼロに近い領域を示している。図示するように、物体内部には符号関数sgn（ｚ’）がマイナスである領域が閉じこめられ、物体外部は符号関数sgn（ｚ’）がプラスである領域となっている。このように実際には、厚みのない表面に厚みを持たせることにより、物体表面付近で起きている現象を簡略化して扱うことも出来る。
【００４２】
上記のように、本実施形態に係る画像処理方法、画像処理プログラム、及び画像処理コンピュータによれば、下記（１）、（２）の効果が得られる。
【００４３】
（１）汎用性の高い陰関数表現方法が得られる。  
本実施形態に係る方法であると、まず個々の三角形ポリゴンＴＰ毎に符号付距離関数Ｄ（ｒ→）を求めている。そして、Ｄ（ｒ→）＝０となる点の集合を用いて、物体を陰関数φ（ｒ→）で表現している。従って、対象物体の形状にかかわらず、ポリゴン表現を陰関数表現に変換することが出来る。すなわち、如何に複雑な形状の物体であっても、確実且つ容易に陰関数表現を得ることが出来、汎用性の高い陰関数表現方法が提供される。
【００４４】
また、陰関数表現を汎用的に用いることが出来るため、様々な分野において、ポリゴンを用いた場合に比べてよりリアリティのあるアニメーションの作成が可能となる。
【００４５】
（２）物体の衝突判定を簡略化出来る。  
本実施形態に係る陰関数表現は符号付距離関数を用いている。よって、対象物体の内部は符号関数sgn（ｚ’）はマイナス、外部はプラスである。従って、２つの物体の衝突判定が非常に簡便となる。なぜなら、例えば物体Ａに物体Ｂが衝突してきた場合、物体Ｂの表面は物体Ａに接しているか、またはその一部が物体Ａの内部に存在することになる。これは、物体Ｂの表面についての符号関数sgn（ｚ’）に着目することで容易に判断することが出来る。従って、より複雑な物体を含むレーシングゲームや格闘ゲーム等のコンピュータゲームを楽しむことが出来る。
【００４６】
次に、この発明の第２の実施形態に係る画像処理方法、画像処理プログラム、及び画像処理コンピュータについて説明する。本実施形態は、上記第１の実施形態において、物体の輪郭部分を含む領域について、より細かく境界箱を設定するものである。
【００４７】
図２４は、ポリゴン表現された物体（object）ＯＢについて境界箱ＢＢを生成する様子を２次元的に示す模式図であり、図中で示されている正四角形が境界箱ＢＢである。図示するように、本実施形態では場所に応じて境界箱のサイズを調整し、特に対象物体ＯＢの輪郭部分で境界箱のサイズを小さくし、より多くの境界箱ＢＢを生成する。
【００４８】
次に、本実施形態における符号付最短距離Ｄ（ｒ→）の求め方について、図２５のフローチャートを用いて説明する。なお、本実施形態に係る画像処理コンピュータは第１の実施形態と同様の構成であるので説明は省略する。まず、第１の実施形態において説明したステップＳ１１またはＳ１２までの処理を行い、対象物体ＯＢに含まれるポリゴンの全てを三角形ポリゴンに分解する。対象物体ＯＢは、例えば図２６に示すような形状であったとする。但し図２６は対象物体ＯＢを２次元的に示すものである。
【００４９】
引き続きＣＰＵ１１は、メインメモリ１２に読み出した画像処理プログラム１７に従って、格子設定回数ｋをリセットする（ステップＳ３０）。格子設定回数ｋとは、如何に境界箱を細かく分割するかを示す数値であり、詳細は後述する。また、格子設定回数の上限値は予め決められており、ＣＰＵ１１はメインメモリ１２に格子設定回数ｋとその上限値を記憶させる。
【００５０】
次にＣＰＵ１１は、図２７に示すように、対象物体ＯＢが含まれる領域を複数のメッシュＭ１〜Ｍ２５に区切る。個々のメッシュは、一辺の長さがＬの直方体である。そして、メッシュ毎に境界箱ＢＢを生成する（ステップＳ３１）。境界箱ＢＢに含まれる格子点は、第１の実施形態の通りであっても良いし、直方体の８つの頂点にのみ生成されるものであっても良い。なお、図２７も物体ＯＢを２次元的に示しており、対象物体ＯＢが含まれる領域が直方体であるとすれば、図面を記載した紙面に対して垂直な方向に５列の直方体が並ぶこととなり、生成される境界箱ＢＢは（２５個×５列）＝１２５個である。以下の説明も同様であるが、説明の簡略化のために２次元空間において見える２５個のメッシュＭ１〜Ｍ２５についてのみ着目して説明する。
【００５１】
次にＣＰＵ１１は、メッシュＭ１〜Ｍ２５に対応する境界箱ＢＢについて、順次、格子点から三角形ポリゴンまでの符号付最短距離Ｄ（ｒ→）を求める（ステップＳ１５〜Ｓ１７）。Ｄ（ｒ→）の求め方は第１の実施形態で説明したとおりであるので、ここでは説明は省略する。
【００５２】
ある境界箱ＢＢについて全ての格子点における符号付最短距離Ｄ（ｒ→）を求めた後（ステップＳ１６）、ＣＰＵ１１は全ての格子点における符号関数sgn（ｚ’）がプラスであるか否かを判別する（ステップＳ３２）。全ての符号関数sgn（ｚ’）がプラスであれば、当該境界箱ＢＢにおける符号付最短距離Ｄ（ｒ→）を確定させ、次の境界箱ＢＢについて（ステップＳ３９）、ステップＳ１５〜Ｓ１７の処理を行う。ステップＳ３２において、全ての符号関数sgn（ｚ’）がプラスではないと判定された場合には、ＣＰＵ１１は次に全ての符号関数sgn（ｚ’）がマイナスであるか否かを判別する（ステップＳ３３）。全ての符号関数sgn（ｚ’）がマイナスであれば、当該境界箱ＢＢにおける符号付最短距離Ｄ（ｒ→）を確定させ、次の境界箱ＢＢについて（ステップＳ３９）、ステップＳ１５〜Ｓ１７の処理を行う。図２７の例であると、メッシュＭ１から順次処理を進めていくと、まずメッシュＭ６までが、上記処理で符号付最短距離Ｄ（ｒ→）が確定する。
【００５３】
ステップＳ３３で全ての符号関数sgn（ｚ’）がマイナスではないと判定された場合、すなわち、当該境界箱ＢＢには符号関数sgn（ｚ’）がプラスである格子点と符号関数sgn（ｚ’）がマイナスである格子点とが含まれる場合には、当該境界箱ＢＢは対象物体の輪郭部分を含んでいる（ステップＳ３４）。図２７の例であると、まず最初にメッシュＭ７に対応する境界箱ＢＢがこの場合に相当する。するとＣＰＵ１１は、格子設定回数ｋと、メインメモリ１２に記憶されているその上限値とを比較し（ステップＳ１８）、上限値に達していれば、直近に求められた値を符号付最短距離Ｄ（ｒ→）として確定させる（ステップＳ１８）。上限値に達していない場合、ＣＰＵ１１は、当該境界箱ＢＢに対応するメッシュを、一辺がその１／２となるような細かいメッシュに分解する（ステップＳ３６）。この様子を示しているのが図２８である。図２８では、メッシュＭ７についてステップＳ３６の処理を行った様子を示しており、メッシュＭ７は一辺がＬ／２のメッシュＭ７−１０〜Ｍ７−１３に分割されている。そしてＣＰＵ１１は、メッシュＭ７−１０〜Ｍ７−１３に対応して境界箱ＢＢを生成し（ステップＳ３６）、格子設定回数ｋを＋１とする。このように、格子設定回数ｋはメッシュを再分割する回数を表すものであり、その上限値によって、如何にメッシュを細かく設定するかが決定される。ここでは上限値が３である場合を例に挙げて説明する。
【００５４】
ＣＰＵ１１は、メッシュＭ７を分割したメッシュＭ７−１０〜Ｍ７−１３に対応する境界箱ＢＢについて、ステップＳ１５〜ステップＳ３５を繰り返す。すると図２８に示すように、メッシュＭ７内のうちメッシュＭ７−１３にのみ物体ＯＢの輪郭が含まれる。従って、メッシュＭ７−１０〜Ｍ７−１２に対応する境界箱ＢＢ内の格子点の符号関数sgn（ｚ’）は全てプラスであるので（ステップＳ３２）、これらの境界箱ＢＢについては符号付最短距離Ｄ（ｒ→）が確定する（ステップＳ１８）。他方、メッシュＭ７−１３に対応する境界箱ＢＢ内には、符号関数sgn（ｚ’）がプラスの格子点とマイナスの格子点とが混在するので（ステップＳ３２、Ｓ３３）、ＣＰＵ１１はメッシュＭ７−１３を、一辺がＬ／４のメッシュＭ７−２０〜Ｍ７−２３に再分割し、これらのメッシュに対応した境界箱ＢＢを生成する（ステップＳ３６）。この様子を示しているのが図２９である。また格子設定回数はｋ＝２となる（ステップＳ３７）。
【００５５】
そしてＣＰＵ１１は、メッシュＭ７−１３を再分割したメッシュＭ７−２０〜Ｍ７−２３に対応する境界箱ＢＢについて、ステップＳ１５〜Ｓ３５を繰り返す。すると図３０に示すように、メッシュＭ７−１３内のうちメッシュＭ７−２３にのみ物体ＯＢの輪郭が含まれる。従って、メッシュＭ７−２０〜Ｍ７−２２に対応する境界箱ＢＢ内の格子点の符号関数sgn（ｚ’）は全てプラスであるので（ステップＳ３２）、これらの境界箱ＢＢについては符号付最短距離Ｄ（ｒ→）が確定する（ステップＳ１８）。他方、メッシュＭ７−２３に対応する境界箱ＢＢ内には、符号関数sgn（ｚ’）がプラスの格子点とマイナスの格子点とが混在するので（ステップＳ３２、Ｓ３３）、ＣＰＵ１１はメッシュＭ７−２３を、一辺がＬ／８のメッシュＭ７−３０〜Ｍ７−３３に再分割し、これらのメッシュに対応した境界箱ＢＢを生成する（ステップＳ３６）。この様子を示しているのが図３０である。また格子設定回数はｋ＝３となる（ステップＳ３７）。
【００５６】
引き続きＣＰＵ１１は、メッシュＭ７−１３を再分割したメッシュＭ７−２０〜Ｍ７−２３に対応する境界箱ＢＢについて、ステップＳ１５〜Ｓ３５を繰り返す。すると図３０に示すように、メッシュＭ７−１３内のうちメッシュＭ７−２３にのみ物体ＯＢの輪郭が含まれる。従って、メッシュＭ７−３０〜Ｍ７−３２に対応する境界箱ＢＢ内の格子点の符号関数sgn（ｚ’）は全てプラスであるので（ステップＳ３２）、これらの境界箱ＢＢについては符号付最短距離Ｄ（ｒ→）が確定する（ステップＳ１８）。他方、メッシュＭ７−２３に対応する境界箱ＢＢ内には、符号関数sgn（ｚ’）がプラスの格子点とマイナスの格子点とが混在する（ステップＳ３２、Ｓ３３）。しかし、格子設定回数ｋの値が上限値のｋ＝３に達しているので（ステップＳ３５）、ＣＰＵ１１はメッシュＭ７−２３に対応する境界箱ＢＢについても符号付最短距離Ｄ（ｒ→）を確定させる（ステップＳ１８）。
【００５７】
以上によって、メッシュＭ７についての処理が終了し、次にＣＰＵ１１はメッシュＭ８に対応する境界箱ＢＢについてステップＳ１５〜Ｓ３７の処理を行う（ステップＳ３８、Ｓ３９）。メッシュＭ８内にも物体ＯＢの輪郭が含まれているので、ＣＰＵ１１はメッシュＭ７の場合と同様、所定のメッシュについて、格子設定回数ｋが上限値に達するまで再分割を繰り返して、符号付最短距離Ｄ（ｒ→）を確定させる。この様子を示しているのが図３１である。
【００５８】
以下、メッシュＭ９からＭ２５まで同様の処理を繰り返す。図２７に示すように、メッシュＭ１０、Ｍ１１、Ｍ１５、Ｍ１６、Ｍ２０、Ｍ２１、Ｍ２５に対応する境界箱ＢＢ内の格子点の符号関数sgn（ｚ’）は全てプラスであるので（ステップＳ３２）、メッシュを再分割することなく符号付最短距離Ｄ（ｒ→）が確定する。すなわち、これらは対象物体ＯＢの外部にある領域だからである。またメッシュＭ１３、Ｍ１８に対応する境界箱ＢＢの格子点の符号関数sgn（ｚ’）は全てマイナスであるので（ステップＳ３３）、やはりメッシュを再分割することなく符号付最短距離Ｄ（ｒ→）が確定する。逆にこれらは対象物体ＯＢの内部にある領域だからである。メッシュＭ９、Ｍ１２、Ｍ１４、Ｍ１７、Ｍ１９、Ｍ２２〜Ｍ２４に対応する境界箱ＢＢは、物体ＯＢの輪郭を含む。従って、上記メッシュＭ７、Ｍ８と同様に、メッシュの再分割を繰り返すことによって符号付最短距離Ｄ（ｒ→）が確定する。
【００５９】
以上のようにして、全ての境界箱ＢＢについて符号付最短距離Ｄ（ｒ→）が求まった後（ステップＳ３８）、第１の実施の形態で説明したステップＳ２１の処理を行い、陰関数表現によって対象物体ＯＢを描画する。
【００６０】
上記のように、本実施形態に係る画像処理方法、画像処理プログラム、及び画像処理コンピュータであると、第１の実施形態で説明した（１）、（２）の効果に加えて、下記（３）の効果を併せて得ることが出来る。
【００６１】
（３）計算量を削減しつつ、物体をより精度良く表現することが出来る。  
本実施形態によれば、位置に応じて境界箱のサイズを変化させている。すなわち、符号関数sgn（ｚ’）に基づいて、当該境界箱が物体の輪郭を含むか否かを判別する。そして、物体の輪郭部分を含む領域については、複数の小さい境界箱を用いて多数の格子点から符号付最短距離Ｄ（ｒ→）を求めている。逆に、輪郭部分を含まない領域については、大きな境界箱を用いて少ない格子点から符号付最短距離Ｄ（ｒ→）を求めている。対象物体を陰関数表現によって描画するには、その表面の位置が認識できれば十分であるので、輪郭部分を含まない領域について格子点の数を少なくしても、物体表面の精度には悪影響を与えない。
【００６２】
このように、輪郭部分を含まない領域において格子点を大幅に削減することによって、ＣＰＵ１１による計算量を削減することが出来る。同時に、輪郭部分を含む領域については格子点を増加させることにより、対象物体をより精密に表現することが可能となる。
【００６３】
次に、この発明の第３の実施形態に係る画像処理方法、画像処理プログラム、及び画像処理コンピュータについて、図３２を用いて説明する。本実施形態は、上記第１、第２の実施形態において、１つの境界箱に複数の三角形ポリゴンが含まれている場合に関するものである。図３２は、本実施形態に係る画像処理方法のフローチャートの一部である。
【００６４】
図示するように、まず第１、第２の実施形態で説明した方法により、ステップＳ１５までの処理を行い、いずれかの格子点から三角形ポリゴンまでの符号付最短距離Ｄ（ｒ→）を求める。次に、当該境界箱ＢＢ内に複数の三角形ポリゴンＴＰが含まれるか否かを判定する（ステップＳ４０）。図３３は、１つの境界箱ＢＢ内に６個の三角形ポリゴンＴＰ１〜ＴＰ６が含まれる例を示している。
【００６５】
境界箱ＢＢ内に三角形ポリゴンＴＰが１つしか含まれない場合には、ステップＳ１６に進む。すなわちＣＰＵ１１は第１の実施形態と同様の処理を行う。他方、図３３のように複数の三角形ポリゴンＴＰ１〜ＴＰ６が含まれている場合には、ＣＰＵ１１は当該格子点における符号付最短距離Ｄ（ｒ→）が、現在着目している三角形ポリゴン（例えばＴＰ１）と別の三角形ポリゴン（ＴＰ２〜ＴＰ６）によって既に求められているかどうかを確認する（ステップＳ４１）。未だ、他の三角形ポリゴンＴＰ２〜ＴＰ６によって符号付最短距離Ｄ（ｒ→）が求められていない場合には、ステップＳ１６に進み、次の格子点について処理を行う。
【００６６】
当該格子点における符号付最短距離Ｄ（ｒ→）が既に他の三角形ポリゴンＴＰ２〜Ｐ６によって求められている場合（この値を従前の値と呼ぶことにする）、ＣＰＵ１１は、当該三角形ポリゴンＴＰ１で求めた最新の符号付最短距離Ｄ（ｒ→）（この値を最新の値と呼ぶことにする）と従前の値とを比較する（ステップＳ４２）。最新の値が従前の値よりも小さい場合には、ＣＰＵ１１は従前の値を破棄して、当該格子点における符号付最短距離Ｄ（ｒ→）を、最新の値に更新して、ステップＳ１６に進む。
【００６７】
最新の値が従前の値より小さくない場合には（ステップＳ４２）、ＣＰＵ１１は次に最新の値が従前の値と等しいか否かを判定する（ステップＳ４３）。等しくない場合、すなわち、最新の値が従前の値よりも大きい場合には、符号付最短距離Ｄ（ｒ→）を更新することなく、ステップＳ１６に進む。この場合、最新の値は破棄される。ステップＳ４３において、最新の値と従前の値とが等しい場合、次にＣＰＵ１１は、Ｘ−Ｙ平面における射影点のずれを確認する（ステップＳ４４）。
【００６８】
ステップＳ４４について、図３３に示す境界箱ＢＢにおいて三角形ポリゴンＴＰ２のＤ（ｒ→）を求める際に、既に三角形ポリゴンＴＰ１のＤ（ｒ→）が既知である場合を例にして説明する。当該格子点における符号付最短距離Ｄ（ｒ→）がＴＰ１、ＴＰ２間で等しい場合、それぞれの場合について、Ｘ−Ｙ座標への射影点と最近傍格子点とのずれを比較する。図３４に示すように、既に符号付最短距離Ｄ（ｒ→）が既知である三角形ポリゴンＴＰ１について、現在着目している格子点ＬＰからＸ−Ｙ座標への射影点ベクトルをｒ０１’→とし、最近傍点ベクトルをｒｎ１→とする。すると、ｒ０１’→とｒｎ１→とのずれ、すなわち両者の間隔ｄ１は、（｜ｒｎ１→−ｒ０１’→｜２）１／２である。
【００６９】
また、図３５に示すように、現在着目している三角形ポリゴンＴＰ２について、格子点ＬＰからＸ−Ｙ座標への射影点ベクトルをｒ０２’→とし、最近傍点ベクトルをｒｎ２→とする。すると、ｒ０２’→とｒｎ２→とのずれ、すなわち両者の間隔ｄ２は、（｜ｒｎ２→−ｒ０２’→｜２）１／２である。
【００７０】
そして、ｄ２＜ｄ１であったとする。すなわち、現在着目している三角形ポリゴンＴＰ２の方が、Ｄ（ｒ→）が既知である三角形ポリゴンＴＰ２よりも、そのＸ−Ｙ座標におけるずれが小さかったとする。この場合、ＣＰＵ１１は当該格子点における符号付最短距離Ｄ（ｒ→）を、三角形ポリゴンＴＰ２によって求めた最新の値に更新して（ステップＳ４５）、ステップＳ１６の処理に進む。逆に、ｄ２＞ｄ１であった場合には、最新の値を破棄し、符号付最短距離Ｄ（ｒ→）の更新は行わずにステップＳ１６の処理に進む。
【００７１】
本実施形態によれば、第１、第２の実施形態で説明した（１）乃至（３）の効果に加えて、下記（４）の効果を併せて得ることが出来る。
【００７２】
（４）物体を更に精度良く表現することが出来る。  
本実施形態に係る方法であると、ある境界箱において、物体表面の位置が複数のポリゴンで求められている場合、その表面を示す符号付最短距離Ｄ（ｒ→）が小さい方を用いて陰関数表現を行っている。また複数のポリゴン間で符号付最短距離Ｄ（ｒ→）が等しい場合には、Ｘ−Ｙ平面内における射影点から三角形ポリゴンまでのずれの小さい方の符号付最短距離Ｄ（ｒ→）を用いている。従って、物体表面をより精度良く表現することが出来る。
【００７３】
なお、本実施形態は、特に第２の実施形態に関連して効果が得られるものである。第１の実施形態では、個々のポリゴン毎に境界箱を生成されるが、第２の実施形態では所定の領域ごとに境界箱を生成する場合に関連するため、１つの境界箱に複数のポリゴンが含まれる可能性が非常に高いためである。
【００７４】
次に、この発明の第４の実施形態に係る画像処理方法及び画像処理プログラムについて説明する。本実施形態は、上記第１乃至第３の実施形態で説明した画像処理を、ソフトウェア処理ではなく画像処理用ＬＳＩで実現するものである。図３６は、本実施形態に係るシステムＬＳＩのブロック図である。
【００７５】
図示するように、本実施形態に係る画像描画プロセッサシステムＬＳＩ１８は、ホストプロセッサ２０、Ｉ／Ｏプロセッサ３０、メインメモリ４０、及びグラフィックプロセッサ５０を備えている。ホストプロセッサ２０とグラフィックプロセッサ５０とは、プロセッサバスＢＵＳによって、相互に通信可能に接続されている。
【００７６】
ホストプロセッサ２０は、メインプロセッサ２１、Ｉ／Ｏ部２２〜２４、及び複数の信号処理部（ＤＳＰ：Digital Signal Processor）２５を備えている。これらの回路ブロックは、ローカルネットワークＬＮ１によって相互に通信可能に接続されている。メインプロセッサ２１は、ホストプロセッサ２０内の各回路ブロックの動作を制御する。Ｉ／Ｏ部２２は、Ｉ／Ｏプロセッサ３０を介してホストプロセッサ２０外部とデータの授受を行う。Ｉ／Ｏ部２３は、メインメモリ４０との間でデータの授受を行う。Ｉ／Ｏ部２４は、プロセッサバスＢＵＳを介してグラフィックプロセッサ５０との間でデータの授受を行う。信号処理部２５は、メインメモリ４０や外部から読み込んだデータに基づいて信号処理を行う。
【００７７】
Ｉ／Ｏプロセッサ３０は、ホストプロセッサ２０と、例えば汎用バス、ＨＤＤやＤＶＤ（Digital Versatile Disc）ドライブ等の周辺機器並びにネットワークとを接続する。この際、ＨＤＤやＤＶＤドライブは、ＬＳＩ１８に搭載されているものでも良いし、またはＬＳＩ１８外部に設けられていても良い。
【００７８】
メインメモリ４０は、ホストプロセッサ２０が動作するために必要なプログラムを保持する。このプログラムは、例えば図示せぬＨＤＤ等から読み出されて、メインメモリ４０に格納される。
【００７９】
グラフィックプロセッサ５０は、コントローラ５１、Ｉ／Ｏ部５２、５３、演算処理部５４を備えている。コントローラ５１は、ホストプロセッサ２０との間の通信や、演算処理部５４の制御を行う。Ｉ／Ｏ部５２は、プロセッサバスＢＵＳを介したホストプロセッサ２０との間の入出力を司る。Ｉ／Ｏ部５３は、ＰＣＩ等の各種汎用バス、ビデオ及びオーディオ、更に外部メモリ等との入出力を司る。演算処理部５４は、画像処理演算を行う。
【００８０】
演算処理部５４は、ラスタライザ（rasterizer）５５、及び複数の信号処理部５６−０〜５６−３１を備えている。なお、本実施形態では信号処理部５６の数を３２個にしているが、これは一例に過ぎず、８個、１６個、６４個等でも良く、その数は限定されるものではない。演算処理部５４の詳細な構成について、図２を用いて説明する。図２はグラフィックプロセッサ５０のブロック図である。
【００８１】
図示するように、演算処理部５４は、ラスタライザ５５と、３２個の信号処理部５６−０〜５６−３１を備えている。ラスタライザ５５は、入力された図形情報に従って、ピクセル（pixel）を生成する。ピクセルとは、所定の図形を描画する際に取り扱われる最小単位の領域のことであり、ピクセルの集合によって図形が描画される。生成されるピクセルは、図形の形状（図形の占める位置）によって決まっている。すなわち、ある位置を描画する際にはその位置に対応したピクセルが生成され、また別の位置を描画する際には、対応する別のピクセルが生成される。信号処理部５６−０〜５６−３１はそれぞれ、ピクセル処理部ＰＰＵ０〜ＰＰＵ３１、及びピクセル処理部毎に設けられたローカルメモリＬＭ０〜ＬＭ３１を含んでいる。
【００８２】
ピクセル処理部ＰＰＵ０〜ＰＰＵ３１はそれぞれ、４個のリアライズパイプＲＰ（realize pipe）を有しており、４個のリアライズパイプＲＰが１個のＲＰクラスタＲＰＣ（realize pipe cluster）を形成している。ＲＰクラスタＲＰＣのそれぞれは、ＳＩＭＤ（Single Instruction Multiple Data）動作を行って、４個のピクセルを同時に処理する。そして、図形のそれぞれの位置に対応するピクセルは各ピクセル処理部ＰＰＵ０〜ＰＰＵ３１に割り当てられており、図形の占める位置に応じて、対応するピクセル処理部ＰＰＵ０〜ＰＰＵ３１がピクセルを処理する。
【００８３】
ローカルメモリＬＭ０〜ＬＭ３１はそれぞれ、ピクセル処理部ＰＰＵ０〜ＰＰＵ３１によって生成されたピクセルデータを記憶する。ローカルメモリＬＭ０〜ＬＭ３１は、全体としてリアライズメモリ（realize memory）を形成する。リアライズメモリは、例えば１つのＤＲＡＭであり、その内の所定のデータ幅を有する各メモリ領域が、それぞれローカルメモリＬＭ０〜ＬＭ３１に相当する。
【００８４】
上記構成のグラフィックプロセッサ５０において、ポリゴン表現された物体のデータが、Ｉ／Ｏ部５２または５３に入力される。入力されたデータに基づき、ラスタライザ５５は、ｎ角形（ｎ＞３）ポリゴンの三角形ポリゴンへの分解処理（ステップＳ１１、Ｓ１２）、三角形ポリゴンの頂点座標の抽出処理（ステップＳ１３）、及び境界箱または境界球の設定処理（ステップＳ１４）を行う。そして、ラスタライザ５５はこれらの情報を信号処理部５６−０〜５６−３１へ投入する。信号処理部５６−０〜５６−３１では、各々が異なる境界箱（ポリゴン）についての処理（ステップＳ１５〜Ｓ１８）を並列的に行う。またそれぞれの信号処理部５６−０〜５６−３１においては、複数のリアライズパイプＲＰによって、複数の格子点について並列的に処理を行うことが出来る。そして、信号処理部５６−０〜５６−３１で得られた符号付最短距離Ｄ（ｒ→）によって、物体が陰関数表現によって描画される。なお符号付最短距離Ｄ（ｒ→）は、ローカルメモリＬＭ０〜ＬＭ３１に記憶される。また信号処理部５６−０〜５６−３１は、第２の実施形態で説明したステップＳ３２〜Ｓ３４の処理が可能である。この場合、ステップＳ３０、Ｓ３１、Ｓ３５、Ｓ３６、Ｓ３７の処理を、例えばラスタライザ５５が行い、格子設定回数ｋはいずれかのメモリに保持される。更に信号処理部５６−０〜５６−３１は、第３の実施形態で説明したステップＳ４０〜Ｓ４５の処理を行うことも可能である。
【００８５】
以上のように、上記第１乃至第３の実施形態で説明した処理は、本実施形態で説明したような画像処理プロセッサを用いても実施することが出来る。
【００８６】
上記のように、この発明の第１乃至第４の実施形態に係る画像処理方法、画像処理プログラム、及び画像処理コンピュータによれば、三角形ポリゴン毎に境界箱を生成し、格子点から三角形ポリゴンまでの符号付最短距離Ｄ（ｒ→）を求めている。そして、全ての三角形ポリゴンついての符号付距離関数Ｄ（ｒ→）を重ね合わせることによって、物体を表現する。すなわち、Ｄ（ｒ→）＝０の点の集合が物体の表面を形成しており、そしてその点の集合が陰関数φ（ｒ→）＝０を満たす。従って、本発明の実施形態に係る方法では、直接的に陰関数φ（ｒ→）＝０を求めるようなことはしていないが、Ｄ（ｒ→）＝０の集合を探索することによって、実質的に陰関数φ（ｒ→）＝０が求められていることになる。本方法によれば、複雑な形状を有する物体であっても、確実に陰関数表現を得ることが出来、汎用性の高い陰関数表現方法が提供出来る。
【００８７】
なお、上記実施形態に係る方法であると、物体表面は、図７に示すように離散化された格子点によって定義される。従って、図１０乃至図１３に示す処理を行う際には、必ずしも三角形ポリゴン上に格子点が存在するわけではない。このような場合には近似処理を行い、三角形ポリゴン上ではないが、最も近い格子点をＤ（ｒ→）＝０を満たす点として扱うことが出来る。
【００８８】
また、陰関数φ（ｒ→）だけでなく、同時に∇φ（ｒ→）を求めることにより、格子点の存在しない位置についても、φ（ｒ→）を３次多項式で補完でき、その値を求めることが出来る。なお∇φ（ｒ→）は下記の式で求められる。
【数１】
2006048518.tif 000003
【００８９】
更に、上記実施形態では境界箱に含まれる全ての格子点について求めた符号付最短距離Ｄ（ｒ→）によって、陰関数φ（ｒ→）＝０を得ている。しかし、物体表面を表すには、三角形ポリゴンからの距離が、ε以下の格子点からの符号付最短距離Ｄ（ｒ→）から陰関数φ（ｒ→）が得られれば十分である。そして三角形ポリゴンからの距離がε以上の格子点の場合、符号付最短距離Ｄ（ｒ→）は符号関数sgn（ｚ’）が等しく、且つ絶対値がεよりも大きければ足りるため、単純な外挿によってφ（ｒ→）を求めることが出来る。また、三角形ポリゴンからの距離がε以上の格子点を用いてφ（ｒ→）を得る場合には、再初期化を行っても良い。再初期化とは、陰関数φ（ｒ→）＝０のφ（ｒ→）が符号付最短距離関数の性質を満たしていないときに行う修正であり、次の方程式をτについて定常計算することで行う。
【数２】
2006048518.tif 000004
【００９０】
但し、τはタイムステップである。再初期化は、陰関数表現された形状が時間と共に変化することにより符号付距離関数の性質を満たさなくなることを防止するためのものである。従って、式中に時間に関する変数が含まれることになる。またＳ（φτ＝０）は、符号関数sgnの近似関数であり、次式で表される。
【数３】
2006048518.tif 000005
【００９１】
但し、δはほぼ２εに近い値であり、δが十分に小さい場合に成立する。
【００９２】
更に、上記実施形態では全てのポリゴンが三角形ポリゴンである場合について説明してきたが、勿論、四角形ポリゴンをそのまま用いても良い。この場合には、四角形ポリゴンに含まれる２つの三角形ポリゴンからの符号付最短距離Ｄ（ｒ→）を重ね合わせれば良い。
【００９３】
なお、上記第１乃至第４の実施形態に係る画像処理プログラム、画像処理コンピュータ、またはシステムＬＳＩは、例えばゲーム機、ホームサーバー、テレビ、または携帯情報端末などに搭載することが出来る。図３８は上記第１乃至第４の実施形態で説明した画像処理方法を行うデジタルテレビの備えるデジタルボードのブロック図である。デジタルボードは、画像・音声などの通信情報を制御するためのものである。図示するように、デジタルボード１００は、フロントエンド部１１０、画像描画プロセッサシステム１２０、デジタル入力部１３０、Ａ／Ｄコンバータ１４０、１８０、ゴーストリダクション部１５０、三次元ＹＣ分離部１６０、カラーデコーダ１７０、ＬＡＮ処理ＬＳＩ１９０、ＬＡＮ端子２００、ブリッジメディアコントローラ２１０、カードスロット２２０、フラッシュメモリ２３０、及び大容量メモリ（例えばＤＲＡＭ：Dynamic Random Access Memory）２４０を備えている。フロントエンド部１１０は、デジタルチューナーモジュール１１１、１１２、ＯＦＤＭ（Orthogonal Frequency Division Multiplex）復調部１１３、ＱＰＳＫ（Quadrature Phase Shift Keying）復調部１１４を備えている。
【００９４】
画像描画プロセッサシステム１２０は、送受信回路１２１、ＭＰＥＧ２デコーダ１２２、グラフィックエンジン１２３、デジタルフォーマットコンバータ１２４、及びプロセッサ１２５を備えている。そして、例えばグラフィックエンジン１２３及びプロセッサ１２５が、上記第１乃至第１５の実施形態で説明したグラフィックプロセッサ５０及びホストプロセッサ２０に対応する。
【００９５】
上記構成において、地上デジタル放送波、ＢＳデジタル放送波、及び１１０°ＣＳデジタル放送波は、フロントエンド部１１０で復調される。また地上アナログ放送波及びＤＶＤ／ＶＴＲ信号は、３次元ＹＣ分離部１６０及びカラーデコーダ１７０でデコードされる。これらの信号は、画像描画プロセッサシステム１２０に入力され、送受信回路１２１で、映像・音声・データに分離される。そして、映像に関しては、ＭＰＥＧ２デコーダ１２２を介してグラフィックエンジン１２３に映像情報が入力される。するとグラフィックエンジン１２３は、上記実施形態で説明した方法により、陰関数によって物体を描画する。
【００９６】
図３９は、上記第１乃至第４の実施形態で説明した画像処理方法を行う録画再生機器のブロック図である。図示するように、録画再生機器２００はヘッドアンプ２１０、モータードライバ２２０、メモリ２３０、画像情報制御回路２４０、ユーザＩ／Ｆ用ＣＰＵ２５０、フラッシュメモリ２６０、ディスプレイ２７０、ビデオ出力部２８０、及びオーディオ出力部２９０を備えている。
【００９７】
画像情報制御回路２４０は、メモリインターフェース２４１、デジタル信号プロセッサ２４２、プロセッサ２４３、映像処理用プロセッサ２４４、及びオーディオ処理用プロセッサ２４５を備えている。
【００９８】
上記構成において、ヘッドアンプ２１０で読み出された映像データが画像情報制御回路２４０に入力される。そして、デジタル信号処理プロセッサ２４２から映像情報用プロセッサに図形情報が入力される。すると映像情報用プロセッサ２４５は、上記実施形態で説明した方法により物体を描画する。
【００９９】
上記のように、この発明の一態様に係る画像処理方法は、  
１．  コンピュータを用いた画像処理方法であって、  
三角形ポリゴンの頂点座標を抽出するステップと、  
前記頂点座標に基づいて、前記三角形ポリゴンを取り囲む領域を設定するステップと、  
前記領域内に含まれる格子点から前記三角形ポリゴンまでの距離を計測するステップと、  
前記格子点から前記三角形ポリゴンまでの距離に基づいて図形を描画するステップと
を行う。
【０１００】
２．上記１において、前記図形は、前記ポリゴンまでの距離がゼロとなる点の集合として描画される。
【０１０１】
また、この発明の一態様に係る画像処理プログラムは、  
３．図形を描画するためにコンピュータを、三角形ポリゴンの頂点座標を抽出する座標抽出手段と、  
前記座標抽出手段によって抽出された前記頂点座標に基づいて、前記三角形ポリゴンを取り囲む領域を形成する領域生成手段と、  
前記領域生成手段によって形成された前記領域に含まれる格子点から前記三角形ポリゴンまでの距離を計測する距離計測手段と、  
前記距離計測手段によって計測された前記距離に基づいて図形を描画する図形描画手段として機能させる。
【０１０２】
４．上記３において、前記図形描画手段は、前記距離計測手段によって計測した前記ポリゴンまでの距離がゼロとなる点の集合として前記図形を描画する。
【０１０３】
更に、この発明の一態様に係る画像処理コンピュータは、  
５．ポリゴンデータが入力される入力手段と、  
個々の前記ポリゴンを取り囲む領域を形成し、該領域内に含まれる格子点から前記ポリゴンまでの距離を計測し、該計測結果に基づいて陰関数表示による図形描画を行う演算手段と、  
前記陰関数表示によって得られた前記図形を表示する出力手段とを具備する。
【０１０４】
６．上記６において、前記演算手段は、前記ポリゴンまでの距離がゼロとなる点の集合として、前記図形の描画を行う。
【０１０５】
７．上記１において、前記格子点から前記三角形ポリゴンまでの距離は、前記格子点が前記ポリゴンによって描画される図形の外側か内側かを示す符号を付加されたデータとして与えられる。
【０１０６】
８．上記１において、前記三角形ポリゴンの頂点座標を抽出するステップの前に、図形を形成する複数のポリゴンの全てを、三角形ポリゴンに変換するステップを更に備える。
【０１０７】
９．上記１において、前記三角形ポリゴンによって描画された図形の描画領域を複数のメッシュに分割するステップと、  
前記図形の縁が存在する前記メッシュを、更に複数のメッシュに分割するステップを更に備え、  
前記領域は、前記メッシュ毎に設定される。
【０１０８】
１０．上記２において、前記図形の表面は、前記ポリゴンを用いたパラメトリック表現を陰関数表現に変換したものである。
【０１０９】
１１．上記３において、前記距離計測手段は、前記格子点から前記三角形ポリゴンまでの距離を、前記格子点が前記ポリゴンによって描画される図形の外側か内側かを示す符号を付加したデータとして与える。
【０１１０】
１２．上記３において、前記コンピュータを、前記座標抽出手段によって三角形ポリゴンの頂点座標を抽出する前に、前記図形を形成する複数のポリゴンの全てを、三角形ポリゴンに変換する変換手段として更に機能させる。
【０１１１】
１３．上記３において、前記コンピュータを、前記ポリゴンによって描画された図形を含む画像領域を、複数のメッシュに分割する第１分割手段と、  
前記図形の縁が前記メッシュ内に存在する場合、当該メッシュを更に複数のメッシュに分割する第２分割手段として更に機能させ、  
前記領域生成手段は、前記メッシュ毎に前記領域を設定する。
【０１１２】
１４．上記４において、前記図形描画手段によって描画された図形の表面は、前記ポリゴンを用いたパラメトリック表現を陰関数表現に変換したものである。
【０１１３】
１５．上記５において、前記演算手段は、前記格子点から前記三角形ポリゴンまでの距離を、前記格子点が前記ポリゴンによって描画される図形の外側か内側かを示す符号が付加されたデータとして与える。
【０１１４】
１６．上記５において、前記演算手段は、前記ポリゴンの全てを三角形ポリゴンに変換し、且つ前記三角形ポリゴンの頂点座標を抽出し、該頂点座標に応じて前記領域を形成する。
【０１１５】
１７．上記５において、前記演算手段は、前記ポリゴンによって描画される図形を含む画像領域を複数のメッシュに分割し、  
前記図形の縁が前記メッシュ内に存在する場合、当該メッシュを更に複数のメッシュに分割し、  
前記メッシュ毎に前記領域を形成する。
【０１１６】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【図面の簡単な説明】
【０１１７】
【図１】この発明の第１の実施形態に係る画像処理コンピュータのブロック図。
【図２】この発明の第１の実施形態に係る画像処理方法について示しており、ポリゴン表現された物体と陰関数表現された物体の概念図。
【図３】この発明の第１の実施形態に係る画像処理方法及び画像処理プログラムのフローチャート。
【図４】この発明の第１の実施形態に係る画像処理方法及び画像処理プログラムにおいて、四角形ポリゴンを三角形ポリゴンに分解するステップを示す概念図。
【図５】この発明の第１の実施形態に係る画像処理方法及び画像処理プログラムにおいて、三角形ポリゴンの頂点座標を求めるステップを示す概念図。
【図６】この発明の第１の実施形態に係る画像処理方法及び画像処理プログラムにおいて、境界箱を生成するステップを三次元的に示す概念図。
【図７】この発明の第１の実施形態に係る画像処理方法及び画像処理プログラムにおいて、境界箱を生成するステップを２次元的に示す概念図。
【図８】この発明の第１の実施形態に係る画像処理方法及び画像処理プログラムにおいて、境界箱を生成するステップを２次元的に示す概念図。
【図９】この発明の第１の実施形態に係る画像処理方法及び画像処理プログラムにおいて、境界球を生成するステップを２次元的に示す概念図。
【図１０】この発明の第１の実施形態に係る画像処理方法及び画像処理プログラムにおいて、符号付最短距離を求めるステップを３次元的に示す概念図。
【図１１】この発明の第１の実施形態に係る画像処理方法及び画像処理プログラムにおいて、符号付最短距離を求めるステップを２次元的に示す概念図。
【図１２】この発明の第１の実施形態に係る画像処理方法及び画像処理プログラムにおいて、符号付最短距離を求めるステップを２次元的に示す概念図。
【図１３】この発明の第１の実施形態に係る画像処理方法及び画像処理プログラムにおいて、符号付最短距離を求めるステップを２次元的に示す概念図。
【図１４】この発明の第１の実施形態に係る画像処理方法及び画像処理プログラムにおいて、陰関数によって物体を描画するステップを３次元的に示す概念図。
【図１５】この発明の第１の実施形態に係る画像処理方法及び画像処理プログラムにおいて、陰関数によって物体を描画するステップを２次元的に示す概念図。
【図１６】この発明の第１の実施形態に係る画像処理方法及び画像処理プログラムにおいて、陰関数によって物体を描画するステップを２次元的に示す概念図。
【図１７】図面に代わる写真であって、この発明の第１の実施形態に係る画像処理方法及び画像処理プログラムによって描画された物体をディスプレイ上に表示した中間画像。
【図１８】図面に代わる写真であって、この発明の第１の実施形態に係る画像処理方法及び画像処理プログラムによって描画された物体をディスプレイ上に表示した中間画像。
【図１９】図面に代わる写真であって、従来のポリゴン表現によって描画された物体をディスプレイ上に表示した中間画像。
【図２０】図面に代わる写真であって、従来のポリゴン表現によって描画された物体をディスプレイ上に表示した中間画像。
【図２１】図面に代わる写真であって、この発明の第１の実施形態に係る画像処理方法及び画像処理プログラムによって描画された物体の、Ｘ−Ｙ平面に対応する断面図をディスプレイ上に表示した中間画像。
【図２２】図面に代わる写真であって、この発明の第１の実施形態に係る画像処理方法及び画像処理プログラムによって描画された物体の、Ｘ−Ｚ平面に対応する断面図をディスプレイ上に表示した中間画像。
【図２３】図面に代わる写真であって、この発明の第１の実施形態に係る画像処理方法及び画像処理プログラムによって描画された物体の、Ｙ−Ｚ平面に対応する断面図をディスプレイ上に表示した中間画像。
【図２４】この発明の第２の実施形態に係る画像処理方法及び画像処理プログラムにおいて生成される境界箱の様子を２次元的に示す概念図。
【図２５】この発明の第２の実施形態に係る画像処理方法及び画像処理プログラムのフローチャート。
【図２６】この発明の第２の実施形態に係る画像処理方法及び画像処理プログラムによって、ポリゴン表現を陰関数表現に変換される物体を２次元的に示す概念図。
【図２７】この発明の第２の実施形態に係る画像処理方法及び画像処理プログラムにおいて、境界箱を生成するステップを二次元的に示す概念図。
【図２８】この発明の第２の実施形態に係る画像処理方法及び画像処理プログラムにおいて、境界箱を分割するステップを二次元的に示す概念図。
【図２９】この発明の第２の実施形態に係る画像処理方法及び画像処理プログラムにおいて、境界箱を分割するステップを二次元的に示す概念図。
【図３０】この発明の第２の実施形態に係る画像処理方法及び画像処理プログラムにおいて、境界箱を分割するステップを二次元的に示す概念図。
【図３１】この発明の第２の実施形態に係る画像処理方法及び画像処理プログラムにおいて、境界箱を分割するステップを二次元的に示す概念図。
【図３２】この発明の第３の実施形態に係る画像処理方法及び画像処理プログラムのフローチャート。
【図３３】この発明の第３の実施形態に係る画像処理方法及び画像処理プログラムによって生成した境界箱を３次元的に示す概念図であり、１つの境界箱に複数のポリゴンが含まれる様子を示す図。
【図３４】この発明の第３の実施形態に係る画像処理方法及び画像処理プログラムにおいて、符号付最短距離を求めるステップを２次元的に示す概念図であり、２つのポリゴンによって符号付最短距離を求めた際のＸ−Ｙ平面を示す図。
【図３５】この発明の第３の実施形態に係る画像処理方法及び画像処理プログラムにおいて、符号付最短距離を求めるステップを２次元的に示す概念図であり、２つのポリゴンによって符号付最短距離を求めた際のＸ−Ｙ平面を示す図。
【図３６】この発明の第４の実施形態に係る画像処理方法、画像処理プログラム、及び画像処理コンピュータを備える画像処理プロセッサシステムＬＳＩのブロック図。
【図３７】この発明の第４の実施形態に係る画像処理方法、画像処理プログラム、及び画像処理コンピュータを備える画像処理プロセッサシステムＬＳＩの、演算処理部のブロック図。
【図３８】この発明の第１乃至第３の実施形態に係る画像処理方法、画像処理プログラム、及び画像処理コンピュータを備えるデジタルテレビのデジタルボードのブロック図。
【図３９】この発明の第１乃至第３の実施形態に係る画像処理方法、画像処理プログラム、及び画像処理コンピュータを備える録画再生機器のブロック図。
【符号の説明】
【０１１８】
１０…コンピュータ、１１…ＣＰＵ、１２…メインメモリ、１３…メモリ、１４…入力装置、１５…出力装置、１６…バス、１７…画像処理プログラム、１８…システムＬＳＩ、２０…ホストプロセッサ、３０…Ｉ／Ｏプロセッサ、４０…メインメモリ、５０…グラフィックプロセッサ、５４…演算処理部、５５…ラスタライザ、５６−０〜５６−３１…信号処理部
【図１】
2006048518.tif 000006
【図２】
2006048518.tif 000007
【図３】
2006048518.tif 000008
【図４】
2006048518.tif 000009
【図５】
2006048518.tif 000010
【図６】
2006048518.tif 000011
【図７】
2006048518.tif 000012
【図８】
2006048518.tif 000013
【図９】
2006048518.tif 000014
【図１０】
2006048518.tif 000015
【図１１】
2006048518.tif 000016
【図１２】
2006048518.tif 000017
【図１３】
2006048518.tif 000018
【図１４】
2006048518.tif 000019
【図１５】
2006048518.tif 000020
【図１６】
2006048518.tif 000021
【図１７】
2006048518.tif 000022
【図１８】
2006048518.tif 000023
【図１９】
2006048518.tif 000024
【図２０】
2006048518.tif 000025
【図２１】
2006048518.tif 000026
【図２２】
2006048518.tif 000027
【図２３】
2006048518.tif 000028
【図２４】
2006048518.tif 000029
【図２５】
2006048518.tif 000030
【図２６】
2006048518.tif 000031
【図２７】
2006048518.tif 000032
【図２８】
2006048518.tif 000033
【図２９】
2006048518.tif 000034
【図３０】
2006048518.tif 000035
【図３１】
2006048518.tif 000036
【図３２】
2006048518.tif 000037
【図３３】
2006048518.tif 000038
【図３４】
2006048518.tif 000039
【図３５】
2006048518.tif 000040
【図３６】
2006048518.tif 000041
【図３７】
2006048518.tif 000042
【図３８】
2006048518.tif 000043
【図３９】
2006048518.tif 000044