(57)【要約】【課題】  ３次元空間内の物体表面が多角形の集合体として表されている場合に、物体表面が展開不可能な場合であっても、多角形を平面上でできるだけ歪みが小さくなるように並べることができる物体表面平坦化装置を提供する。【解決手段】  コンピュータ上に表現された３次元空間内の物体表面を平面上に展開する物体表面平坦化装置１００は、入力データから多角形の形状情報を抽出する多角形スキャン部１０２と、多角形と辺を共有する周辺多角形の形状情報を抽出する周囲多角形抽出部１０３と、多角形の形状情報および周辺多角形の形状情報から、各多角形毎に、各多角形の位置に関する一次方程式の係数を取得する多角形位置演算部１０５と、各多角形の位置に関する一次方程式を解くことにより、各多角形の位置を算出する多角形位置算出部１０５と、位置が算出された多角形を並べる並べ合わせ部１０６とを具備する。【選択図】          図３
2005301426.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ上に表現された３次元空間内の物体表面を平面上に展開する物体表面平坦化装置であって、
入力データから多角形の形状情報を抽出する手段と、
前記多角形と辺を共有する周辺多角形の形状情報を抽出する手段と、
前記多角形の形状情報および前記周辺多角形の形状情報から、前記各多角形毎に、前記各多角形の位置に関する式の係数を取得する係数取得手段と、
前記各多角形の位置に関する式を解くことにより、前記各多角形の位置を算出する多角形位置算出手段と、
前記位置が算出された多角形を並べる手段とを具備することを特徴とする物体表面平坦化装置。
【請求項２】
前記物体表面平坦化装置は更に、前記並べられた各多角形の形状を補正する手段を具備することを特徴とする請求項１記載の物体表面平坦化装置。
【請求項３】
前記物体表面平坦化装置は更に、多角形の頂点以外の辺上に他の多角形の頂点が存在している場合に、前記多角形の辺上にある頂点から線分あるいは半直線を引くことにより、その頂点と辺の交点を新たな頂点とする多角形分割手段を具備することを特徴とする請求項１または請求項２記載の物体表面平坦化装置。
【請求項４】
前記入力データは、３次元空間内の物体表面を構成する多角形の形状を表すデータを含み、
前記多角形の形状を表すデータは、共通の始点から多角形の各頂点への２次元ベクトルであり、
前記共通の始点へのベクトルは多角形の位置を表すベクトルであることを特徴とする請求項１から請求項３の何れか一項に記載の物体表面平坦化装置。
【請求項５】
前記入力データは、３次元空間内の物体表面を構成する多角形の相対位置を表すデータを含み、
前記相対位置を表すデータは、
３次元空間内の物体表面を構成する多角形の各辺に対し、該各辺をどの多角形が共有しているかを示す情報、および／または、３次元空間内の物体表面を構成する多角形にはどの辺が存在しているかを示す情報、
および、各辺の両端の頂点インデクスのデータであることを特徴とする請求項１から請求項４の何れか一項に記載の物体表面平坦化装置。
【請求項６】
前記係数取得手段は、ある中心多角形と、該中心多角形と辺を共有する周囲多角形との間で、共有すべき辺間の距離の和が最小になるような、中心多角形と周囲多角形との相対位置を示す式の係数を取得することを特徴とする請求項１から請求項５の何れか一項に記載の物体表面平坦化装置。
【請求項７】
前記辺間の距離は、共有すべき頂点間の距離の２乗和に辺の長さを乗じたものであることを特徴とする請求項６記載の物体表面平坦化装置。
【請求項８】
前記多角形位置算出手段は、最小二乗法で連立一次方程式を解くことで前記各多角形の位置を算出することを特徴とする請求項１から請求項７の何れか一項に記載の物体表面平坦化装置。
【請求項９】
前記入力データに含まれる多角形は、２次元行列にマッピングされるように配置された四角形であり、
前記多角形の形状を抽出する手段は、前記四角形の配置場所に対応した多角形インデクスから前記３次元空間内の物体表面を構成する多角形の相対位置を表すデータを決定し、
前記係数取得手段は、前記多角形の相対位置から、前記各多角形の位置に関する式の係数を決定することを特徴とする請求項１から請求項３の何れか一項に記載の物体表面平坦化装置。
【請求項１０】
前記共通の始点は、多角形の頂点のうちの一つであることを特徴とする請求項４記載の物体表面平坦化装置。
【請求項１１】
コンピュータ上に表現された３次元空間内の物体表面を平面上に展開する物体表面平坦化方法であって、
入力データから多角形の形状情報を抽出するステップと、
前記多角形と辺を共有する周辺多角形の形状情報を抽出するステップと、
前記多角形の形状情報および前記周辺多角形の形状情報から、前記各多角形毎に、前記各多角形の位置に関する式の係数を取得するステップと、
前記各多角形の位置に関する式を解くことにより、前記各多角形の位置を算出するステップと、
前記位置が算出された多角形を並べるステップとを有することを特徴とする物体表面平坦化方法。
【請求項１２】
前記物体表面平坦化方法は更に、前記並べられた各多角形の形状を補正するステップを有することを特徴とする請求項１１記載の物体表面平坦化方法。
【請求項１３】
前記物体表面平坦化方法は更に、多角形の頂点以外の辺上に他の多角形の頂点が存在している場合に、前記多角形の辺上にある頂点から線分あるいは半直線を引くことにより、その頂点と辺の交点を新たな頂点とするステップを有することを特徴とする請求項１１または請求項１２記載の物体表面平坦化方法。
【請求項１４】
３次元空間内の物体表面を平面上に展開するためにコンピュータに、
入力データから多角形の形状情報を抽出するステップと、
前記多角形と辺を共有する周辺多角形の形状情報を抽出するステップと、
前記多角形の形状情報および前記周辺多角形の形状情報から、前記各多角形毎に、前記各多角形の位置に関する式の係数を取得するステップと、
前記各多角形の位置に関する式を解くことにより、前記各多角形の位置を算出するステップと、
前記位置が算出された多角形を並べるステップとを実行させるためのプログラム。
【請求項１５】
前記プログラムは更に、前記並べられた各多角形の形状を補正するステップを前記コンピュータに実行させることを特徴とする請求項１４記載のプログラム。
【請求項１６】
請求項１４または請求項１５のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体表面平坦化装置、物体表面平坦化方法およびプログラムに関する。
【背景技術】
【０００２】
コンピュータ上で現実感を持った画像を生成する手法としてコンピュータグラフィック(以下、ＣＧ)技術が広く利用されている。ＣＧ技術において、サーフェスモデル、あるいは、ポリゴングラフィックスと呼ばれる手法がある。これらは、物体の表面形状を多角形の集合体として近似するものである。このように多角形の集合体で表現された物体表面を展開することによって、たとえば、以下に示すような応用例が考えられる。
【０００３】
画像スキャナーの歪み補正方法の応用例として、たとえば、非特許文献１記載の技術(従来例１)を挙げることができる。非特許文献１記載の方法は、撮影された湾曲物体の表面形状を計算機上で平面形状に変換するものである。本の表面形状のように、もともとは平面であるにもかかわらず、画像のスキャン入力時の制約によって湾曲したまま画像入力せざるを得ない場合等に応用することができる。
【０００４】
また、複雑な形状の表面に対して、できるだけ歪みの少ないテクスチャマッピングを行うことを目的とした方式として、たとえば、非特許文献２記載の方式(従来例２)が提案されている。非特許文献２に示されるように、展開不可能な表面を平面に展開することで、歪みをできるだけ小さくしたテクスチャマッピングを行うことができる。ここで、任意の２点間の距離を変化させずに、３次元空間内の物体表面を２次元平面に変換することができる場合、その物体表面は展開可能と定義し、２次元平面に変換できない場合、展開不可能と定義する。
【０００５】
一般にガウス曲率が全面にわたって０の曲面は平面に展開可能であり、ガウス曲率が０ではない曲面は平面に展開不可能であることが知られている。たとえば、円筒の側面は平面に展開できるが、球面はガウス曲率が０ではないため、平面に展開することはできない。
【０００６】
非特許文献２記載の方法では、まず、３次元形状の表面から抽出した点の間の距離(測地線の長さ)を計測し、その距離の変化の大きさができるだけ小さくなるように平面に展開する。次に、展開された平面にテクスチャをマッピングする。最後に曲面から平面への展開を逆に行って、平面テクスチャマップを元の３次元形状に変換する。このように、３次元形状を２次元平面に展開する手法は、見た目の歪みが小さなテクスチャマッピング手法として用いることができる。
【０００７】
次に、展開不可能な曲面を平面に展開する方式の他の例として、平面に展開可能な物体表面(可展体面)を媒介として展開を行う方式（特許文献１）を示す。特許文献１記載の方式は、テクスチャ表面を展開することによって、テクスチャマッピングを効率的に行おうとする方式である。特許文献１記載の方式では、撮影した２次元データから３次元形状復元処理を用いた任意視点の画像を表示する方式に関するものである。
【０００８】
さらに、特許文献１記載の方式は、この表示方式において、テクスチャ画像情報のデータ量を削減する手法に関するものである。この表示方式においては、２次元データから得られた各微小平面のテクスチャを個々の微小平面ごとに保持するのではなく、３次元形状を平面に展開して、隙間のできるだけ少ない展開図のテクスチャを保持することによって効率的に画像データを保持することを目的としている。
【０００９】
特許文献１記載の方式は、３次元オブジェクトの特徴点を可展体面である既知形状面(円筒、柱体、錐体等)の投影面に投影して平面に展開し、各特徴点を頂点とする多角形に対して、この展開平面上でテクスチャマッピングをするものである。このように、一度、展開可能な物体表面に投影することによって、複雑な３次元形状を平面に展開することが可能となる。以上、３つの従来例から、以下の３つの応用例を示した。
（１）画像スキャナーで画像をスキャンインした後で、スキャン時の条件により歪んでしまった画像を補正する。たとえば書物の表面を平面化する。
（２）複雑な３次元曲面を２次元平面に変換することにより、２次元平面上で簡易にテクスチャマッピングが可能になる。
（３）複雑な３次元曲面を２次元平面に変換することにより、保持するテクスチャ情報量を削減することができる。
【００１０】
【非特許文献１】「アイスキャナによる湾曲ドキュメント撮影」(電子情報通信学会論文誌D-II、Vol. J86-D-II, No. 3, March 2003, pp.409-417)
【非特許文献２】「Texture Mapping Using Surface Flattening via Multidimensional Scaling」(IEEE Trans. Visualization and Computer Graphics, vol. 8, no. 2, pp. 198-206, Apr.-June, 2002)
【特許文献１】特開２０００−２０７３５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、（１）非特許文献１記載の方法では、適用する物体表面を書物の表面に限定しており、一般の展開不可能な物体表面には適用できないという問題点があった。
【００１２】
（２）非特許文献２記載の方法では、３次元形状から測地線を求める計算量が非常に大きいという問題点があった。
【００１３】
（３）一方、特許文献１記載の方法では、厳密に測地線の距離を求めずに、３次元空間上にある物体表面を一旦可展体面に投影することで展開を行う方式を用いているため、計算量が少なくて済む。しかし、特許文献１記載の方法では、元の物体の３次元形状が平面に展開不可能な場合、できるだけ元の物体の表面に近い可展体面を選んでも、結局は、可展体面に投影する段階で歪みが発生してしまうという問題点があった。
【００１４】
そこで、本発明は、上記従来例の問題点に鑑み、３次元空間内の物体表面が多角形の集合体として表されている場合に、物体表面が展開不可能な場合であっても、多角形を平面上でできるだけ歪みが小さくなるように並べることができる物体表面平坦化装置、物体表面平坦化方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記課題を解決するために、本発明は、請求項１に記載のように、コンピュータ上に表現された３次元空間内の物体表面を平面上に展開する物体表面平坦化装置であって、入力データから多角形の形状情報を抽出する手段と、前記多角形と辺を共有する周辺多角形の形状情報を抽出する手段と、前記多角形の形状情報および前記周辺多角形の形状情報から、前記各多角形毎に、前記各多角形の位置に関する式の係数を取得する係数取得手段と、前記各多角形の位置に関する式を解くことにより、前記各多角形の位置を算出する多角形位置算出手段と、前記位置が算出された多角形を並べる手段とを具備することを特徴とする。
【００１６】
請求項１記載の発明によれば、入力多角形の位置は多角形の位置に関する式を解くことにより決定し、入力多角形を平面上に並べることができる。これにより、３次元空間内の物体表面が多角形の集合体として表されている場合に、物体表面が展開不可能な場合であっても、多角形を平面上でできるだけ歪みが小さくなるように並べることができる。また、歪みの小さな展開図を作成するのに必要な測地線の距離を求める必要が無いため、測地線の距離を求めるための計算量を削減できる。
【００１７】
また、本発明は、請求項２に記載のように、請求項１記載の物体表面平坦化装置において、更に、前記並べられた各多角形の形状を補正する手段を具備することを特徴とする。請求項２記載の発明によれば、並べられた多角形間に重なりや隙間がある場合に、その多角形の形を補正して、重なりや隙間のない平面を作ることが可能になる。
【００１８】
また、本発明は、請求項３に記載のように、請求項１または請求項２記載の物体表面平坦化装置において、更に、多角形の頂点以外の辺上に他の多角形の頂点が存在している場合に、前記多角形の辺上にある頂点から線分あるいは半直線を引くことにより、その頂点と辺の交点を新たな頂点とする多角形分割手段を具備することを特徴とする。請求項３記載の発明によれば、多角形の辺上の頂点をなくすことができるので、入力多角形の辺上に頂点がある場合でも、入力多角形の辺上に頂点がない場合と同様に物体表面を平面に展開できるようになる。
【００１９】
また、本発明は、請求項４に記載のように、請求項１から請求項３の何れか一項に記載の物体表面平坦化装置において、前記入力データは、３次元空間内の物体表面を構成する多角形の形状を表すデータを含み、前記多角形の形状を表すデータは、共通の始点から多角形の各頂点への２次元ベクトルであり、前記共通の始点へのベクトルは多角形の位置を表すベクトルであることを特徴とする。請求項４記載の発明によれば、多角形の形状を表すデータを、共通の始点を表すベクトルと、共通の始点から頂点への２次元ベクトルとによって表現することにより、多角形の位置と形状を別々に操作できるようになる。
【００２０】
また、本発明は、請求項５に記載のように、請求項１から請求項４の何れか一項に記載の物体表面平坦化装置において、前記入力データは、３次元空間内の物体表面を構成する多角形の相対位置を表すデータを含み、前記相対位置を表すデータは、３次元空間内の物体表面を構成する多角形の各辺に対し、該各辺をどの多角形が共有しているかを示す情報、および／または、３次元空間内の物体表面を構成する多角形にはどの辺が存在しているかを示す情報、および、各辺の両端の頂点インデクスのデータであることを特徴とする。請求項５記載の発明によれば、周辺多角形を効率的に抽出できる。
【００２１】
また、本発明は、請求項６に記載のように、請求項１から請求項５の何れか一項に記載の物体表面平坦化装置において、前記係数取得手段は、ある中心多角形と、該中心多角形と辺を共有する周囲多角形との間で、共有すべき辺間の距離の和が最小になるような、中心多角形と周囲多角形との相対位置を示す式の係数を取得することを特徴とする。請求項６記載の発明によれば、共有すべき辺間の距離の和が最小になるような、中心多角形と周囲多角形との相対位置を示す式の係数を取得することで、多角形を隙間無く、かつ重複無く並べることができる。
【００２２】
また、本発明は、請求項７に記載のように、請求項６記載の物体表面平坦化装置において、前記辺間の距離は、共有すべき頂点間の距離の２乗和に辺の長さを乗じたものであることを特徴とする。請求項７記載の発明によれば、同じ位置にあるべき頂点間の距離の２乗和を、共有すべき辺の長さで重み付けすることができる。
【００２３】
また、本発明は、請求項８に記載のように、請求項１から請求項７の何れか一項に記載の物体表面平坦化装置において、前記多角形位置算出手段は、最小二乗法で連立一次方程式を解くことで前記各多角形の位置を算出することを特徴とする。請求項８記載の発明によれば、最小二乗法を用いて連立一次式を解くことにより各多角形の位置を算出する。これにより、多角形の位置は、連立一次方程式を最小二乗法で解くという公知の手法を用いて計算することができる。
【００２４】
また、本発明は、請求項９に記載のように、請求項１から請求項３の何れか一項に記載の物体表面平坦化装置において、前記入力データに含まれる多角形は、２次元行列にマッピングされるように配置された四角形であり、前記多角形の形状を抽出する手段は、前記四角形の配置場所に対応した多角形インデクスから前記３次元空間内の物体表面を構成する多角形の相対位置を表すデータを決定し、前記係数取得手段は、前記多角形の相対位置から、前記各多角形の位置に関する式の係数を決定することを特徴とする。請求項９記載の発明によれば、入力多角形が２次元行列にマッピングされるように配置された四角形である場合には、入力データの情報量と、展開処理のための計算量を削減することができる。
【００２５】
また、本発明は、請求項１０に記載のように、請求項４記載の物体表面平坦化装置において、前記共通の始点は、多角形の頂点のうちの一つであることを特徴とする。請求項１０記載の発明によれば、多角形の形状を表すデータから、この頂点に関する２次元ベクトルのデータを一つ省略することができる。
【００２６】
また、本発明は、請求項１１に記載のように、コンピュータ上に表現された３次元空間内の物体表面を平面上に展開する物体表面平坦化方法であって、入力データから多角形の形状情報を抽出するステップと、前記多角形と辺を共有する周辺多角形の形状情報を抽出するステップと、前記多角形の形状情報および前記周辺多角形の形状情報から、前記各多角形毎に、前記各多角形の位置に関する式の係数を取得するステップと、前記各多角形の位置に関する式を解くことにより、前記各多角形の位置を算出するステップと、前記位置が算出された多角形を並べるステップとを有することを特徴とする。
【００２７】
請求項１１記載の発明によれば、入力多角形の位置は多角形の位置に関する式を解くことにより決定し、入力多角形を平面上に並べることができる。これにより、３次元空間内の物体表面が多角形の集合体として表されている場合に、物体表面が展開不可能な場合であっても、多角形を平面上でできるだけ歪みが小さくなるように並べることができる。また、歪みの小さな展開図を作成するのに必要な測地線の距離を求める必要が無いため、測地線の距離を求めるための計算量を削減できる。
【００２８】
また、本発明は、請求項１２に記載のように、請求項１１記載の物体表面平坦化方法において、更に、前記並べられた各多角形の形状を補正するステップを有することを特徴とする。請求項１２記載の発明によれば、並べられた多角形間に重なりや隙間がある場合に、その多角形の形を補正して、重なりや隙間のない平面を作ることが可能になる。
【００２９】
また、本発明は、請求項１３に記載のように、請求項１１または請求項１２記載の物体表面平坦化方法において、更に、多角形の頂点以外の辺上に他の多角形の頂点が存在している場合に、前記多角形の辺上にある頂点から線分あるいは半直線を引くことにより、その頂点と辺の交点を新たな頂点とするステップを有することを特徴とする。請求項１３記載の発明によれば、多角形の辺上の頂点ではなくすことができるので、入力多角形の辺上に頂点がある場合でも、入力多角形の辺上に頂点がない場合と同様に物体表面を平面に展開できるようになる。
【００３０】
また、本発明のプログラムは、請求項１４に記載のように、３次元空間内の物体表面を平面上に展開するためにコンピュータに、入力データから多角形の形状情報を抽出するステップと、前記多角形と辺を共有する周辺多角形の形状情報を抽出するステップと、前記多角形の形状情報および前記周辺多角形の形状情報から、前記各多角形毎に、前記各多角形の位置に関する式の係数を取得するステップと、前記各多角形の位置に関する式を解くことにより、前記各多角形の位置を算出するステップと、前記位置が算出された多角形を並べるステップとを実行させる。
【００３１】
請求項１４記載の発明によれば、入力多角形の位置は多角形の位置に関する式を解くことにより決定し、入力多角形を平面上に並べることができる。これにより、３次元空間内の物体表面が多角形の集合体として表されている場合に、物体表面が展開不可能な場合であっても、多角形を平面上でできるだけ歪みが小さくなるように並べることができる。また、歪みの小さな展開図を作成するのに必要な測地線の距離を求める必要が無いため、測地線の距離を求めるための計算量を削減できる。
【００３２】
また、本発明は、請求項１５に記載のように、請求項１４記載のプログラムにおいて、更に、前記並べられた各多角形の形状を補正するステップを前記コンピュータに実行させることを特徴とする。請求項１５記載の発明によれば、並べられた多角形間に重なりや隙間がある場合に、その多角形の形を補正して、重なりや隙間のない平面を作ることが可能になる。このプログラムは、通信回線や記録媒体を用いてコンピュータに提供することが可能である。
【００３３】
また、請求項１６記載の発明によれば、上記プログラムを記録したコンピュータ読み取り可能な記録媒体が提供される。
【発明の効果】
【００３４】
本発明によれば、３次元空間内の物体表面が多角形の集合体として表されている場合に、物体表面が展開不可能な場合であっても、多角形を平面上でできるだけ歪みが小さくなるように並べることができる物体表面平坦化装置、物体表面平坦化方法およびプログラムを提供できる。
【発明を実施するための最良の形態】
【００３５】
以下、本発明を実施するための最良の形態について説明する。最初に、図１と図２を用いて本発明の原理を説明する。図１は多角形の辺共有を説明する図である。図２は多角形の頂点が２点に分割される場合を説明する図である。発明においては、３次元空間内の物体表面が多面体の集合で形成されているものとし、その多面体を構成する多角形の形状は予め分かっているものとする。上記多角形を２次元平面上に並べるときには、多角形間の重複や隙間が少なくなるように各多角形を回転したほうが良い場合がある。
【００３６】
しかしながら、本発明では、この多角形の回転の最適化は行わず、各多角形の平行移動のみの最適化を行うものである。図１に示すように、３次元曲面上で隣接する多角形は、辺を共有している。ここでは、一つの辺は、最大２つの多角形のみに共有されているものとする。たとえば図１においては辺５１１は多角形５１２および多角形５１３に共有されている。これらの多角形を平面に展開して並べたときも、この辺５１１は隣接する多角形間５１２および５１３で共有されるのが望ましい。
【００３７】
しかしながら、展開不可能な表面の場合、２次元に展開する段階で、各多角形の相対的な位置関係が変化するため、多角形を隙間無く、かつ、重複無く並べることが不可能となる。その場合、図２に示されるように、この共有されるべき辺の位置が辺５１１０と辺５１１１の二つに分割してしまう。
【００３８】
本発明は、これらの分割された二つの辺間の距離をできるだけ小さくするように多角形を並べることによって、歪みの小さな展開画像を作成しようとするものである。上記のように、本発明においては、測地線を求めたり、頂点を他の可展開面に投影したりすることなく、出力多角形から直接平面テクスチャ画像を生成することができる。以下、図面を用いて本発明の実施例について説明する。
【実施例１】
【００３９】
図３は実施例１に係る物体表面平坦化装置１００のブロック図である。図３に示されるように、物体表面平坦化装置１００は、多角形スキャン部１０２、周囲多角形抽出部１０３、一次方程式作成部１０４、多角形位置演算部１０５、並べ合わせ部１０６、多角形形状補正部１０７を備える。
【００４０】
物体表面平坦化装置１００は、コンピュータ上に表現された３次元空間内の物体表面を平面上に展開するものである。この物体表面平坦化装置１００は、３次元形状モデリング装置（図示せず）などの外部装置から３次元空間内の物体表面の多角形を表現する入力データ１０１を受け取る。
【００４１】
多角形スキャン部１０２は、入力データ１０１から中心多角形の形状情報を抽出する。周囲多角形抽出部１０３は、多角形スキャン部１０２で抽出された中心多角形の周囲の多角形、すなわち、中心多角形と辺を共有する周辺多角形の形状情報を抽出する。一次方程式作成部１０４は、多角形スキャン部１０２で抽出された多角形の形状情報と周囲多角形抽出部１０３で抽出された周辺多角形の形状情報を基に、各多角形毎に、各多角形の位置に関する係数を含む一次方程式を作成する。一次方程式作成部１０４が特許請求の範囲における係数取得手段に相当する。
【００４２】
多角形位置演算部１０５は、この一次方程式を解くことにより、全多角形の位置を算出する。並べ合わせ部１０６は、多角形位置演算部１０５で算出された多角形位置に基づき、各多角形を並べる。多角形形状補正部１０７は、隙間や重複が無いように、並べられた各多角形の形状を補正し、最終的な出力データ１０８を出力する。
【００４３】
次に、各構成の動作を詳しく述べる。まず、入力データ１０１について説明する。入力データ１０１は、３次元空間内の物体表面を構成する多角形の形状および多角形の相対位置情報を表すデータである。ここで、物体表面を構成する各多角形を示すインデクスをｉとする。総数Ｐ個の多角形がある場合、例えば、その多角形に１からＰまでの番号をインデクスとして付与することができる。また、物体表面の多角形の各辺を示すインデクスをｈとする。総数Ｑ個の辺がある場合、例えば、各辺に１からＱまでの番号をインデクスとして付与することができる。通常、各辺は複数の多角形から共有されている。
【００４４】
ここで、実施例１においては、物体表面の多角形に関して、以下の条件を持つものとする。図７の(ａ)は、ある多角形の頂点以外の辺上には、他の多角形の頂点が存在していない様子を示している。図７の(ｂ)は、ある多角形の頂点以外の辺上に、他の多角形の頂点が存在している様子を示している。本実施例においては、全ての多角形の頂点以外の辺上には、他の多角形の頂点の存在を認めないという条件を課している。この条件は、一つの辺が最大２つの多角形にのみ共有されるという条件に等しい。
【００４５】
本実施例においては、まず、並べ合わせ部１０６で、各多角形の形状を保存したまま、多角形を平行移動し、２次元平面状で並べる。次に、多角形形状補正部１０７で、多角形の形状の補正を行う。すなわち、多角形形状補正部１０７の前までは、入力された多角形の形状は保存される。そのため、多角形の形状を示す部分と、多角形の位置を示す部分とに分割してデータを保持することが望ましい。そこで、今、多角形ｉは、Ｎ個の頂点ｋ１,ｋ２,…,ｋＮを持つものとする。
【００４６】
さらに、本実施例では、多角形ｉの形状を、共通の始点から多角形の各頂点へのＮ個の２次元ベクトルａik（ｋ＝ｋ１,ｋ２,…,ｋＮ）を用いて表す。また、多角形ｉの位置は、２次元ベクトルｖiを用いて表す。共通の始点ベクトルが多角形の位置を表すベクトルに相当する。
【００４７】
図４は多角形形状および位置の説明図である。これら２種類のベクトルを用いることにより、図４に示されるように、２次元平面上で多角形ｉを並べたときの多角形ｉの各頂点の座標を、
ｖi＋ａik（ｋ＝ｋ１,ｋ２,…,ｋＮ）
で表すこととする。
【００４８】
これらの頂点ｋは、３次元空間内では複数の多角形で共有されていたものである。しかしながら、２次元平面上では、同じ頂点ｋであっても、多角形ｉの頂点ｋの位置は、
ｖi＋ａik
であり、多角形ｊの頂点ｋの位置は、
ｖj＋ａjk
となり、別の位置に存在することになる。同様に各頂点を端点とする各辺も、３次元空間内では共有されていても、２次元平面上では共有されず、別の辺となる。
【００４９】
さて、このように、多角形の各頂点の座標を指定することにより、多角形の形状を保存しながら多角形の位置だけを平行移動させたい場合には、多角形ｉの形状を示すベクトルａikは変化させないで、多角形ｉの位置を示すベクトルｖiのみを変化させれば良い。入力データ１０１は、このようにして定めた多角形形状に関するデータ、すなわち、ａikを持つものとする。さらに、入力データ１０１内には、３次元空間内の物体表面を構成する多角形の相対位置情報を表すデータが含まれる。この相対位置情報に関するデータは、周囲多角形抽出部１０３において使用されるものである。上記相対位置情報は、以下に示す（情報１）、（情報２）、および、（情報３）である。
【００５０】
（情報１）３次元空間内の物体表面を構成する多角形の各辺に対し、各辺をどの多角形が共有しているかを示す、辺を共有する多角形のインデクスのデータである。例えば、各辺を示すインデクスをｈとするとき、辺ｈを共有する多角形の集合Ｆｈである。
（情報２）各辺の両端の頂点インデクスのデータである。例えば、各辺を示すインデクスをｈとするとき、辺ｈの両端の頂点インデクスの集合Ｇｈである。
（情報３）３次元空間内の物体表面を構成する各多角形にはどの辺が存在しているかを示す、多角形の辺のインデクスのデータである。例えば、各多角形を示すインデクスをｉとするとき、多角形ｉの辺のインデクスの集合Ｈｉである。
【００５１】
（情報１）と（情報３）は相互に変換可能であるため、どちらか一つだけを保持すればよい。しかしながら、上記の相互変換の計算量が多い場合には、（情報１）と（情報３）の両方を保持してももちろん良い。あるいは、多角形が規則的に並んでいて、多角形インデクスから、多角形の相対位置情報、すなわち、上記の（情報１）や（情報２）や（情報３）が容易に求められる場合には、上記相対位置情報は特に入力データ１０１に含まれる必要は無い。
【００５２】
さらに、図４に示されるように、各頂点の位置は、ベクトルｖiの終点から、各ベクトルａikを伸ばすことによって得られる。ベクトルｖiの終点と、多角形ｉの位置関係は任意であるため、多角形ｉの位置とベクトルｖiの終点の位置を予め固定しておくことにより、ａik（ｋ＝ｋ１,ｋ２,…,ｋＮ）のうち、一つのベクトルを入力データ１０１として持つことを省略することが可能である。例えば、多角形ｉの位置を示すベクトルａikの共通の始点を、多角形ｉの頂点ｋ１であるとする。つまり、常に、ａik1＝０とする。このようにすることで、ａik1を入力データとして保持する必要が無くなる。よって、頂点に関する２次元ベクトルのデータを一つ省略することができる。これは一つの例であり、他の例として、例えば、多角形ｉの重心をベクトルｖiの終点とする、といった規定をとってももちろん良い。以上で入力データ１０１の説明を終わる。
【００５３】
次に、多角形スキャン部１０２および周囲多角形抽出部１０３の説明を行う。多角形スキャン部１０２では、入力された多角形を一つ一つ全て抽出する。ここで、多角形スキャン部１０２で多角形ｉが抽出されたとする。周囲多角形抽出部１０３では、多角形ｉと辺を共有する多角形を全て抽出する。これで、多角形スキャン部１０２および周囲多角形抽出部１０３の説明を終わる。
【００５４】
次に、一次方程式作成部１０４の説明を行う。一次方程式作成部１０４は、多角形を２次元平面上に並べたとき、ある中心多角形と、この中心多角形と辺を共有する周辺多角形との間で、共有すべき辺間の距離の和が最小になるような中心多角形と周辺多角形との相対位置を示す一次方程式の係数を作成する。ここでは、以下の距離関数を定義し、この距離関数が最小になるような多角形位置ベクトルｖiを求めることによって、多角形位置を決定する。
【００５５】
まず、各頂点を示すインデクスをｋ、各辺を示すインデクスをｈ、各多角形を示すインデクスをｉとする。さらに、（情報１）、（情報２）、および、（情報３）に示されるように、辺ｈを共有する多角形のインデクスの集合(多角形インデクス集合)をＦｈ、辺ｈの両端の頂点のインデクスの集合（頂点インデクス集合）をＧｈ、多角形ｉの辺のインデクスの集合（辺インデクス集合）をＨｉとする。
【００５６】
ここで、辺ｈを共有する多角形のインデクスの集合Ｆｈについて図５を用いて説明する。図５は多角形インデクス集合Ｆｈの説明図である。例えば、３次元空間内の物体表面で、図５に示すように、辺ｈを多角形１と多角形２が共有しているとする。このとき、多角形インデクス集合は、
Ｆｈ＝｛１,２｝
である。また、図５のように、辺ｈの両端の頂点のインデクスが４と５であるとき、頂点インデクス集合は、
Ｇｈ＝｛４,５｝
である。
【００５７】
次に、多角形ｉの辺のインデクスの集合をＨｉについて図６を用いて説明する。図６は、辺インデクス集合Ｈｉの説明図である。図６に示すように、多角形ｉが辺１、２、３、４、５、６を持ち、その他の辺や頂点は持っていないとする。このとき、辺インデクス集合は、
Ｈｉ＝｛１,２,３,４,５,６｝
である。
【００５８】
ここで、ある辺ｈが、２次元平面上で、辺ｈ１と辺ｈ２に分割されたときの、辺ｈ１、辺ｈ２間の距離関数を図８を用いて説明する。図８は距離関数を説明するための図である。図８において、多角形１と多角形２は、３次元空間内では隣接しており、そのときの、頂点ｋ１１とｋ２１は同じ位置に存在していた。かつ、頂点ｋ１２と頂点ｋ２２も同じ位置に存在していたとする。２次元平面上では、辺ｈ１と辺ｈ２が一致しない場合がある。その場合の辺ｈ１と辺ｈ２の距離を以下の式（１）で定義する。
（頂点ｋ１１と頂点ｋ２１間の距離の２乗＋頂点ｋ１２と頂点ｋ２２の距離の２乗）×（辺ｈ１の長さ＋辺ｈ２の長さ）／２      （１）
この辺間の距離は、共有すべき頂点間の距離の２乗和に辺の長さを乗じたものであり、同じ位置にあるべき頂点間の距離の２乗和を、共有すべき辺の長さで重み付けした距離であるということができる。上記の頂点ｋ１１とｋ２１や、頂点ｋ１２とｋ２２が離れた位置にあるときの影響は、辺ｈ１や辺ｈ２の長さに比例すると考えられるからである。
【００５９】
さらに、以下、上記で述べた距離関数を定式化する。辺ｈを共有する多角形の集合はＦｈである。Ｆｈの各要素である多角形インデクスをｉとする。すなわち、ｉ∈Ｆｈとする。さらに、辺ｈの両端の頂点インデクスをｋとすると、ｋ∈Ｇｈである。また、２次元平面に展開したときの多角形ｉの頂点ｋの位置を示す位置ベクトルは、
ｖi＋ａik
である。
【００６０】
全てのｉ（ｉ∈Ｆｈ）、ｋ（ｋ∈Ｇｈ）で、上記の位置ベクトルが同じになることが理想であるが、展開不可能な物体表面では誤差が生じる。すなわち、多角形ｉ（ｉ∈Ｆｈ）の頂点ｋ（ｋ∈Ｇｈ）の位置ベクトルｖi＋ａikと、多角形ｊ（ｊ∈Ｆｈ,ｊ≠ｉ）の頂点ｋ（ｋ∈Ｇｈ）の位置ベクトルｖj＋ａjkは、異なる場合がある。ここで、頂点ｋ（ｋ∈Ｇｈ）に関する誤差の２乗和を、辺ｈの長さで重み付けした値を辺ｈの距離関数Ｅｈとする。この辺ｈの距離関数Ｅｈは以下の式（２）のように表すことができる。
【００６１】
【数２】
2005301426.tif 000003
ただし、
【００６２】
【数３】
2005301426.tif 000004
とする。ここで、ｉ＝ｊの時には、（ｖi＋ａik）−（ｖj＋ａjk）=0であるので、（２）式は、
【００６３】
【数４】
2005301426.tif 000005
とできる。次に、全辺に渡って、Ｅｈを加算したものが、全体の距離関数Ｅである。
【００６４】
【数５】
2005301426.tif 000006
ここで、距離関数Ｅは、ｖiの２次形式であり、２次の項の係数は正であるので、全ての多角形インデクスｉに関して、
【００６５】
【数６】
2005301426.tif 000007
となるｖiが、距離関数Ｅを最小化する多角形の位置ベクトルとなる。そこで、ｉ＝ｍの時の最小化条件を求める。
【００６６】
【数７】
2005301426.tif 000008
よって、ｉ＝ｍの時の最小化条件は、
【００６７】
【数８】
2005301426.tif 000009
とできる。（８）式を変形すると、以下のようになる。
【００６８】
【数９】
2005301426.tif 000010
（９）式は、ｖi(ｉ＝ｍ,ｊ、ただし、ｈ∈Ｈｍ,ｊ∈Ｆｈ,かつ,ｋ∈Ｇｈ)の一次式である。
【００６９】
一次方程式作成部１０４では、多角形スキャン部１０２で抽出された多角形ｍおよび、周囲多角形抽出部１０３で抽出された多角形ｍの周囲の多角形ｊ（ｈ∈Ｈｍ、かつ、ｊ∈Ｆｈ）の形状情報から、一次方程式（９）の係数を作成する。上記で示される形状情報とは、ａmk（ｋ∈Ｇｈ、ｈ∈Ｈｍ）および、ａjk（ｊ∈Ｆｈ、ｋ∈Ｇｈ、ｈ∈Ｈｍ）のことである。また、上記（９）式は、２次元ベクトルの式ではあるが、２次元ベクトルの各要素ごとに演算をすることによって、通常のスカラー値と同じように方程式を作ることができる。
【００７０】
以上のように、多角形ｍに関する一次方程式を作ることができた。多角形スキャン部１０２では、全ての多角形をスキャンする。その結果、一次方程式作成部１０４では、全ての多角形ｉに関する一次方程式を作ることができる。
【００７１】
ここで、我々が求めようとしている未知情報は、ｖiである。ここで、多角形の数をＮとすると、未知数は、ｖ1,ｖ2,…,ｖNのＮ個である。(実際には、ｖiは２次元ベクトルであるので、未知スカラー値は２×Ｎであるが、ここではベクトルを一つの数として扱い、未知数をＮとして表記した)。また、一つの多角形ｍに対して、（９）式に示される一次方程式を作ることができる。多角形数はＮであるので、Ｎ個の一次方程式を作成することができる。この連立一次方程式を以下のように行列を用いて表すことができる。
Ａｘ＝ｂ                                      （１０）
Ａは係数行列であり、（９）式のうち以下に示す部分から計算できる。
【００７２】
【数１１】
2005301426.tif 000011
ＡはＮ×Ｎの行列である。
ｘはＮ行１列の未知ベクトルであり、（ｖ1（ｕ）,ｖ2（ｕ）,…,ｖN（ｕ））Tである。
【００７３】
ここで、ｖi（ｕ）はベクトルｖiの第ｕ成分を示す（ｕ＝１,２）。さらに、ｂは、以下に示すＮ行１列の既知ベクトルである。これを式（１２）に示す。
【００７４】
【数１２】
2005301426.tif 000012
ここで、（１０）式のＡは実は特異行列であり、逆行列を持たない。そのためこのままでは（１０）式を解くことができない。これは、（９）式あるいは、（１０）式が多角形の位置ベクトルｖi各々の相対値のみを規定しているためである。何らかの方法によって、絶対的な位置を指定する必要がある。たとえば、インデクスが１の多角形の位置ベクトルの値を、ｖ1＝０とすることによって、（１０）式を解くことが可能となる。このとき、（１０）式の係数行列Ａの第１列の数値は任意となる。そこで、行列Ａから第１列を抜いたＮ行（Ｎ−１）列の行列をＢとする。ｖ1＝０としたとき、（１０）式は
Ｂｘ＝ｂ                                      （１３）
となる。
以上で、一次方程式作成部１０４の説明を終える。
【００７５】
次に、多角形位置演算部１０５で式（１３）の解を求める。多角形位置演算部１０５では、未知数がＮ−１で式の数がＮの連立一次方程式（１３）を解くことになる。方程式（１３）は、最小二乗法を用いて解けばよい。例えば、
ｘ＝（ＢTＢ）-1ＢTｂ
などとして解くことができる。
【００７６】
これにより、多角形の位置は、連立一次方程式を最小二乗法で解くという公知の手法を用いて計算することができる。以上で多角形位置演算部１０５の説明を終える。
【００７７】
次に並べ合わせ部１０６の説明を行う。並べ合わせ部１０６では、多角形位置演算部１０５で求められた多角形位置ｖiと、既知である多角形形状ａik、および、多角形の相対位置情報を基に、多角形の並べ合わせを行う。ここで、多角形相対位置情報として、既に述べた（情報２）を保持しているものとする。すなわち、各多角形インデクスｉに対して、多角形ｉの頂点インデクスの集合Ｇｉが分かっているものとする。このような条件の下で、各多角形の各頂点の座標は、（ｉ＝１,２,…,Ｎ）として、
ｖi＋ａik  （ｉ＝１,２,…,Ｎ、かつ、ｋ∈Ｇｉ)
として求めることができる。以上で並べ合わせ部１０６の説明を終える。
【００７８】
次に、多角形形状補正部１０７の動作および出力データ１０８を説明する。ある頂点ｋは、複数の多角形で共有されるべきであるにも関わらず、並べ合わせ部１０６で多角形を並べた結果、各多角形の頂点ｋの座標が異なる場合が存在する。このままでは、並べ合わせた多角形の隙間や重複が存在するので、その隙間や重複を無くすように、多角形形状を補正する。実際には、頂点座標の補正を行う。各頂点ｋに対して、以下の処理を行う。すなわち、頂点ｋの座標ベクトルｘkを各多角形に属する頂点ｋの重心として、以下のように決定する。
【００７９】
【数１４】
2005301426.tif 000013
ここで、Ｊｋは、頂点ｋを共有する多角形インデクスの集合であり、｜Ｊｋ｜は、集合Ｊｋの要素数を示す。この頂点座標ｘkが出力データ１０８である。あるいは、出力データ１０８は、頂点座標ではなくて、多角形位置ｖiと、補正された多角形形状ａ’ikとする場合も考えられる。この場合、多角形形状補正部１０７では、補正された多角形形状ａ’ikの計算を以下のように行えば良い。
ａ’ik＝ｘk−ｖi
以上で、多角形形状補正部１０７の動作および出力データ１０８の説明を終える。これで、実施例１の動作の説明を終える。
【００８０】
実施例１によれば、入力多角形の位置は多角形の位置に関する式を解くことにより決定し、入力多角形を平面上に並べることができる。これにより、３次元空間内の物体表面が多角形の集合体として表されている場合に、物体表面が展開不可能な場合であっても、多角形を平面上でできるだけ歪みが小さくなるように並べることができる。また、歪みの小さな展開図を作成するのに必要な測地線の距離を求める必要が無いため、測地線の距離を求めるための計算量を削減できる。
【実施例２】
【００８１】
次に、実施例２について説明する。実施例１では、物体表面が一般の多角形で構成されている場合について説明した。実施例２では、特に、物体表面が凸四角形で構成されている場合に関して、説明を行う。また、実施例２は、多角形が規則的に並んでいて、多角形インデクスから、多角形の相対位置情報、すなわち、前記の（情報１）、（情報２）、あるいは（情報３）が容易に求められる場合の例を述べるものである。
【００８２】
さらに、本実施例２は、多角形ｉの座標と多角形ｉの位置ベクトルｖiの終点との位置関係を明確にした例を示すものである。さらに、本実施例２でも、実施例１と同様に、全ての多角形の頂点以外の辺上には、他の多角形の頂点の存在を認めないという条件を課す。以下、本実施例の説明を具体的に行う。
【００８３】
図９は、物体の表面の四角形が規則正しく並んでいる様子の説明図である。本実施例では、図９に示されるように、物体表面を構成する四角形が、２次元配列の行と列に対応するように、規則正しく並んでいることを前提とする。図９の四角形内に書かれた数字はその四角形(多角形)のインデクスを示す。例えば多角形（四角形）１、２、３、４は第１行、多角形（四角形）２、６、１０、１４は第２列などといった、２次元配列へのマッピングが可能なように配列されている。
【００８４】
この場合、多角形スキャン部１０２は、四角形の配置場所に対応した多角形インデクスが分かれば、その多角形の周囲多角形のインデクスや、その多角形の頂点インデクスを簡単に求めることができるため、実施例１で述べたような３次元空間内の物体表面を構成する多角形の相対位置を表すデータ、すなわち、（情報１）や、（情報２）や、（情報３）を決定することができるため、これらの情報を入力データとして特に持つ必要がない。これらの情報を持ってももちろん構わない。
【００８５】
図１０は、物体表面の四角形が規則正しく並んでいない様子の説明図である。ところが、図１０に示されるような四角形の位置関係では、各四角形を２次元配列にマッピングすることができないため、本実施例の適用外となる。すなわち、本実施例２は、実施例１の条件を狭くし、さらに具体的にして、分かりやすいように説明するものである。
【００８６】
さて、本実施例２においても、式（９）を用いて一次方程式を作成する。図１１は実施例２の動作説明図である。ここで、簡単のために、図１１に示されるように、多角形スキャン部１０２で抽出された多角形インデクスが０、周囲多角形抽出部１０３で抽出された多角形インデクスが１〜４であるとする。また、図１１に示すように、辺インデクスを１〜４、頂点インデクスを１〜４とする。このとき、式（９）において、ｍ＝０、Ｈｍ＝Ｈ０＝｛１,２,３,４｝、Ｆ１＝｛０,１｝、Ｆ２＝｛０,２｝、Ｆ３＝｛０,３｝、Ｆ４＝｛０,４｝となり、また、Ｇ１＝｛１,３｝、Ｇ２＝｛２,４｝、Ｇ３＝｛１,２｝、Ｇ４＝｛３,４｝となる。
【００８７】
図１２は実施例２の他の動作例を説明する図である。さらに、図１２に示すように、２次元平面にマッピングするときの、各多角形１〜５の辺の長さを測定する。図１２に示すように、多角形０の辺１の長さをＬ１、多角形１の辺１の長さをＬ１’とする。同様に、多角形０の辺２の長さをＬ２、多角形２の辺２の長さをＬ２’多角形０の辺３の長さをＬ３、多角形３の辺３の長さをＬ３’多角形０の辺４の長さをＬ４、多角形４の辺４の長さをＬ４’とする。ここで、ＬｉとＬｉ’の値は異なる値でも構わない。以上の条件下で、各辺の長さは、
L(1)＝（L1＋L1’）／2、
L(2)＝（L2＋L2’）／2、
L(3)＝（L3＋L3’）／2、
L(4)＝（L4＋L4’）／2
となる。このとき（９）式は、以下の（１５）式に示すようになる。
2×{L(1)+L(2)+L(3)+L(4)}×v1
-2×L(1)×v1
-2×L(2)×v2
-2×L(3)×v3
-2×L(4)×v4
＝
-{L(1)+L(3)}×a01-{L(3)+L(2)}×a02-{L(4)+L(1)}×a03-{L(2)+L(4)}×a04
+L(1)×(a11+a13)+L(2)×(a22+a24)+L(3)×(a31+a32)+L(4)×(a44+a43)    （１５）
となる。
【００８８】
係数行列Ａは、各行の所定の列(各ベクトルｖiに相当する位置)に、係数２×{L(1)＋L(2)＋L(3)＋L(4)}、あるいは、−２×L(h)を入れ、その他の位置に０を入れることによって作ることができる。本実施例２においては、上記の係数２×{L(1)＋L(2)＋L(3)＋L(4)}、あるいは、−２×L(h)は、多角形に限らず同じであるため（どのベクトルの係数になるかは異なるが）、中心の多角形と周囲の多角形の相対位置さえわかれば、直ぐに選択することができるので、その都度計算を行う必要はない。このため、多角形位置演算部１０５は、多角形の相対位置から、各多角形の位置に関する一次方程式の係数を決定することができる。
【００８９】
また、実施例１でも述べたが、ベクトルｖiの終点と各多角形の位置関係は任意であるため、各四角形ｉの左下の頂点の座標をベクトルｖiの終点に一致させても良い。この場合、ａ01＝ａ22＝ａ43＝0のように固定することができるので、入力データ１０１のデータ量を省略できる。このとき、式(１５)は、以下の式（１６）に示すようになる。
2×{L(1)＋L(2)＋L(3)＋L(4)}×v1
-2×L(1)×v1
-2×L(2)×v2
-2×L(3)×v3
-2×L(4)×v4
＝
-{L(3)+L(2)}×a02-{L(4)+L(1)}×a03-{L(2)+L(4)}×a04
+L(1)×(a11+a13)+L(2)×(a24)+L(3)×(a31+a32)+L(4)×(a44)      （１６）
となる。
【００９０】
さらに、入力四角形が平行四辺形に限定する場合を考える。この場合、四角形の形状は二つのベクトルで表すことができるので、さらに入力データ１０１のデータ量を省略できる。他の部分は実施例１と同様に動作する。以上で実施例２の説明を終わる。
【００９１】
実施例２によれば、入力多角形が２次元行列にマッピングされるように配置された四角形である場合には、入力データの情報量と、展開処理のための計算量を削減することができる。
【実施例３】
【００９２】
次に、実施例３について説明する。実施例１および実施例２では、全ての多角形の頂点以外の辺上には、他の多角形の頂点の存在を認めないという条件を課していたが、実施例３では、この条件を取り外し、多角形の頂点以外の辺上に、他の多角形の頂点の存在する場合に対しても本発明を適用可能にするものである。実施例３は、実施例１の物体表面平坦装置１００と同じ構成で実現可能なであるため、図３を用いて説明する。まず、一般の多角形の場合に関して示す。
【００９３】
図１３は実施例３の動作説明図である。図１３に示されるように、多角形１の辺ＳＴに、他の多角形２および３の頂点Ｖが存在している場合を考える。この場合、実施例１に示された方式を適用することはできない。本実施例では、多角形１を、頂点Ｖの位置を新たな頂点とする二つの多角形に分割することによって、実施例１の手法を適用しようとするものである。多角形の分割は、多角形の形状情報および周辺多角形の形状情報に基づき多角形スキャン部１０２により行われる。したがって、多角形スキャン部１０２が特許請求の範囲における多角形分割手段に相当する。
【００９４】
適用の方法には以下の２種類がある。図１４は多角形分割方式を説明する図である。図１５は多角形分割方式の他の例を説明する図である。
（１）多角形１の頂点以外の辺上に他の多角形２、３の頂点Ｖが存在している場合に、頂点Ｖから、頂点Ｓ、Ｔ以外の一つの頂点に線を引くことによって多角形１を分割する。この方式の分割の様子を図１４に示す。
（２）多角形１の頂点以外の辺上に他の多角形２、３の頂点Ｖが存在している場合に、頂点Ｖから、半直線を多角形１の内部の方向に引く。
【００９５】
このように直線を引くことにより、頂点Ｖを多角形の辺上の頂点ではなくすることができる。さらに、上記（２）の場合、半直線の方向を、図１５における多角形２と多角形３の間の線分と同じにすることによって、より妥当な分割が可能になる。
【００９６】
実施例３によれば、多角形の頂点以外の辺上に他の多角形の頂点が存在している場合に、多角形の辺上にある頂点から線分あるいは半直線を引くことにより、その頂点と辺の交点を新たな頂点することで、多角形の辺上の頂点ではなくすことができるので、入力多角形の辺上に頂点がない場合と同様に物体表面を平面に展開できる。
【００９７】
なお、上記図３で説明した物体表面平坦化装置または物体表面平坦化方法は、例えば、ＣＰＵ（Central Processing Unit）、ＲＯＭ(Read Only Memory)、ＲＡＭ(Random Access Memory)等を用いて実現され、プログラムをハードディスク装置や、ＣＤ−ＲＯＭ、ＤＶＤまたはフレキシブルディスクなどの可搬型記憶媒体等からインストールし、または通信回路からダウンロードし、ＣＰＵがこのプログラムを実行することで、図３に示した各機能を実現する。
【００９８】
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【図面の簡単な説明】
【００９９】
【図１】多角形の辺共有を説明する図である。
【図２】多角形の頂点が２点に分割される場合を説明する図である。
【図３】本実施例に係る物体表面平坦化装置１００のブロック図である。
【図４】多角形形状および位置の説明図である。
【図５】多角形インデクス集合Ｆｈの説明図である。
【図６】辺インデクス集合Ｈｉの説明図である。
【図７】(ａ)はある多角形の頂点以外の辺上には、他の多角形の頂点が存在していない様子を示す図、(ｂ)はある多角形の頂点以外の辺上に、他の多角形の頂点が存在している様子を示す図である。
【図８】距離関数を説明するための図である。
【図９】物体の表面の四角形が規則正しく並んでいる様子の説明図である。
【図１０】物体表面の四角形が規則正しく並んでいない様子の説明図である。
【図１１】実施例２の動作説明図である。
【図１２】実施例２の他の動作例を説明する図である。
【図１３】実施例３の動作説明図である。
【図１４】多角形分割方式を説明する図である。
【図１５】多角形分割方式の他の例を説明する図である。
【符号の説明】
【０１００】
１００  物体表面平坦化装置
１０２  多角形スキャン部
１０３  周囲多角形抽出部
１０４  一次方程式作成部
１０５  多角形位置演算部
１０６  並べ合わせ部
１０７  多角形形状補正部
【図１】
2005301426.tif 000014
【図２】
2005301426.tif 000015
【図３】
2005301426.tif 000016
【図４】
2005301426.tif 000017
【図５】
2005301426.tif 000018
【図６】
2005301426.tif 000019
【図７】
2005301426.tif 000020
【図８】
2005301426.tif 000021
【図９】
2005301426.tif 000022
【図１０】
2005301426.tif 000023
【図１１】
2005301426.tif 000024
【図１２】
2005301426.tif 000025
【図１３】
2005301426.tif 000026
【図１４】
2005301426.tif 000027
【図１５】
2005301426.tif 000028