(57)【要約】【課題】エッジをできるだけ維持しつつ滑らかな３次元形状を得ること。【解決手段】ポリゴンメッシュからなる３次元モデルの編集装置であって、３次元モデル上におけるエッジ部を指定する手段と、３次元モデルのポリゴンの各頂点の座標値について、当該頂点の周辺の頂点であってかつ指定されたエッジ部に属する頂点のみを用いて演算を行うことにより、平滑化を行う第１の平滑化手段と、３次元モデルのポリゴンの各頂点の座標値について、第１の平滑化手段とは異なる演算を行うことにより、平滑化を行う第２の平滑化手段と、平滑化を行うべき頂点が指定されたエッジ部に属する場合には第１の平滑化手段を選択し、エッジ部に属しない場合には第２の平滑化手段を選択する選択手段とを有する。【選択図】　　　図１
2004054852.tif 000002
【特許請求の範囲】
【請求項１】
ポリゴンメッシュからなる３次元モデルの編集装置であって、
前記３次元モデル上におけるエッジ部を指定する手段と、
前記３次元モデルのポリゴンの各頂点の座標値について、当該頂点の周辺の頂点であってかつ指定された前記エッジ部に属する頂点のみを用いて演算を行うことにより、平滑化を行う第１の平滑化手段と、
前記３次元モデルのポリゴンの各頂点の座標値について、前記第１の平滑化手段とは異なる演算を行うことにより、平滑化を行う第２の平滑化手段と、
平滑化を行うべき頂点が指定されたエッジ部に属する場合には前記第１の平滑化手段を選択し、エッジ部に属しない場合には前記第２の平滑化手段を選択する選択手段と、
を有することを特徴とする３次元モデルの編集装置。
【請求項２】
ポリゴンメッシュからなる３次元モデルの編集装置であって、
前記３次元モデル上におけるエッジ部を指定する手段と、
２次元画像上においてエッジラインを指定する手段と、
前記２次元画像上で指定された前記エッジラインと前記３次元モデル上で指定された前記エッジ部とを関連付ける手段と、を有し、
前記エッジ部に属する頂点が前記エッジライン上に投影されるような拘束を与えて平滑化を行う、第１の平滑化手段と、
前記３次元モデルのポリゴンの各頂点の座標値について、前記第１の平滑化手段とは異なる演算を行うことにより、平滑化を行う第２の平滑化手段と、
平滑化を行うべき頂点が指定されたエッジ部に属する場合には前記第１の平滑化手段を選択し、エッジ部に属しない場合には前記第２の平滑化手段を選択する選択手段と、
を有することを特徴とする３次元モデルの編集装置。
【請求項３】
ポリゴンメッシュからなる３次元モデルの編集装置であって、
前記３次元モデル上におけるエッジ部を指定する手段と、
前記エッジ部に属する頂点が前記エッジ部に近似する直線上に配置されるような拘束を与えて平滑化を行う、第１の平滑化手段と、
前記３次元モデルのポリゴンの各頂点の座標値について、前記第１の平滑化手段とは異なる演算を行うことにより、平滑化を行う第２の平滑化手段と、
平滑化を行うべき頂点が指定されたエッジ部に属する場合には前記第１の平滑化手段を選択し、エッジ部に属しない場合には前記第２の平滑化手段を選択する選択手段と、
を有することを特徴とする３次元モデルの編集装置。
【請求項４】
前記第１の平滑化手段または前記第２の平滑化手段による平滑化の前後における前記３次元モデルの各部の局所体積の変化を評価する手段と、
平滑化の前後における前記３次元モデルの各部の局所体積の変化が零となるように平滑化後のポリゴンの各頂点の座標値を補正する手段と、
を有する請求項１乃至３のいずれかに記載の３次元モデルの編集装置。
【請求項５】
ポリゴンメッシュからなる３次元モデルの編集のためのコンピュータプログラムであって、
前記３次元モデル上におけるエッジ部を指定する機能と、
前記３次元モデルのポリゴンの各頂点の座標値について、当該頂点の周辺の頂点であってかつ指定された前記エッジ部に属する頂点のみを用いて演算を行うことにより、平滑化を行う第１の平滑化機能と、
前記３次元モデルのポリゴンの各頂点の座標値について、前記第１の平滑化機能とは異なる演算を行うことにより、平滑化を行う第２の平滑化機能と、
平滑化を行うべき頂点が指定されたエッジ部に属する場合には前記第１の平滑化機能を実行し、エッジ部に属しない場合には前記第２の平滑化機能を実行する選択機能とを、
コンピュータ上に実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、３次元モデルの編集装置およびコンピュータプログラムに関し、特に、３次元モデルにおいてそのエッジ部が鮮明な状態に維持されるように平滑化を行うために利用される。
【０００２】
【従来の技術】
従来より、ＣＧ（Ｃｏｍｐｕｔｅｒ　Ｇｒａｐｈｉｃｓ　）または工業デザインの分野において、対象物である物体を光学的に３次元計測する３次元形状入力装置がしばしば用いられる。３次元形状入力装置は、レーザまたはパターン光を対象物である物体に照射し、物体の表面での反射光をセンサで捉えることにより物体の３次元形状を精密にサンプリングして入力する。これにより、物体の表面について、３次元の点群からなる３次元データが得られ、これに基づいてポリゴンメッシュからなる３次元データ（３次元モデル）が生成される。
【０００３】
【発明が解決しようとする課題】
しかし、このようにして得られた３次元データのレンダリング表示を行うと、エッジ部が不鮮明なものとなってしまう問題がある。
【０００４】
この問題の起こる理由の１つは、３次元データに局所ノイズが多く含まれることにより、エッジ周囲の不自然な凹凸がエッジをぼかしてしまうからである。そこで、局所ノイズを低減するために、Ｌ．Ｋｏｂｂｅｌｔ，　Ｓ．Ｃａｍｐａｇｎａ，　Ｊ．Ｖｏｒｓａｔｚ，　ａｎｄ　Ｈ．Ｓｅｉｄｅｌ，”Ｉｎｔｅｒａｃｔｉｖｅ　　Ｍｕ１ｔｉ−Ｒｅｓｏｌｕｔｉｏｎ　Ｍｏｄｅｌｉｎｇ　ｏｎ　Ａｒｂｉｔｒａｒｙ　Ｍｅｓｈｅｓ，　”Ｐｒｏｃ．　ＳＩＧＧＲＡＰＨ　’９８，　１９９８　　にあるように、反復的に頂点座標を近傍の頂点座標の重み付け平均で置きかえる平滑化の手法が一般に用いられる。
【０００５】
しかし、このような平滑化の手法によると、曲率が拡散してしまうため、エッジが丸められてしまう。つまりエッジの情報は周波数が高いので、平滑化とともにエッジも削り取られてしまう。また、平滑化の度合いを増やそうとして反復を繰り返すと体積が収縮してしまう。なお、体積の収縮を防止する手法が、ＵＳＰ５５０６９４７に提案されている。但しこれによる場合には、局所体積を評価しているわけではないので、補正の程度はユーザが設定する必要がある。
【０００６】
理由の他の１つは、物体の３次元形状は離散的に計測されるためである。計測点は、物体と３次元形状入力装置との相対的な位置関係によって決まるため、エッジに沿って計測点が並ばず、エッジは削り取られてしまう。
【０００７】
本発明は、上述の問題に鑑みてなされたもので、エッジをできるだけ維持しつつ滑らかな３次元形状を得ることのできる、３次元モデルの編集装置およびコンピュータプログラムを提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明に係る編集装置は、ポリゴンメッシュからなる３次元モデルの編集装置であって、前記３次元モデル上におけるエッジ部を指定する手段と、前記３次元モデルのポリゴンの各頂点の座標値について、当該頂点の周辺の頂点であってかつ指定された前記エッジ部に属する頂点のみを用いて演算を行うことにより、平滑化を行う第１の平滑化手段と、前記３次元モデルのポリゴンの各頂点の座標値について、前記第１の平滑化手段とは異なる演算を行うことにより、平滑化を行う第２の平滑化手段と、平滑化を行うべき頂点が指定されたエッジ部に属する場合には前記第１の平滑化手段を選択し、エッジ部に属しない場合には前記第２の平滑化手段を選択する選択手段とを有する。
【０００９】
また、２次元画像上においてエッジラインを指定する手段と、前記２次元画像上で指定された前記エッジラインと前記３次元モデル上で指定された前記エッジ部とを関連付ける手段とを設け、第１の平滑化手段を、前記エッジ部に属する頂点が前記エッジライン上に投影されるような拘束を与えて平滑化を行うように構成し、平滑化を行うべき頂点が指定されたエッジ部に属する場合には当該第１の平滑化手段を選択し、エッジ部に属しない場合には前記第２の平滑化手段を選択するように構成してもよい。
【００１０】
また、第１の平滑化手段を、前記エッジ部に属する頂点が前記エッジ部に近似する直線上に配置されるような拘束を与えて平滑化を行うように構成し、平滑化を行うべき頂点が指定されたエッジ部に属する場合には当該第１の平滑化手段を選択し、エッジ部に属しない場合には前記第２の平滑化手段を選択するように構成してもよい。
【００１１】
また、前記第１の平滑化手段または前記第２の平滑化手段による平滑化の前後における前記３次元モデルの各部の局所体積の変化を評価する手段と、平滑化の前後における前記３次元モデルの各部の局所体積の変化が零となるように平滑化後のポリゴンの各頂点の座標値を補正する手段とを有するように構成してもよい。
【００１２】
【発明の実施の形態】
図１は本発明の実施形態に係る３次元モデルの編集装置１のブロック図である。
【００１３】
図１において、編集装置１は、装置本体１０、磁気ディスク装置１１、媒体ドライブ装置１２、ディスプレイ装置１３、キーボード１４、およびマウス１５などからなる。
【００１４】
装置本体１０は、ＣＰＵ、ＲＡＭ、ＲＯＭ、ビデオＲＡＭ、入出力ポート、各種コントローラ、各種インタフェースなどからなる。ＲＡＭおよびＲＯＭなどに記憶されたプログラムをＣＰＵが実行することにより、以下に説明する種々の機能が実現される。
【００１５】
磁気ディスク装置１１には、ＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）　、３次元モデル（３次元形状モデル）ＭＬを生成しまたはテクスチャマッピングを行うためのモデリングプログラム（３次元編集プログラム）ＰＲ、データ入力のためのプログラム、その他のプログラム、入力されまたは生成された３次元データ（３次元形状データ）ＤＴ、画像（２次元画像データ）ＦＴ、生成された３次元モデルＭＬ、その他のデータなどが格納されている。これらのプログラムおよびデータは、適時、装置本体１０のＲＡＭにローディングされる。
【００１６】
なお、モデリングプログラムＰＲには、初期化処理、エッジ指定処理、ノーマル平滑化処理、２Ｄライン拘束平滑化処理、直線化平滑化処理、選択処理、アンチ収縮処理、マッピング処理、およびその他の処理のためのプログラムが含まれる。
【００１７】
媒体ドライブ装置１２は、ＣＤ−ＲＯＭ（ＣＤ）、フロッピィディスクＦＤ、光磁気ディスク、コンパクトフラッシュ（登録商標）などの半導体メモリＨＭ、その他の記録媒体にアクセスし、データまたはプログラムの読み書きを行う。記録媒体の種類に応じて適切なドライブ装置が用いられる。上に述べたモデリングプログラムＰＲは、これら記録媒体からインストールすることも可能である。３次元データＤＴおよび画像ＦＴなども記録媒体を介して入力することが可能である。
【００１８】
ディスプレイ装置１３の表示面ＨＧには、上に述べた種々のデータ、３次元データＤＴ、画像ＦＴ、モデリングプログラムＰＲによる処理過程の画像、生成された３次元モデルＭＬ、その他の画像またはデータが表示される。
【００１９】
キーボード１４およびマウス１５は、ディスプレイ装置１３に表示された画像ＦＴおよび３次元データＤＴに対して、ユーザが種々の指定を行うために用いられる他、装置本体１０に種々のデータを入力しまたは指令を与えるために用いられる。
【００２０】
装置本体１０には、対象物を種々の視点から撮影して画像ＦＴを入力するためのデジタルカメラＤＣが接続される。また、対象物を撮影してその３次元データＤＴを入力するための３次元計測装置ＴＣが接続される。３次元計測装置ＴＣは、例えば光切断法によって対象物の３次元データＤＴを非接触で計測する。３次元計測装置ＴＣは、図示しない回転台の上に置かれた対象物を計測し、装置本体１０に３次元データＤＴを入力する。３次元データＤＴは、３次元計測装置ＴＣの基準位置からの相対座標で記述される。
【００２１】
また、３次元計測装置ＴＣから、３次元データＤＴではなく、３次元データＤＴを生成するための元となるデータを出力し、装置本体１０によって３次元データＤＴを演算によって求めるようにしてもよい。なお、デジタルカメラＤＣおよび３次元計測装置ＴＣには、その位置および姿勢を検出して位置姿勢情報を出力する位置姿勢センサが設けられている。デジタルカメラＤＣ、３次元計測装置ＴＣ、および回転台の位置関係は、位置姿勢情報に基づいて事前に校正され、磁気ディスク装置１１に記憶されており、撮影または計測によって取得された画像ＦＴ上の各画素の座標と３次元データＤＴに基づくポリゴンメッシュＰＭの各頂点の位置情報との対応が既知である。
【００２２】
また、３次元計測装置ＴＣそれ自体によって、３次元データＤＴと画像ＦＴとを取得することも可能である。その場合には、３次元計測装置ＴＣの内部パラメータによって、３次元データＤＴと画像ＦＴとの位置関係が規定され、または射影行列が生成される。
【００２３】
次に、編集装置１の機能について説明する。
図２はポリラインＰＬＳ，ＰＬＴを説明するための図である。
まず、データ入力のプログラムを起動し、事前に校正しておいた位置姿勢情報などを磁気ディスク装置１１から装置本体１０のメモリ上に読み込む。そして、３次元計測装置ＴＣ、デジタルカメラＤＣ、および回転台を制御し、様々な角度から対象物を撮影しまたは計測して３次元データＤＴ（３次元モデルＭＬ）および画像ＦＴを装置本体１０に入力し、メモリに記憶する。
【００２４】
入力された３次元データＤＴを、撮影時における回転台の回転角度に基づいて、予め定められた位置を基準とする座標系に変換し、磁気ディスク装置１１に記憶する。また、画像ＦＴを、光学パラメータデータとともに磁気ディスク装置１１に記憶する。３次元データＤＴの各点は、各画像ＦＴに付属する位置姿勢情報と光学パラメータデータに基づいて画像ＦＴ上に投影することにより、対応する画像ＦＴ上の位置を特定することができる。
【００２５】
モデリングプログラムを起動し、変換済の３次元データＤＴ、それに対応する画像ＦＴ、および光学パラメータデータを、磁気ディスク装置１１からメモリに読み込む。３次元データＤＴ上に、エッジ部として取り扱う部分を特定するための曲線（ポリラインＰＬＴ）を設定する。この曲線の設定は、まず、図２に示すように、画像ＦＴ上に２次元のエッジライン（ポリラインＰＬＳ）を設定する。ポリラインＰＬＳを設定した画像ＦＴ上に、３次元データＤＴのポリゴンメッシュＰＭを投影する。画像ＦＴのポリラインＰＬＳの近傍に投影されたポリゴンＰＧの各頂点をつなぐことにより、ポリゴンＰＧのエッジに沿ってつながったメッシュエッジ（エッジ部）を得る。得られたメッシュエッジが、３次元のポリラインＰＬＴである。
【００２６】
また、画像ＦＴ上に投影されたポリゴンメッシュＰＭに対して、ポリラインＰＬＳによってポリゴンＰＧを分割し、分割されたポリゴンＰＧのエッジ、つまりポリラインＰＬＳに対応するラインを、３次元のポリラインＰＬＴとして設定してもよい。また、ポリゴンＰＧを分割するのではなく、ポリゴンＰＧの頂点をポリラインＰＬＳに一致するように移動することによって３次元のポリラインＰＬＴを設定してもよい。
【００２７】
ポリラインＰＬＴを設定する他の方法として、任意視点でのワイヤフレームの３次元表示画像やテクスチャマッピングされた３次元表示画像上において、画像ＦＴ上にポリラインＰＬＳを設定するのと同様にして設定する方法でもよい。
【００２８】
ポリラインＰＬＴ（エッジ部）が設定された３次元データＤＴに対して、３次元平滑化処理を行う。３次元平滑化処理は、平滑化処理についてのオプションとアンチ収縮処理についてのオプションとの、２種類のオプションについての機能を選択した後で実行する。図３には選択のための画面ＨＧ１の例が示されている。
【００２９】
平滑化処理についてのオプションは、上に述べたように、ノーマル平滑化処理、２Ｄライン拘束平滑化処理、および直線化平滑化処理の３種類がある。各平滑化処理において、処理対象となる頂点がポリライン（エッジ部）ＰＬＴ上の点である場合とそうでない場合とで、処理内容が異なる。処理対象となる頂点がポリラインＰＬＴ上の点である場合には、３種類の平滑化処理のそれぞれで互いに異なる処理が行われる。処理対象となる頂点がポリラインＰＬＴ上の点でない場合には、３種類の平滑化処理で同じ処理が行われる。
【００３０】
アンチ収縮処理のオプションに対しては、オンまたはオフを選択する。したがって、３種類の平滑化処理から選択された処理と、アンチ収縮処理のオプションのオンまたはオフとの組合わせによるいずれかの処理が実行される。次に、それぞれの処理について詳しく説明する。
〔ノーマル平滑化処理〕
図４はノーマル平滑化処理を説明するための図である。
【００３１】
ノーマル平滑化処理では、次の（１）（２）式によって、各頂点の新しい座標値が求められて更新される。更新の回数ｋは、ユーザが指定した回数だけ行われる。
【００３２】
【数１】
2004054852.tif 000003
【００３３】
図４に示すように、処理対象である頂点ｉの一次近傍は、頂点ｉを共有するポリゴン群である。つまり、頂点群Ｎｉ　は、頂点ｉを共有するポリゴンの他の頂点の集合である。
【００３４】
上の（１）式は、処理対象の頂点ｉが、ポリラインＰＬＴを構成する頂点群Ｌに含まれない場合、つまり、頂点ｉがポリラインＰＬＴ上の点でない場合に適用される。（１）式において、頂点ｉの座標値Ｐｉ　は、その一次近傍の頂点群Ｎｉ　に含まれる頂点ｊの座標値Ｐｊ　と、それら２つの頂点ｉ，ｊ間の重み係数ｗｉｊとの積の総和によって更新される。重み係数ｗｉｊとして、例えば、２つの頂点ｉ，ｊ間の距離に逆比例し、係数ｗｉｊの総和が１となる値が用いられる。
【００３５】
したがって、この場合には、頂点ｉの一次近傍の頂点群Ｎｉ　に含まれる全ての頂点ｊの座標値Ｐｊ　に基づいて更新される。（１）式による処理が、本発明の第２の平滑化手段に相当する。
【００３６】
これに対して、上の（２）式は、頂点ｉが頂点群Ｌに含まれる場合、つまり、頂点ｉがポリラインＰＬＴ上の点である場合に適用される。（２）式において、頂点ｉの座標値Ｐｉ　は、その一次近傍の頂点群Ｎｉ　に含まれ且つ頂点群Ｌに含まれる各頂点ｊの座標値Ｐｊ　と、それら２つの頂点ｉ，ｊ間の重み係数ｗｉｊとの積の総和によって更新される。
【００３７】
したがって、この場合には、頂点ｉの一次近傍の頂点群Ｎｉ　のうち、頂点群Ｌに含まれる頂点ｊのみが用いられ、頂点群Ｌに含まれない頂点ｊは用いられない。（２）式による処理が、本発明の第１の平滑化手段に相当する。これによって、処理対象の頂点ｉは、常に頂点群Ｌに沿って移動する。頂点群Ｌは設定されたポリラインＰＬＴであるので、処理を行った後もポリラインＰＬＴが維持される。なお、頂点ｉが頂点群Ｌに含まれるか否か、つまり（２）式または（１）式のいずれを適用するかは、モデリングプログラムＰＭが自動的に判断して選択する。
〔２Ｄライン拘束平滑化処理〕
図５および図６は２Ｄライン拘束平滑化処理を説明するための図である。
【００３８】
２Ｄライン拘束平滑化処理では、次の（３）（４）式によって、各頂点の座標値が更新される。
【００３９】
【数２】
2004054852.tif 000004
【００４０】
ここで、Ｐにハットを付した座標値Ｐｉ　が、２Ｄライン拘束平滑化処理で求められる新しい座標値である。
上の（３）式は、処理対象の頂点ｉが、ポリラインＰＬＴを構成する頂点群Ｌに含まれない場合を示し、この場合には、上の（１）式と同じ値となる。つまり、処理対象の頂点ｉが頂点群Ｌに含まれない場合には、ノーマル平滑化処理と同じ処理が行われる。
【００４１】
上の（４）式は、頂点ｉが頂点群Ｌに含まれる場合に適用される。（４）式で示されるように、頂点ｉが頂点群Ｌに含まれる場合には、そうでない場合に対して補正項ｄｊ　（ハット付き）が加えられる。補正項ｄｊ　の演算に際して、画像ＦＴ上に設定された２次元のポリラインＰＬＳが用いられる。設定されたポリラインＰＬＳと、ポリゴンメッシュＰＭ上に設定された３次元のポリラインＰＬＴとの位置関係が、画像ＦＴとポリゴンメッシュＰＭとの関係から求められる。ポリラインＰＬＴ上の頂点ｉが２次元のポリラインＰＬＳ上に投影されるような拘束を与えた状態で、平滑化の処理が行われる。２次元のポリラインＰＬＳとして、実際にはそのうちの頂点ｉの近傍に存在するセグメント（線分）Ｅｉ　が用いられる。
【００４２】
すなわち、図５および図６に示すように、複数の画像ＦＴ１，２上にそれぞれ設定されたポリラインＰＬＳのうち、処理対象である頂点ｉを投影したときの画像上の距離ｂが設定された閾値ｔよりも小さい位置にあるセグメントＥｉ　が用いられる。そのようなセグメントＥｉ　をそれぞれ含み、且つ各画像ＦＴ１，ＦＴ２の視点位置Ｏ０　，　０１　を含む平面Ｓ０　，Ｓ１　が定義される。頂点ｉの位置から各平面Ｓ０　，Ｓ１　までの距離ｄ１　，ｄ２　（ハット付き），を求め、それらのベクトルを座標値Ｐｉ　に加算する。
【００４３】
これによって、頂点ｉの位置が、関連するポリラインＰＬＳ上の各平面Ｓ上に強制的に乗るように補正される。結果として、各画像ＦＴに設定されたポリラインＰＬＳによる拘束条件を満たす点Ｐｓ　に収束する。
【００４４】
上の（４）式による処理が、本発明の第１の平滑化手段に相当し、且つ請求項２に記載の処理に相当する。これによって、ノーマル平滑化処理の場合と同様、処理対象の頂点ｉが常に頂点群Ｌに沿って移動し、処理を行った後もポリラインＰＬＴが維持される。
〔直線化平滑化処理〕
図７は直線化平滑化処理を説明するための図である。
【００４５】
直線化平滑化処理では、次の（５）（６）式によって、各頂点の座標値が更新される。
【００４６】
【数３】
2004054852.tif 000005
【００４７】
ここで、Ｐにチルダを付した座標値Ｐｉ　が、直線化平滑化処理で求められる新しい座標値である。
上の（５）式は、処理対象の頂点ｉが、ポリラインＰＬＴを構成する頂点群Ｌに含まれない場合を示し、この場合にはノーマル平滑化処理と同じ処理が行われ、上の（１）式と同じ値となる。
【００４８】
上の（６）式は、頂点ｉが頂点群Ｌに含まれる場合に適用される。（６）式で示されるように、頂点ｉが頂点群Ｌに含まれる場合には、そうでない場合に対して補正項ｄｊ　（チルダ付き）が加えられる。補正項ｄｊ　の演算に際して、図７に示すように、３次元のポリラインＰＬＴ上の頂点群Ｌに対してフィッティングされた直線Ｌ’が用いられる。頂点群Ｌに対して直線をフィッティングさせる処理として、公知の方法を用いることができ、自動的に行うことが可能である。フィッティングによって、頂点群Ｌを近似した仮想の直線Ｌ’が得られる。
【００４９】
各頂点ｉは、直線Ｌ’上に射影して乗せられる。すなわち、３次元のポリライン（エッジ部）ＰＬＴに属する頂点ｉが、ポリラインＰＬＴ上の頂点群Ｌに近似する直線Ｌ’上に配置されるような拘束を与えた状態で、各頂点ｉの平滑化が行われる。これにより、エッジ部に属する頂点ｉが直線化され、適切な位置の直線Ｌ’として得られる。
【００５０】
なお、直線化平滑化処理を１回行うことにより、頂点ｉは直線Ｌ’上に乗ることとなるので、２回目以降は直線Ｌ’上を移動するだけとなる。図７に示すように、補正項ｄｊ　（チルダ付き）は、頂点ｉから直線Ｌ’に向かう最短の距離ベクトルである。
【００５１】
上の（６）式による処理が、本発明の第１の平滑化手段に相当し、且つ請求項３に記載の処理に相当する。これによって、処理対象の頂点ｉが常に頂点群Ｌに沿って移動し、処理を行った後もポリラインＰＬＴが維持される。
〔アンチ収縮処理〕
図８は頂点ｉがエッジ部に属する場合のアンチ収縮処理を説明するための図、図９は頂点ｉがエッジ部に属しない場合のアンチ収縮処理を説明するための図、図１０はアンチ収縮処理による重心位置ベクトルまたは中点の移動を説明する図である。
【００５２】
アンチ収縮処理がオンになっている場合には、以下に説明するアンチ収縮処理が実行される。アンチ収縮処理は、各平滑化処理が１回行われるごと、つまり頂点ｉの座標値Ｐが更新されるごとに実行される。
【００５３】
アンチ収縮処理では、次の（７）（８）（９）式によって、各頂点の座標値が更新される。
【００５４】
【数４】
2004054852.tif 000006
【００５５】
ここで、Ｐにバーを付した座標値Ｐｉ　が、アンチ収縮処理で求められる新しい座標値である。新しい座標値Ｐｉ　は、元の座標値に対して、補正項ｄｉ　（バー付き）が加えられる。補正項ｄｉ　は、処理対象の頂点ｉがポリラインＰＬＴを構成する頂点群Ｌに含まれる場合には（８）式で計算され、含まれない場合には（９）式で計算される。
【００５６】
すなわち、処理対象の頂点ｉが頂点群Ｌに含まれる場合には、（８）式、図８、および図１０に示されるように、頂点ｉの一次近傍を構成する全てのポリゴンＰＧの位置変化に関連して、頂点ｉが移動する。この場合の頂点ｉの移動量は、各ポリゴンＰＧの面積の重心ｇの法線方向の移動量の平均に相当する量となる。つまり、平滑化処理によって移動した一次近傍のポリゴンＰＧの重心位置を元に戻すような処理が行われる。これによって、平滑化処理によって収縮した分が戻され、元の体積が保存される。
【００５７】
処理対象の頂点ｉが頂点群Ｌに含まれない場合には、（９）式、図９、および図１０に示されるように、頂点ｉの一次近傍を構成するポリゴンＰＧの頂点のうち、頂点群Ｌに含まれる頂点のみを用いて、頂点ｉの移動量および移動方向が求められる。この場合の頂点ｉの移動量は、各ポリゴンＰＧの重心によるのではなく、頂点群Ｌに含まれるポリゴンＰＧの頂点の中点ｈの法線方向の移動量の平均に相当する量となる。つまり、平滑化処理によって移動したポリラインＰＬＴ上のポリゴンＰＧの頂点の中点位置を元に戻すような処理が行われる。これは、平滑化処理の際に、周囲の全ての頂点を用いずに頂点群Ｌ上の頂点のみを用いて平滑化処理を行っているのであるから、アンチ収縮処理により戻す際にも、頂点群Ｌ上の頂点のみを用いて戻すのが望ましいからである。
【００５８】
これによって、平滑化処理により収縮した分が戻され、元の体積が保存される。しかも、エッジ部に属する頂点ｉに対して行われた平滑化処理に対しては、エッジ部に属する頂点のみを用いてアンチ収縮処理が行われることとなり、アンチ収縮処理による歪みが生じ難い。因みに、従来のアンチ収縮処理では局部的な歪みが生じ易い。
【００５９】
また、アンチ収縮処理が平滑化処理によって収縮した分に対して、元の方向に戻るのではなく、法線方向に戻るので、ポリゴンメッシュＰＭの各ポリゴンＰＧの大きさが揃う方向にポリゴンＰＧが移動することとなる。その結果、ポリゴンＰＧとポリゴンＰＧとのなす角度が浅くなっていき、平滑化処理による効果がより一層発揮されることとなる。
【００６０】
なお、アンチ収縮処理を行うタイミングとして、平滑化処理を１回行うごとに実行してもよいが、平滑化処理をｎ回行うごとに、それまでの収縮分を戻すためのアンチ収縮処理を１回でまとめて行うようにしてもよい。
【００６１】
上の（９）（１０）式による演算は、平滑化処理の前後における３次元モデル（３次元データ）の各部の局所体積の変化を評価する処理に相当する。また、（８）式による演算は、平滑化処理の前後における３次元モデルの各部の局所体積の変化が零となるように平滑化処理後のポリゴンＰＧの各頂点の座標値Ｐｉ　を補正する処理に相当する。これらは請求項４に記載の処理に相当する。
【００６２】
上述の実施形態によると、エッジ部として特定された頂点とそうでない頂点とを区別して平滑化処理が行われ、その結果、３次元モデルのエッジが維持され、しかも滑らかな３次元形状を得ることができる。
【００６３】
上の実施形態において、対象物の種類、編集装置１の全体または各部の構成、形状、個数、処理の内容および順序などは、本発明の趣旨に沿って適宜変更することができる。
【００６４】
【発明の効果】
本発明によると、３次元モデルのエッジが維持され、しかも滑らかな３次元形状を得ることができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る３次元モデルの編集装置のブロック図である。
【図２】ポリラインを説明するための図である。
【図３】平滑化処理の種類を選択するための画面の例を示す図である。
【図４】ノーマル平滑化処理を説明するための図である。
【図５】２Ｄライン拘束平滑化処理を説明するための図である。
【図６】２Ｄライン拘束平滑化処理を説明するための図である。
【図７】直線化平滑化処理を説明するための図である。
【図８】頂点がエッジ部に属する場合のアンチ収縮処理を説明するための図である。
【図９】頂点がエッジ部に属しない場合のアンチ収縮処理を説明するための図である。
【図１０】アンチ収縮処理による重心位置ベクトルの移動を説明する図である。
【符号の説明】
１　編集装置
１０　装置本体（エッジ部を指定する手段、第１の平滑化手段、第２の平滑化手段、選択手段、エッジラインを指定する手段、関連付ける手段、評価する手段、座標値を補正する手段）
ＭＬ　３次元モデル
ＤＴ　３次元データ（３次元モデル）
ＦＴ　画像
ＰＬＴ　３次元のポリライン（エッジ部）
ＰＬＳ　２次元のポリライン（エッジライン）
ＰＧ　ポリゴン
ｉ　頂点
【図１】
2004054852.tif 000007
【図２】
2004054852.tif 000008
【図３】
2004054852.tif 000009
【図４】
2004054852.tif 000010
【図５】
2004054852.tif 000011
【図６】
2004054852.tif 000012
【図７】
2004054852.tif 000013
【図８】
2004054852.tif 000014
【図９】
2004054852.tif 000015
【図１０】
2004054852.tif 000016