[go: up one dir, main page]

JP4151332B2 - 3D model editing apparatus and computer program - Google Patents

3D model editing apparatus and computer program Download PDF

Info

Publication number
JP4151332B2
JP4151332B2 JP2002215280A JP2002215280A JP4151332B2 JP 4151332 B2 JP4151332 B2 JP 4151332B2 JP 2002215280 A JP2002215280 A JP 2002215280A JP 2002215280 A JP2002215280 A JP 2002215280A JP 4151332 B2 JP4151332 B2 JP 4151332B2
Authority
JP
Japan
Prior art keywords
vertex
smoothing
dimensional model
edge portion
dimensional
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002215280A
Other languages
Japanese (ja)
Other versions
JP2004054852A (en
Inventor
浩次 藤原
伸一 堀田
浩一 藤原
英郎 藤井
修 遠山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2002215280A priority Critical patent/JP4151332B2/en
Publication of JP2004054852A publication Critical patent/JP2004054852A/en
Application granted granted Critical
Publication of JP4151332B2 publication Critical patent/JP4151332B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、3次元モデルの編集装置およびコンピュータプログラムに関し、特に、3次元モデルにおいてそのエッジ部が鮮明な状態に維持されるように平滑化を行うために利用される。
【0002】
【従来の技術】
従来より、CG(Computer Graphics )または工業デザインの分野において、対象物である物体を光学的に3次元計測する3次元形状入力装置がしばしば用いられる。3次元形状入力装置は、レーザまたはパターン光を対象物である物体に照射し、物体の表面での反射光をセンサで捉えることにより物体の3次元形状を精密にサンプリングして入力する。これにより、物体の表面について、3次元の点群からなる3次元データが得られ、これに基づいてポリゴンメッシュからなる3次元データ(3次元モデル)が生成される。
【0003】
【発明が解決しようとする課題】
しかし、このようにして得られた3次元データのレンダリング表示を行うと、エッジ部が不鮮明なものとなってしまう問題がある。
【0004】
この問題の起こる理由の1つは、3次元データに局所ノイズが多く含まれることにより、エッジ周囲の不自然な凹凸がエッジをぼかしてしまうからである。そこで、局所ノイズを低減するために、L.Kobbelt, S.Campagna, J.Vorsatz, and H.Seidel,"Interactive Mu1ti-Resolution Modeling on Arbitrary Meshes, "Proc. SIGGRAPH '98, 1998 にあるように、反復的に頂点座標を近傍の頂点座標の重み付け平均で置きかえる平滑化の手法が一般に用いられる。
【0005】
しかし、このような平滑化の手法によると、曲率が拡散してしまうため、エッジが丸められてしまう。つまりエッジの情報は周波数が高いので、平滑化とともにエッジも削り取られてしまう。また、平滑化の度合いを増やそうとして反復を繰り返すと体積が収縮してしまう。なお、体積の収縮を防止する手法が、USP5506947に提案されている。但しこれによる場合には、局所体積を評価しているわけではないので、補正の程度はユーザが設定する必要がある。
【0006】
理由の他の1つは、物体の3次元形状は離散的に計測されるためである。計測点は、物体と3次元形状入力装置との相対的な位置関係によって決まるため、エッジに沿って計測点が並ばず、エッジは削り取られてしまう。
【0007】
本発明は、上述の問題に鑑みてなされたもので、エッジをできるだけ維持しつつ滑らかな3次元形状を得ることのできる、3次元モデルの編集装置およびコンピュータプログラムを提供することを目的とする。
【0008】
本発明に係る編集装置は、ポリゴンメッシュからなる3次元モデルの編集装置であって、前記3次元モデル上におけるエッジ部を指定する手段と、前記3次元モデルのポリゴンの指定された前記エッジ部に属する各頂点を処理対象とし、各処理対象の頂点の座標値について、処理対象の頂点の周辺の頂点であってかつ指定された前記エッジ部に属する頂点のみを用いて演算を行い、各処理対象の頂点を移動させてその座標値を更新することにより、平滑化を行う第1の平滑化手段と、前記3次元モデルのポリゴンの各頂点を処理対象とし、各処理対象の頂点の座標値について、前記第1の平滑化手段とは異なる演算を行い、各処理対象の頂点を移動させてその座標値を更新することにより、平滑化を行う第2の平滑化手段と、平滑化を行うべき頂点が指定されたエッジ部に属する場合には前記第1の平滑化手段を選択し、エッジ部に属しない場合には前記第2の平滑化手段を選択する選択手段とを有する。
【0009】
また、前記3次元モデルのポリゴンの各頂点の座標値と当該2次元画像上の各画素の座標との対応が既知である2次元画像、そのような2次元画像上においてエッジラインを指定する手段と、前記2次元画像上で指定された前記エッジラインと前記3次元モデル上で指定された前記エッジ部とを関連付ける手段と、を有し、前記第1の平滑化手段は、前記エッジ部に属する頂点が前記エッジライン上に投影されるような拘束を与えて当該頂点の座標値についての前記演算を行ように構成してもよい。
【0010】
また、第1の平滑化手段を、前記エッジ部に属する頂点が前記エッジ部に近似する直線上に配置されるような拘束を与えて平滑化を行うように構成し、平滑化を行うべき頂点が指定されたエッジ部に属する場合には当該第1の平滑化手段を選択し、エッジ部に属しない場合には前記第2の平滑化手段を選択するように構成してもよい。
【0011】
また、前記第1の平滑化手段または前記第2の平滑化手段による平滑化の前後における前記3次元モデルの各部の局所体積の変化を評価する手段と、平滑化の前後における前記3次元モデルの各部の局所体積の変化が少なくなるように平滑化後のポリゴンの各頂点の座標値を補正する手段とを有するように構成してもよい。
【0012】
【発明の実施の形態】
図1は本発明の実施形態に係る3次元モデルの編集装置1のブロック図である。
【0013】
図1において、編集装置1は、装置本体10、磁気ディスク装置11、媒体ドライブ装置12、ディスプレイ装置13、キーボード14、およびマウス15などからなる。
【0014】
装置本体10は、CPU、RAM、ROM、ビデオRAM、入出力ポート、各種コントローラ、各種インタフェースなどからなる。RAMおよびROMなどに記憶されたプログラムをCPUが実行することにより、以下に説明する種々の機能が実現される。
【0015】
磁気ディスク装置11には、OS(Operating System) 、3次元モデル(3次元形状モデル)MLを生成しまたはテクスチャマッピングを行うためのモデリングプログラム(3次元編集プログラム)PR、データ入力のためのプログラム、その他のプログラム、入力されまたは生成された3次元データ(3次元形状データ)DT、画像(2次元画像データ)FT、生成された3次元モデルML、その他のデータなどが格納されている。これらのプログラムおよびデータは、適時、装置本体10のRAMにローディングされる。
【0016】
なお、モデリングプログラムPRには、初期化処理、エッジ指定処理、ノーマル平滑化処理、2Dライン拘束平滑化処理、直線化平滑化処理、選択処理、アンチ収縮処理、マッピング処理、およびその他の処理のためのプログラムが含まれる。
【0017】
媒体ドライブ装置12は、CD−ROM(CD)、フロッピィディスクFD、光磁気ディスク、コンパクトフラッシュ(登録商標)などの半導体メモリHM、その他の記録媒体にアクセスし、データまたはプログラムの読み書きを行う。記録媒体の種類に応じて適切なドライブ装置が用いられる。上に述べたモデリングプログラムPRは、これら記録媒体からインストールすることも可能である。3次元データDTおよび画像FTなども記録媒体を介して入力することが可能である。
【0018】
ディスプレイ装置13の表示面HGには、上に述べた種々のデータ、3次元データDT、画像FT、モデリングプログラムPRによる処理過程の画像、生成された3次元モデルML、その他の画像またはデータが表示される。
【0019】
キーボード14およびマウス15は、ディスプレイ装置13に表示された画像FTおよび3次元データDTに対して、ユーザが種々の指定を行うために用いられる他、装置本体10に種々のデータを入力しまたは指令を与えるために用いられる。
【0020】
装置本体10には、対象物を種々の視点から撮影して画像FTを入力するためのデジタルカメラDCが接続される。また、対象物を撮影してその3次元データDTを入力するための3次元計測装置TCが接続される。3次元計測装置TCは、例えば光切断法によって対象物の3次元データDTを非接触で計測する。3次元計測装置TCは、図示しない回転台の上に置かれた対象物を計測し、装置本体10に3次元データDTを入力する。3次元データDTは、3次元計測装置TCの基準位置からの相対座標で記述される。
【0021】
また、3次元計測装置TCから、3次元データDTではなく、3次元データDTを生成するための元となるデータを出力し、装置本体10によって3次元データDTを演算によって求めるようにしてもよい。なお、デジタルカメラDCおよび3次元計測装置TCには、その位置および姿勢を検出して位置姿勢情報を出力する位置姿勢センサが設けられている。デジタルカメラDC、3次元計測装置TC、および回転台の位置関係は、位置姿勢情報に基づいて事前に校正され、磁気ディスク装置11に記憶されており、撮影または計測によって取得された画像FT上の各画素の座標と3次元データDTに基づくポリゴンメッシュPMの各頂点の位置情報との対応が既知である。
【0022】
また、3次元計測装置TCそれ自体によって、3次元データDTと画像FTとを取得することも可能である。その場合には、3次元計測装置TCの内部パラメータによって、3次元データDTと画像FTとの位置関係が規定され、または射影行列が生成される。
【0023】
次に、編集装置1の機能について説明する。
図2はポリラインPLS,PLTを説明するための図である。
まず、データ入力のプログラムを起動し、事前に校正しておいた位置姿勢情報などを磁気ディスク装置11から装置本体10のメモリ上に読み込む。そして、3次元計測装置TC、デジタルカメラDC、および回転台を制御し、様々な角度から対象物を撮影しまたは計測して3次元データDT(3次元モデルML)および画像FTを装置本体10に入力し、メモリに記憶する。
【0024】
入力された3次元データDTを、撮影時における回転台の回転角度に基づいて、予め定められた位置を基準とする座標系に変換し、磁気ディスク装置11に記憶する。また、画像FTを、光学パラメータデータとともに磁気ディスク装置11に記憶する。3次元データDTの各点は、各画像FTに付属する位置姿勢情報と光学パラメータデータに基づいて画像FT上に投影することにより、対応する画像FT上の位置を特定することができる。
【0025】
モデリングプログラムを起動し、変換済の3次元データDT、それに対応する画像FT、および光学パラメータデータを、磁気ディスク装置11からメモリに読み込む。3次元データDT上に、エッジ部として取り扱う部分を特定するための曲線(ポリラインPLT)を設定する。この曲線の設定は、まず、図2に示すように、画像FT上に2次元のエッジライン(ポリラインPLS)を設定する。ポリラインPLSを設定した画像FT上に、3次元データDTのポリゴンメッシュPMを投影する。画像FTのポリラインPLSの近傍に投影されたポリゴンPGの各頂点をつなぐことにより、ポリゴンPGのエッジに沿ってつながったメッシュエッジ(エッジ部)を得る。得られたメッシュエッジが、3次元のポリラインPLTである。
【0026】
また、画像FT上に投影されたポリゴンメッシュPMに対して、ポリラインPLSによってポリゴンPGを分割し、分割されたポリゴンPGのエッジ、つまりポリラインPLSに対応するラインを、3次元のポリラインPLTとして設定してもよい。また、ポリゴンPGを分割するのではなく、ポリゴンPGの頂点をポリラインPLSに一致するように移動することによって3次元のポリラインPLTを設定してもよい。
【0027】
ポリラインPLTを設定する他の方法として、任意視点でのワイヤフレームの3次元表示画像やテクスチャマッピングされた3次元表示画像上において、画像FT上にポリラインPLSを設定するのと同様にして設定する方法でもよい。
【0028】
ポリラインPLT(エッジ部)が設定された3次元データDTに対して、3次元平滑化処理を行う。3次元平滑化処理は、平滑化処理についてのオプションとアンチ収縮処理についてのオプションとの、2種類のオプションについての機能を選択した後で実行する。図3には選択のための画面HG1の例が示されている。
【0029】
平滑化処理についてのオプションは、上に述べたように、ノーマル平滑化処理、2Dライン拘束平滑化処理、および直線化平滑化処理の3種類がある。各平滑化処理において、処理対象となる頂点がポリライン(エッジ部)PLT上の点である場合とそうでない場合とで、処理内容が異なる。処理対象となる頂点がポリラインPLT上の点である場合には、3種類の平滑化処理のそれぞれで互いに異なる処理が行われる。処理対象となる頂点がポリラインPLT上の点でない場合には、3種類の平滑化処理で同じ処理が行われる。
【0030】
アンチ収縮処理のオプションに対しては、オンまたはオフを選択する。したがって、3種類の平滑化処理から選択された処理と、アンチ収縮処理のオプションのオンまたはオフとの組合わせによるいずれかの処理が実行される。次に、それぞれの処理について詳しく説明する。
〔ノーマル平滑化処理〕
図4はノーマル平滑化処理を説明するための図である。
【0031】
ノーマル平滑化処理では、次の(1)(2)式によって、各頂点の新しい座標値が求められて更新される。更新の回数kは、ユーザが指定した回数だけ行われる。
【0032】
【数1】

Figure 0004151332
【0033】
図4に示すように、処理対象である頂点iの一次近傍は、頂点iを共有するポリゴン群である。つまり、頂点群Ni は、頂点iを共有するポリゴンの他の頂点の集合である。
【0034】
上の(1)式は、処理対象の頂点iが、ポリラインPLTを構成する頂点群Lに含まれない場合、つまり、頂点iがポリラインPLT上の点でない場合に適用される。(1)式において、頂点iの座標値Pi は、その一次近傍の頂点群Ni に含まれる頂点jの座標値Pj と、それら2つの頂点i,j間の重み係数wijとの積の総和によって更新される。重み係数wijとして、例えば、2つの頂点i,j間の距離に逆比例し、係数wijの総和が1となる値が用いられる。
【0035】
したがって、この場合には、頂点iの一次近傍の頂点群Ni に含まれる全ての頂点jの座標値Pj に基づいて更新される。(1)式による処理が、本発明の第2の平滑化手段に相当する。
【0036】
これに対して、上の(2)式は、頂点iが頂点群Lに含まれる場合、つまり、頂点iがポリラインPLT上の点である場合に適用される。(2)式において、頂点iの座標値Pi は、その一次近傍の頂点群Ni に含まれ且つ頂点群Lに含まれる各頂点jの座標値Pj と、それら2つの頂点i,j間の重み係数wijとの積の総和によって更新される。
【0037】
したがって、この場合には、頂点iの一次近傍の頂点群Ni のうち、頂点群Lに含まれる頂点jのみが用いられ、頂点群Lに含まれない頂点jは用いられない。(2)式による処理が、本発明の第1の平滑化手段に相当する。これによって、処理対象の頂点iは、常に頂点群Lに沿って移動する。頂点群Lは設定されたポリラインPLTであるので、処理を行った後もポリラインPLTが維持される。なお、頂点iが頂点群Lに含まれるか否か、つまり(2)式または(1)式のいずれを適用するかは、モデリングプログラムPMが自動的に判断して選択する。
〔2Dライン拘束平滑化処理〕
図5および図6は2Dライン拘束平滑化処理を説明するための図である。
【0038】
2Dライン拘束平滑化処理では、次の(3)(4)式によって、各頂点の座標値が更新される。
【0039】
【数2】
Figure 0004151332
【0040】
ここで、Pにハットを付した座標値Pi が、2Dライン拘束平滑化処理で求められる新しい座標値である。
上の(3)式は、処理対象の頂点iが、ポリラインPLTを構成する頂点群Lに含まれない場合を示し、この場合には、上の(1)式と同じ値となる。つまり、処理対象の頂点iが頂点群Lに含まれない場合には、ノーマル平滑化処理と同じ処理が行われる。
【0041】
上の(4)式は、頂点iが頂点群Lに含まれる場合に適用される。(4)式で示されるように、頂点iが頂点群Lに含まれる場合には、そうでない場合に対して補正項dj (ハット付き)が加えられる。補正項dj の演算に際して、画像FT上に設定された2次元のポリラインPLSが用いられる。設定されたポリラインPLSと、ポリゴンメッシュPM上に設定された3次元のポリラインPLTとの位置関係が、画像FTとポリゴンメッシュPMとの関係から求められる。ポリラインPLT上の頂点iが2次元のポリラインPLS上に投影されるような拘束を与えた状態で、平滑化の処理が行われる。2次元のポリラインPLSとして、実際にはそのうちの頂点iの近傍に存在するセグメント(線分)Ei が用いられる。
【0042】
すなわち、図5および図6に示すように、複数の画像FT1,2上にそれぞれ設定されたポリラインPLSのうち、処理対象である頂点iを投影したときの画像上の距離bが設定された閾値tよりも小さい位置にあるセグメントEi が用いられる。そのようなセグメントEi をそれぞれ含み、且つ各画像FT1,FT2の視点位置O0 ,1 を含む平面S0 ,S1 が定義される。頂点iの位置から各平面S0 ,S1 までの距離d1 ,d2 (ハット付き),を求め、それらのベクトルを座標値Pi に加算する。
【0043】
これによって、頂点iの位置が、関連するポリラインPLS上の各平面S上に強制的に乗るように補正される。結果として、各画像FTに設定されたポリラインPLSによる拘束条件を満たす点Ps に収束する。
【0044】
上の(4)式による処理が、本発明の第1の平滑化手段に相当し、且つ請求項2に記載の処理に相当する。これによって、ノーマル平滑化処理の場合と同様、処理対象の頂点iが常に頂点群Lに沿って移動し、処理を行った後もポリラインPLTが維持される。
〔直線化平滑化処理〕
図7は直線化平滑化処理を説明するための図である。
【0045】
直線化平滑化処理では、次の(5)(6)式によって、各頂点の座標値が更新される。
【0046】
【数3】
Figure 0004151332
【0047】
ここで、Pにチルダを付した座標値Pi が、直線化平滑化処理で求められる新しい座標値である。
上の(5)式は、処理対象の頂点iが、ポリラインPLTを構成する頂点群Lに含まれない場合を示し、この場合にはノーマル平滑化処理と同じ処理が行われ、上の(1)式と同じ値となる。
【0048】
上の(6)式は、頂点iが頂点群Lに含まれる場合に適用される。(6)式で示されるように、頂点iが頂点群Lに含まれる場合には、そうでない場合に対して補正項dj (チルダ付き)が加えられる。補正項dj の演算に際して、図7に示すように、3次元のポリラインPLT上の頂点群Lに対してフィッティングされた直線L’が用いられる。頂点群Lに対して直線をフィッティングさせる処理として、公知の方法を用いることができ、自動的に行うことが可能である。フィッティングによって、頂点群Lを近似した仮想の直線L’が得られる。
【0049】
各頂点iは、直線L’上に射影して乗せられる。すなわち、3次元のポリライン(エッジ部)PLTに属する頂点iが、ポリラインPLT上の頂点群Lに近似する直線L’上に配置されるような拘束を与えた状態で、各頂点iの平滑化が行われる。これにより、エッジ部に属する頂点iが直線化され、適切な位置の直線L’として得られる。
【0050】
なお、直線化平滑化処理を1回行うことにより、頂点iは直線L’上に乗ることとなるので、2回目以降は直線L’上を移動するだけとなる。図7に示すように、補正項dj (チルダ付き)は、頂点iから直線L’に向かう最短の距離ベクトルである。
【0051】
上の(6)式による処理が、本発明の第1の平滑化手段に相当し、且つ請求項3に記載の処理に相当する。これによって、処理対象の頂点iが常に頂点群Lに沿って移動し、処理を行った後もポリラインPLTが維持される。
〔アンチ収縮処理〕
図8は頂点iがエッジ部に属する場合のアンチ収縮処理を説明するための図、図9は頂点iがエッジ部に属しない場合のアンチ収縮処理を説明するための図、図10はアンチ収縮処理による重心位置ベクトルまたは中点の移動を説明する図である。
【0052】
アンチ収縮処理がオンになっている場合には、以下に説明するアンチ収縮処理が実行される。アンチ収縮処理は、各平滑化処理が1回行われるごと、つまり頂点iの座標値Pが更新されるごとに実行される。
【0053】
アンチ収縮処理では、次の(7)(8)(9)式によって、各頂点の座標値が更新される。
【0054】
【数4】
Figure 0004151332
【0055】
ここで、Pにバーを付した座標値Pi が、アンチ収縮処理で求められる新しい座標値である。新しい座標値Pi は、元の座標値に対して、補正項di (バー付き)が加えられる。補正項di は、処理対象の頂点iがポリラインPLTを構成する頂点群Lに含まれる場合には(8)式で計算され、含まれない場合には(9)式で計算される。
【0056】
すなわち、処理対象の頂点iが頂点群Lに含まれる場合には、(8)式、図8、および図10に示されるように、頂点iの一次近傍を構成する全てのポリゴンPGの位置変化に関連して、頂点iが移動する。この場合の頂点iの移動量は、各ポリゴンPGの面積の重心gの法線方向の移動量の平均に相当する量となる。つまり、平滑化処理によって移動した一次近傍のポリゴンPGの重心位置を元に戻すような処理が行われる。これによって、平滑化処理によって収縮した分が戻され、元の体積が保存される。
【0057】
処理対象の頂点iが頂点群Lに含まれない場合には、(9)式、図9、および図10に示されるように、頂点iの一次近傍を構成するポリゴンPGの頂点のうち、頂点群Lに含まれる頂点のみを用いて、頂点iの移動量および移動方向が求められる。この場合の頂点iの移動量は、各ポリゴンPGの重心によるのではなく、頂点群Lに含まれるポリゴンPGの頂点の中点hの法線方向の移動量の平均に相当する量となる。つまり、平滑化処理によって移動したポリラインPLT上のポリゴンPGの頂点の中点位置を元に戻すような処理が行われる。これは、平滑化処理の際に、周囲の全ての頂点を用いずに頂点群L上の頂点のみを用いて平滑化処理を行っているのであるから、アンチ収縮処理により戻す際にも、頂点群L上の頂点のみを用いて戻すのが望ましいからである。
【0058】
これによって、平滑化処理により収縮した分が戻され、元の体積が保存される。しかも、エッジ部に属する頂点iに対して行われた平滑化処理に対しては、エッジ部に属する頂点のみを用いてアンチ収縮処理が行われることとなり、アンチ収縮処理による歪みが生じ難い。因みに、従来のアンチ収縮処理では局部的な歪みが生じ易い。
【0059】
また、アンチ収縮処理が平滑化処理によって収縮した分に対して、元の方向に戻るのではなく、法線方向に戻るので、ポリゴンメッシュPMの各ポリゴンPGの大きさが揃う方向にポリゴンPGが移動することとなる。その結果、ポリゴンPGとポリゴンPGとのなす角度が浅くなっていき、平滑化処理による効果がより一層発揮されることとなる。
【0060】
なお、アンチ収縮処理を行うタイミングとして、平滑化処理を1回行うごとに実行してもよいが、平滑化処理をn回行うごとに、それまでの収縮分を戻すためのアンチ収縮処理を1回でまとめて行うようにしてもよい。
【0061】
上の(8)(9)式による演算は、平滑化処理の前後における3次元モデル(3次元データ)の各部の局所体積の変化を評価する処理に相当する。また、()式による演算は、平滑化処理の前後における3次元モデルの各部の局所体積の変化が少なくなるように平滑化処理後のポリゴンPGの各頂点の座標値Pi を補正する処理に相当する。これらは請求項4に記載の処理に相当する。
【0062】
上述の実施形態によると、エッジ部として特定された頂点とそうでない頂点とを区別して平滑化処理が行われ、その結果、3次元モデルのエッジが維持され、しかも滑らかな3次元形状を得ることができる。
【0063】
上の実施形態において、対象物の種類、編集装置1の全体または各部の構成、形状、個数、処理の内容および順序などは、本発明の趣旨に沿って適宜変更することができる。
【0064】
【発明の効果】
本発明によると、3次元モデルのエッジが維持され、しかも滑らかな3次元形状を得ることができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係る3次元モデルの編集装置のブロック図である。
【図2】ポリラインを説明するための図である。
【図3】平滑化処理の種類を選択するための画面の例を示す図である。
【図4】ノーマル平滑化処理を説明するための図である。
【図5】2Dライン拘束平滑化処理を説明するための図である。
【図6】2Dライン拘束平滑化処理を説明するための図である。
【図7】直線化平滑化処理を説明するための図である。
【図8】頂点がエッジ部に属する場合のアンチ収縮処理を説明するための図である。
【図9】 頂点がエッジ部に属しない場合のアンチ収縮処理を説明するための図である。
【図10】アンチ収縮処理による重心位置ベクトルの移動を説明する図である。
【符号の説明】
1 編集装置
10 装置本体(エッジ部を指定する手段、第1の平滑化手段、第2の平滑化手段、選択手段、エッジラインを指定する手段、関連付ける手段、評価する手段、座標値を補正する手段)
ML 3次元モデル
DT 3次元データ(3次元モデル)
FT 画像
PLT 3次元のポリライン(エッジ部)
PLS 2次元のポリライン(エッジライン)
PG ポリゴン
i 頂点[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a three-dimensional model editing apparatus and a computer program, and in particular, is used to perform smoothing so that edges of a three-dimensional model are maintained in a clear state.
[0002]
[Prior art]
Conventionally, in the field of CG (Computer Graphics) or industrial design, a three-dimensional shape input device that optically three-dimensionally measures an object that is an object is often used. The three-dimensional shape input device irradiates a target object with a laser or pattern light and captures the reflected light on the surface of the object with a sensor to accurately sample and input the three-dimensional shape of the object. As a result, three-dimensional data consisting of a three-dimensional point group is obtained on the surface of the object, and based on this, three-dimensional data (three-dimensional model) consisting of a polygon mesh is generated.
[0003]
[Problems to be solved by the invention]
However, when rendering display of the three-dimensional data obtained as described above is performed, there is a problem that the edge portion becomes unclear.
[0004]
One of the reasons why this problem occurs is that unnatural unevenness around the edge blurs the edge due to the local noise included in the three-dimensional data. Therefore, to reduce local noise, as in L. Kobbelt, S. Campagna, J. Vorsatz, and H. Seidel, "Interactive Mu1ti-Resolution Modeling on Arbitrary Meshes," Proc. SIGGRAPH '98, 1998, Generally, a smoothing method is used in which vertex coordinates are iteratively replaced with a weighted average of neighboring vertex coordinates.
[0005]
However, according to such a smoothing technique, the curvature is diffused, so that the edge is rounded. That is, since the edge information has a high frequency, the edge is scraped off along with the smoothing. In addition, if the repetition is repeated to increase the degree of smoothing, the volume shrinks. A method for preventing volume shrinkage is proposed in US Pat. No. 5,506,947. However, in this case, since the local volume is not evaluated, the degree of correction needs to be set by the user.
[0006]
Another reason is that the three-dimensional shape of the object is measured discretely. Since the measurement points are determined by the relative positional relationship between the object and the three-dimensional shape input device, the measurement points are not arranged along the edges, and the edges are scraped off.
[0007]
SUMMARY An advantage of some aspects of the invention is that it provides a three-dimensional model editing apparatus and a computer program capable of obtaining a smooth three-dimensional shape while maintaining edges as much as possible.
[0008]
Editing apparatus according to the present invention is a editing apparatus of a three-dimensional model composed of polygon mesh, and means for designating the edge portion on the three-dimensional model, the edge portion designated polygons of said three-dimensional model It belongs each vertex is processed, the coordinate values of the apexes of the processed, performs an operation using only the vertices belonging to the edge portion a and and the specified vertices near the apex of the processed, each processed The first smoothing means for performing smoothing by moving the vertices and updating the coordinate values thereof, and processing each of the vertices of the polygon of the three-dimensional model, and the coordinate values of the vertices of each processing target The second smoothing means for performing smoothing by performing calculations different from those of the first smoothing means, moving the vertices of the respective processing targets and updating the coordinate values thereof, and If belonging to an edge portion with vertices specified by selecting the first smoothing unit, if not belonging to the edge portion and a selection means for selecting the second smoothing means.
[0009]
Further, a two-dimensional image in which the correspondence between the coordinate values of each vertex of the polygon of the three-dimensional model and the coordinates of each pixel on the two-dimensional image is known, and means for designating an edge line on such a two-dimensional image And a means for associating the edge line specified on the two-dimensional image with the edge portion specified on the three-dimensional model, wherein the first smoothing means the calculation for giving restraint as vertices are projected onto the edge line coordinate value of the apex may be configured such intends row belong.
[0010]
Further, the first smoothing means is configured to perform smoothing by giving a constraint that a vertex belonging to the edge portion is arranged on a straight line that approximates the edge portion, and the vertex to be smoothed May be configured to select the first smoothing means when it belongs to the designated edge portion, and to select the second smoothing means when it does not belong to the edge portion.
[0011]
Further, means for evaluating a change in local volume of each part of the three-dimensional model before and after smoothing by the first smoothing means or the second smoothing means, and the three-dimensional model before and after smoothing Means for correcting the coordinate value of each vertex of the smoothed polygon so as to reduce the change in the local volume of each part may be provided.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram of a three-dimensional model editing apparatus 1 according to an embodiment of the present invention.
[0013]
In FIG. 1, an editing apparatus 1 includes an apparatus main body 10, a magnetic disk device 11, a medium drive device 12, a display device 13, a keyboard 14, a mouse 15, and the like.
[0014]
The apparatus body 10 includes a CPU, a RAM, a ROM, a video RAM, an input / output port, various controllers, various interfaces, and the like. Various functions described below are realized by the CPU executing programs stored in the RAM and ROM.
[0015]
The magnetic disk device 11 includes an OS (Operating System), a modeling program (three-dimensional editing program) PR for generating a three-dimensional model (three-dimensional shape model) ML or performing texture mapping, a program for inputting data, Other programs, input or generated three-dimensional data (three-dimensional shape data) DT, image (two-dimensional image data) FT, generated three-dimensional model ML, other data, and the like are stored. These programs and data are loaded into the RAM of the apparatus main body 10 at appropriate times.
[0016]
The modeling program PR includes initialization processing, edge designation processing, normal smoothing processing, 2D line constraint smoothing processing, linearization smoothing processing, selection processing, anti-shrinkage processing, mapping processing, and other processing. The program is included.
[0017]
The medium drive device 12 accesses a semiconductor memory HM such as a CD-ROM (CD), a floppy disk FD, a magneto-optical disk, a compact flash (registered trademark), and other recording media, and reads / writes data or programs. An appropriate drive device is used according to the type of the recording medium. The modeling program PR described above can also be installed from these recording media. The three-dimensional data DT and the image FT can also be input via a recording medium.
[0018]
The display surface HG of the display device 13 displays the various data described above, the three-dimensional data DT, the image FT, the image of the processing process by the modeling program PR, the generated three-dimensional model ML, and other images or data. Is done.
[0019]
The keyboard 14 and the mouse 15 are used for the user to make various designations for the image FT and the three-dimensional data DT displayed on the display device 13, and input various data or commands to the apparatus main body 10. Used to give
[0020]
The apparatus main body 10 is connected to a digital camera DC for photographing an object from various viewpoints and inputting an image FT. In addition, a three-dimensional measuring device TC is connected for photographing the object and inputting the three-dimensional data DT. The three-dimensional measuring device TC measures the three-dimensional data DT of the object in a non-contact manner by, for example, a light cutting method. The three-dimensional measuring apparatus TC measures an object placed on a turntable (not shown) and inputs three-dimensional data DT to the apparatus main body 10. The three-dimensional data DT is described in relative coordinates from the reference position of the three-dimensional measuring device TC.
[0021]
In addition, instead of the three-dimensional data DT, data that is the basis for generating the three-dimensional data DT may be output from the three-dimensional measuring device TC, and the three-dimensional data DT may be obtained by calculation by the apparatus body 10. . The digital camera DC and the three-dimensional measuring device TC are provided with position and orientation sensors that detect the position and orientation and output position and orientation information. The positional relationship between the digital camera DC, the three-dimensional measuring device TC, and the turntable is calibrated in advance based on the position and orientation information, stored in the magnetic disk device 11, and on the image FT acquired by photographing or measurement. The correspondence between the coordinates of each pixel and the position information of each vertex of the polygon mesh PM based on the three-dimensional data DT is known.
[0022]
It is also possible to acquire the three-dimensional data DT and the image FT by the three-dimensional measuring device TC itself. In that case, the positional relationship between the three-dimensional data DT and the image FT is defined by the internal parameters of the three-dimensional measuring apparatus TC, or a projection matrix is generated.
[0023]
Next, functions of the editing apparatus 1 will be described.
FIG. 2 is a diagram for explaining the polylines PLS and PLT.
First, a data input program is started, and position and orientation information that has been calibrated in advance is read from the magnetic disk device 11 into the memory of the device body 10. Then, the three-dimensional measuring device TC, the digital camera DC, and the turntable are controlled, and an object is photographed or measured from various angles, and the three-dimensional data DT (three-dimensional model ML) and the image FT are stored in the apparatus main body 10. Enter and store in memory.
[0024]
The input three-dimensional data DT is converted into a coordinate system based on a predetermined position based on the rotation angle of the turntable at the time of shooting, and stored in the magnetic disk device 11. Further, the image FT is stored in the magnetic disk device 11 together with the optical parameter data. Each point of the three-dimensional data DT can be identified on the image FT by projecting it onto the image FT based on the position and orientation information attached to each image FT and the optical parameter data.
[0025]
The modeling program is activated, and the converted three-dimensional data DT, the corresponding image FT, and optical parameter data are read from the magnetic disk device 11 into the memory. On the three-dimensional data DT, a curve (polyline PLT) for specifying a portion to be handled as an edge portion is set. The curve is set by first setting a two-dimensional edge line (polyline PLS) on the image FT as shown in FIG. The polygon mesh PM of the three-dimensional data DT is projected on the image FT on which the polyline PLS is set. By connecting the vertices of the polygon PG projected in the vicinity of the polyline PLS of the image FT, mesh edges (edge portions) connected along the edges of the polygon PG are obtained. The obtained mesh edge is a three-dimensional polyline PLT.
[0026]
Further, the polygon PG is divided by the polyline PLS with respect to the polygon mesh PM projected on the image FT, and the edge of the divided polygon PG, that is, the line corresponding to the polyline PLS is set as the three-dimensional polyline PLT. May be. Further, instead of dividing the polygon PG, the three-dimensional polyline PLT may be set by moving the vertex of the polygon PG so as to coincide with the polyline PLS.
[0027]
As another method for setting the polyline PLT, a method for setting a wireline three-dimensional display image at an arbitrary viewpoint or a texture-mapped three-dimensional display image in the same way as setting the polyline PLS on the image FT But you can.
[0028]
A three-dimensional smoothing process is performed on the three-dimensional data DT in which the polyline PLT (edge portion) is set. The three-dimensional smoothing process is executed after selecting functions for two types of options, an option for the smoothing process and an option for the anti-shrinkage process. FIG. 3 shows an example of the screen HG1 for selection.
[0029]
As described above, there are three types of smoothing processing: normal smoothing processing, 2D line constrained smoothing processing, and linearization smoothing processing. In each smoothing process, the processing contents differ depending on whether or not the vertex to be processed is a point on the polyline (edge portion) PLT. When the vertex to be processed is a point on the polyline PLT, different processes are performed in each of the three types of smoothing processes. If the vertex to be processed is not a point on the polyline PLT, the same processing is performed in three types of smoothing processing.
[0030]
Select ON or OFF for the anti-shrink processing option. Therefore, any process is performed by a combination of the process selected from the three types of smoothing processes and the on / off of the option of the anti-shrink process. Next, each process will be described in detail.
[Normal smoothing processing]
FIG. 4 is a diagram for explaining normal smoothing processing.
[0031]
In the normal smoothing process, new coordinate values of each vertex are obtained and updated by the following equations (1) and (2). The number of updates k is performed as many times as specified by the user.
[0032]
[Expression 1]
Figure 0004151332
[0033]
As shown in FIG. 4, the primary neighborhood of the vertex i to be processed is a polygon group sharing the vertex i. That is, the vertex group Ni is a set of other vertices of the polygon sharing the vertex i.
[0034]
The above equation (1) is applied when the vertex i to be processed is not included in the vertex group L constituting the polyline PLT, that is, when the vertex i is not a point on the polyline PLT. In equation (1), the coordinate value Pi of the vertex i is the sum of the products of the coordinate value Pj of the vertex j included in the vertex group Ni of the primary neighborhood and the weighting coefficient wij between the two vertices i and j. Updated. As the weighting coefficient wij, for example, a value that is inversely proportional to the distance between the two vertices i and j and the sum of the coefficients wij is 1 is used.
[0035]
Accordingly, in this case, updating is performed based on the coordinate values Pj of all the vertices j included in the vertex group Ni in the vicinity of the vertex i. The processing according to equation (1) corresponds to the second smoothing means of the present invention.
[0036]
On the other hand, the above equation (2) is applied when the vertex i is included in the vertex group L, that is, when the vertex i is a point on the polyline PLT. In the equation (2), the coordinate value Pi of the vertex i is included in the vertex group Ni of the primary neighborhood and the coordinate value Pj of each vertex j included in the vertex group L, and the weight between the two vertices i and j. It is updated by the sum of products with the coefficients wij.
[0037]
Therefore, in this case, only the vertex j included in the vertex group L among the vertex groups Ni in the primary neighborhood of the vertex i is used, and the vertex j not included in the vertex group L is not used. The processing according to equation (2) corresponds to the first smoothing means of the present invention. As a result, the vertex i to be processed always moves along the vertex group L. Since the vertex group L is the set polyline PLT, the polyline PLT is maintained even after processing. Whether or not the vertex i is included in the vertex group L, that is, whether the equation (2) or (1) is applied is automatically determined and selected by the modeling program PM.
[2D line constraint smoothing]
5 and 6 are diagrams for explaining the 2D line constrained smoothing process.
[0038]
In the 2D line constraint smoothing process, the coordinate values of the vertices are updated by the following equations (3) and (4).
[0039]
[Expression 2]
Figure 0004151332
[0040]
Here, the coordinate value Pi obtained by adding a hat to P is a new coordinate value obtained by the 2D line constraint smoothing process.
The above equation (3) shows a case where the vertex i to be processed is not included in the vertex group L constituting the polyline PLT. In this case, the value is the same as the equation (1) above. That is, when the processing target vertex i is not included in the vertex group L, the same processing as the normal smoothing processing is performed.
[0041]
The above equation (4) is applied when the vertex i is included in the vertex group L. As shown by the equation (4), when the vertex i is included in the vertex group L, a correction term dj (with a hat) is added to the case where the vertex i is not. In calculating the correction term dj, a two-dimensional polyline PLS set on the image FT is used. The positional relationship between the set polyline PLS and the three-dimensional polyline PLT set on the polygon mesh PM is obtained from the relationship between the image FT and the polygon mesh PM. The smoothing process is performed in a state where the vertex i on the polyline PLT is constrained to be projected onto the two-dimensional polyline PLS. As the two-dimensional polyline PLS, a segment (line segment) Ei existing in the vicinity of the vertex i is actually used.
[0042]
That is, as shown in FIGS. 5 and 6, among the polylines PLS set on the plurality of images FT1 and FT2, respectively, the threshold value on which the distance b on the image when the vertex i to be processed is projected is set. A segment Ei located at a position smaller than t is used. Wherein such segments Ei respectively, and the plane S0, S1 including the point of view O0, O 1 of each image FT1, FT2 is defined. The distances d1 and d2 (with a hat) from the position of the vertex i to the planes S0 and S1 are obtained, and these vectors are added to the coordinate value Pi.
[0043]
As a result, the position of the vertex i is corrected so as to be forced on each plane S on the related polyline PLS. As a result, it converges to a point Ps that satisfies the constraint condition by the polyline PLS set in each image FT.
[0044]
The processing according to the above equation (4) corresponds to the first smoothing means of the present invention and corresponds to the processing according to claim 2. As a result, as in the case of the normal smoothing process, the vertex i to be processed always moves along the vertex group L, and the polyline PLT is maintained even after the process is performed.
[Linear smoothing]
FIG. 7 is a diagram for explaining the linearization smoothing process.
[0045]
In the straightening smoothing process, the coordinate values of the vertices are updated by the following equations (5) and (6).
[0046]
[Equation 3]
Figure 0004151332
[0047]
Here, a coordinate value Pi obtained by adding a tilde to P is a new coordinate value obtained by the linearization smoothing process.
Expression (5) above shows a case where the vertex i to be processed is not included in the vertex group L constituting the polyline PLT. In this case, the same process as the normal smoothing process is performed, and the above (1 ) The same value as the formula.
[0048]
The above equation (6) is applied when the vertex i is included in the vertex group L. As shown by the equation (6), when the vertex i is included in the vertex group L, a correction term dj (with a tilde) is added to the case where the vertex i is not. In calculating the correction term dj, as shown in FIG. 7, a straight line L ′ fitted to the vertex group L on the three-dimensional polyline PLT is used. As a process of fitting a straight line to the vertex group L, a known method can be used and can be automatically performed. By fitting, a virtual straight line L ′ approximating the vertex group L is obtained.
[0049]
Each vertex i is projected and placed on the straight line L ′. That is, smoothing of each vertex i in a state where the vertex i belonging to the three-dimensional polyline (edge portion) PLT is arranged on the straight line L ′ that approximates the vertex group L on the polyline PLT. Is done. Thereby, the vertex i belonging to the edge portion is linearized and obtained as a straight line L ′ at an appropriate position.
[0050]
Note that, by performing the linearization smoothing process once, the vertex i rides on the straight line L ′, and therefore only moves on the straight line L ′ after the second time. As shown in FIG. 7, the correction term dj (with a tilde) is the shortest distance vector from the vertex i toward the straight line L ′.
[0051]
The processing according to the above equation (6) corresponds to the first smoothing means of the present invention and corresponds to the processing according to claim 3. As a result, the vertex i to be processed always moves along the vertex group L, and the polyline PLT is maintained even after processing.
[Anti-shrink treatment]
8 is a diagram for explaining anti-shrinkage processing when the vertex i belongs to the edge portion, FIG. 9 is a diagram for explaining anti-shrinkage processing when the vertex i does not belong to the edge portion, and FIG. 10 is an anti-shrinkage processing. It is a figure explaining the movement of a gravity center position vector or a middle point by processing.
[0052]
When the anti-shrinkage process is on, the anti-shrink process described below is executed. The anti-shrinkage process is executed every time each smoothing process is performed once, that is, every time the coordinate value P of the vertex i is updated.
[0053]
In the anti-shrinkage process, the coordinate value of each vertex is updated by the following equations (7), (8), and (9).
[0054]
[Expression 4]
Figure 0004151332
[0055]
Here, a coordinate value Pi obtained by adding a bar to P is a new coordinate value obtained by the anti-shrinkage process. The new coordinate value Pi has a correction term di (with a bar) added to the original coordinate value. The correction term di is calculated by the equation (8) when the vertex i to be processed is included in the vertex group L constituting the polyline PLT, and is calculated by the equation (9) when it is not included.
[0056]
That is, when the vertex i to be processed is included in the vertex group L, as shown in the equation (8), FIG. 8, and FIG. In relation to, vertex i moves. In this case, the amount of movement of the vertex i is equivalent to the average of the amounts of movement in the normal direction of the center of gravity g of the area of each polygon PG. That is, processing is performed to restore the center of gravity of the polygon PG near the primary moved by the smoothing processing. As a result, the amount contracted by the smoothing process is restored, and the original volume is preserved.
[0057]
If the vertex i to be processed is not included in the vertex group L, as shown in the equation (9), FIG. 9 and FIG. Using only the vertices included in the group L, the movement amount and movement direction of the vertex i are obtained. In this case, the movement amount of the vertex i is not based on the center of gravity of each polygon PG, but is an amount corresponding to the average movement amount in the normal direction of the midpoint h of the vertex of the polygon PG included in the vertex group L. That is, a process for returning the midpoint position of the vertex of the polygon PG on the polyline PLT moved by the smoothing process is performed. This is because the smoothing process is performed using only the vertices on the vertex group L without using all the surrounding vertices. This is because it is desirable to return using only the vertices on the group L.
[0058]
As a result, the amount contracted by the smoothing process is restored, and the original volume is preserved. Moreover, for the smoothing process performed on the vertex i belonging to the edge part, the anti-shrinkage process is performed using only the vertex belonging to the edge part, and distortion due to the anti-shrinkage process hardly occurs. Incidentally, local distortion tends to occur in the conventional anti-shrinkage process.
[0059]
In addition, since the anti-shrinkage processing is shrunk by the smoothing processing, it does not return to the original direction but returns to the normal direction, so that the polygon PG is aligned in the direction in which the sizes of the polygons PG of the polygon mesh PM are aligned. Will move. As a result, the angle formed between the polygon PG and the polygon PG becomes shallower, and the effect of the smoothing process is further exhibited.
[0060]
Note that the timing of performing the anti-shrinkage process may be executed every time the smoothing process is performed, but every time the smoothing process is performed n times, the anti-shrinkage process for returning the contraction amount until then is 1 You may make it carry out collectively at once.
[0061]
The calculations according to the above equations (8) and (9) correspond to a process for evaluating a change in local volume of each part of the three-dimensional model (three-dimensional data) before and after the smoothing process. In addition, the calculation according to the equation ( 7 ) is a process for correcting the coordinate value Pi of each vertex of the polygon PG after the smoothing process so that the change in the local volume of each part of the three-dimensional model before and after the smoothing process is reduced. Equivalent to. These correspond to the processing described in claim 4.
[0062]
According to the above-described embodiment, the smoothing process is performed by distinguishing the vertex specified as the edge portion from the vertex that is not, and as a result, the edge of the three-dimensional model is maintained, and a smooth three-dimensional shape is obtained. Can do.
[0063]
In the above embodiment, the type of the object, the configuration of the whole or each part of the editing apparatus 1, the shape, the number, the content and order of the processing, and the like can be appropriately changed in accordance with the spirit of the present invention.
[0064]
【The invention's effect】
According to the present invention, the edge of the three-dimensional model is maintained, and a smooth three-dimensional shape can be obtained.
[Brief description of the drawings]
FIG. 1 is a block diagram of a three-dimensional model editing apparatus according to an embodiment of the present invention.
FIG. 2 is a diagram for explaining a polyline.
FIG. 3 is a diagram illustrating an example of a screen for selecting a type of smoothing processing.
FIG. 4 is a diagram for explaining normal smoothing processing;
FIG. 5 is a diagram for explaining 2D line constraint smoothing processing;
FIG. 6 is a diagram for explaining 2D line constrained smoothing processing;
FIG. 7 is a diagram for explaining linearization smoothing processing;
FIG. 8 is a diagram for explaining anti-shrinkage processing when a vertex belongs to an edge portion.
FIG. 9 is a diagram for explaining anti-shrinkage processing when a vertex does not belong to an edge portion.
FIG. 10 is a diagram for explaining the movement of the center-of-gravity position vector by anti-shrinkage processing.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 Editing apparatus 10 Apparatus main body (The means which designates an edge part, 1st smoothing means, 2nd smoothing means, selection means, means which designates an edge line, an association means, an evaluation means, A coordinate value is corrected means)
ML 3D model DT 3D data (3D model)
FT image PLT 3D polyline (edge)
PLS 2D polyline (edge line)
PG polygon i vertex

Claims (5)

ポリゴンメッシュからなる3次元モデルの編集装置であって、
前記3次元モデル上におけるエッジ部を指定する手段と、
前記3次元モデルのポリゴンの指定された前記エッジ部に属する各頂点を処理対象とし、各処理対象の頂点の座標値について、処理対象の頂点の周辺の頂点であってかつ指定された前記エッジ部に属する頂点のみを用いて演算を行い、各処理対象の頂点を移動させてその座標値を更新することにより、平滑化を行う第1の平滑化手段と、
前記3次元モデルのポリゴンの各頂点を処理対象とし、各処理対象の頂点の座標値について、前記第1の平滑化手段とは異なる演算を行い、各処理対象の頂点を移動させてその座標値を更新することにより、平滑化を行う第2の平滑化手段と、
平滑化を行うべき頂点が指定されたエッジ部に属する場合には前記第1の平滑化手段を選択し、エッジ部に属しない場合には前記第2の平滑化手段を選択する選択手段と、
を有することを特徴とする3次元モデルの編集装置。
An editing device for a 3D model composed of polygon meshes,
Means for designating an edge portion on the three-dimensional model;
Wherein each vertex is processed belonging to the edge portion designated polygon of the three-dimensional model, the coordinate values of the vertices of each processed, the edge portion A with and specified vertices near the apex of the processed First smoothing means for performing smoothing by performing calculation using only the vertices belonging to, moving the vertices of each processing target and updating the coordinate values;
Each vertex of the polygon of the three-dimensional model is set as a processing target, a calculation different from that of the first smoothing unit is performed on the coordinate value of each processing target vertex, and the coordinate value of each processing target is moved. A second smoothing means for performing smoothing by updating
A selecting means for selecting the first smoothing means when the vertex to be smoothed belongs to the designated edge portion, and selecting the second smoothing means when not belonging to the edge portion;
A three-dimensional model editing apparatus characterized by comprising:
前記3次元モデルのポリゴンの各頂点の座標値と当該2次元画像上の各画素の座標との対応が既知である2次元画像、そのような2次元画像上においてエッジラインを指定する手段と、
前記2次元画像上で指定された前記エッジラインと前記3次元モデル上で指定された前記エッジ部とを関連付ける手段と、を有し、
前記第1の平滑化手段は、前記エッジ部に属する頂点が前記エッジライン上に投影されるような拘束を与えて当該頂点の座標値についての前記演算を行う、
請求項1記載の3次元モデルの編集装置。
A two-dimensional image in which the correspondence between the coordinate value of each vertex of the polygon of the three-dimensional model and the coordinates of each pixel on the two-dimensional image is known, means for designating an edge line on such a two-dimensional image,
Means for associating the edge line specified on the two-dimensional image with the edge portion specified on the three-dimensional model;
The first smoothing means performs the calculation on the coordinate value of the vertex by giving a constraint that the vertex belonging to the edge portion is projected onto the edge line.
The three-dimensional model editing apparatus according to claim 1.
前記第1の平滑化手段は、前記エッジ部に属する頂点群に対してフィッティングされた直線上に配置されるような拘束を与えて当該頂点の座標値についての前記演算を行う、
請求項1記載の3次元モデルの編集装置。
The first smoothing means performs the calculation on the coordinate value of the vertex by giving a constraint such that the first smoothing unit is arranged on a straight line fitted to the vertex group belonging to the edge portion.
The three-dimensional model editing apparatus according to claim 1.
前記第1の平滑化手段または前記第2の平滑化手段による平滑化の前後における前記3次元モデルの各部の局所体積の変化を評価する手段と、
平滑化の前後における前記3次元モデルの各部の局所体積の変化が少なくなるように平滑化後のポリゴンの各頂点の座標値を補正する手段と、
を有する請求項1乃至3のいずれかに記載の3次元モデルの編集装置。
Means for evaluating a change in local volume of each part of the three-dimensional model before and after smoothing by the first smoothing means or the second smoothing means;
Means for correcting the coordinate value of each vertex of the smoothed polygon so that the change in local volume of each part of the three-dimensional model before and after smoothing is reduced ;
The three-dimensional model editing apparatus according to any one of claims 1 to 3.
ポリゴンメッシュからなる3次元モデルの編集のためのコンピュータプログラムであって、コンピュータによって実行されたときに、
ユーザの指定入力に基づいて前記3次元モデル上におけるエッジ部を指定する手段
前記3次元モデルのポリゴンの指定された前記エッジ部に属する各頂点を処理対象とし、各処理対象の頂点の座標値について、処理対象の頂点の周辺の頂点であってかつ指定された前記エッジ部に属する頂点のみを用いて演算を行い、各処理対象の頂点を移動させてその座標値を更新することにより、平滑化を行う第1の平滑化手段
前記3次元モデルのポリゴンの各頂点を処理対象とし、各処理対象の頂点の座標値について、前記第1の平滑化手段とは異なる演算を行い、各処理対象の頂点を移動させてその座標値を更新することにより、平滑化を行う第2の平滑化手段、および
平滑化を行うべき頂点が指定されたエッジ部に属する場合には前記第1の平滑化手段を選択し、エッジ部に属しない場合には前記第2の平滑化手段を選択する選択手段して
コンピュータを機能させることを特徴とするコンピュータプログラム。
A computer program for editing a three-dimensional model consisting of a polygon mesh, when executed by a computer,
Means for designating an edge portion on the three-dimensional model based on a user's designated input;
Each vertex belonging to the specified edge portion of the polygon of the three-dimensional model is a processing target, and the coordinate value of each processing target vertex is a vertex around the processing target vertex and the specified edge portion First smoothing means for performing smoothing by performing computation using only the vertices belonging to, moving the vertices to be processed and updating the coordinate values thereof,
Each vertex of the polygon of the three-dimensional model is set as a processing target, a calculation different from that of the first smoothing unit is performed on the coordinate value of each processing target vertex, and the coordinate value of each processing target is moved. By updating the second smoothing means for performing smoothing , and
If it belongs to an edge portion with vertices specified to be subjected to smoothing selects said first smoothing means, if not belonging to the edge portion is a selection means for selecting the second smoothing means And
A computer program for causing a computer to function .
JP2002215280A 2002-07-24 2002-07-24 3D model editing apparatus and computer program Expired - Fee Related JP4151332B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002215280A JP4151332B2 (en) 2002-07-24 2002-07-24 3D model editing apparatus and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002215280A JP4151332B2 (en) 2002-07-24 2002-07-24 3D model editing apparatus and computer program

Publications (2)

Publication Number Publication Date
JP2004054852A JP2004054852A (en) 2004-02-19
JP4151332B2 true JP4151332B2 (en) 2008-09-17

Family

ID=31937349

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002215280A Expired - Fee Related JP4151332B2 (en) 2002-07-24 2002-07-24 3D model editing apparatus and computer program

Country Status (1)

Country Link
JP (1) JP4151332B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6041127B2 (en) * 2011-08-29 2016-12-07 国立大学法人北海道大学 Columnar object extraction method, columnar object extraction program, and columnar object extraction device
JP7546653B2 (en) * 2020-03-16 2024-09-06 富士フイルム株式会社 IMAGE PROCESSING APPARATUS, IMAGE PROCESSING METHOD, AND IMAGE PROCESSING PROGRAM

Also Published As

Publication number Publication date
JP2004054852A (en) 2004-02-19

Similar Documents

Publication Publication Date Title
JP4392507B2 (en) 3D surface generation method
JP5248806B2 (en) Information processing apparatus and information processing method
US20160148411A1 (en) Method of making a personalized animatable mesh
KR20190118213A (en) System and Method for 3D Clothing Mesh Deformation and Layering for Clothing Fit Visualization
CN110648274B (en) Method and device for generating fisheye image
JP2022519194A (en) Depth estimation
JP7005622B2 (en) Recognition processing device, recognition processing method and program
KR101867991B1 (en) Motion edit method and apparatus for articulated object
EP1145193A2 (en) Creating a three-dimensional model from two-dimensional images
JP4035978B2 (en) Three-dimensional shape model evaluation method, generation method, and apparatus
KR20190125515A (en) Single pass flexible screen / scale rasterization
EP3756163B1 (en) Methods, devices, and computer program products for gradient based depth reconstructions with robust statistics
JP4395689B2 (en) Image data processing method and modeling apparatus
KR101875047B1 (en) System and method for 3d modelling using photogrammetry
JP3855053B2 (en) Image processing apparatus, image processing method, and image processing program
CN108876704B (en) Method and device for deforming human face image and computer storage medium
WO2018039936A1 (en) Fast uv atlas generation and texture mapping
US7586494B2 (en) Surface detail rendering using leap textures
JP2005275646A (en) 3D drawing model generation method, 3D model drawing method and program thereof
JP4151332B2 (en) 3D model editing apparatus and computer program
JP6822086B2 (en) Simulation equipment, simulation method and simulation program
US20210134059A1 (en) Methods and systems for generating surfaces from polygonal data
JPH0814860A (en) Model creating device
JP3341549B2 (en) 3D shape data processing device
JP4320577B2 (en) Three-dimensional model generation method and apparatus, and computer program

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20050325

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080311

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080509

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080610

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080623

R150 Certificate of patent or registration of utility model

Ref document number: 4151332

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120711

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130711

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees