JP3597360B2 - モデリング方法および記録媒体 - Google Patents

モデリング方法および記録媒体 Download PDF

Info

Publication number
JP3597360B2
JP3597360B2 JP31469797A JP31469797A JP3597360B2 JP 3597360 B2 JP3597360 B2 JP 3597360B2 JP 31469797 A JP31469797 A JP 31469797A JP 31469797 A JP31469797 A JP 31469797A JP 3597360 B2 JP3597360 B2 JP 3597360B2
Authority
JP
Japan
Prior art keywords
control grid
loop
modeling method
vertex
input
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 - Lifetime
Application number
JP31469797A
Other languages
English (en)
Other versions
JPH11149573A (ja
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP31469797A priority Critical patent/JP3597360B2/ja
Priority to US09/192,367 priority patent/US6236403B1/en
Publication of JPH11149573A publication Critical patent/JPH11149573A/ja
Application granted granted Critical
Publication of JP3597360B2 publication Critical patent/JP3597360B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、モデリング方法および記録媒体に関し、特に、変形対象立体の丸め操作方法および逆丸め操作方法を用いたモデリング方法に関するものである。
【0002】
【従来の技術】
近年、コンピュータによる情報操作の速度向上はめざましく、様々な応用が試みられている。その中でも、3次元CG(Computer Graphics)は映画やテレビ、あるいはゲームなどで日常的に目にする技術となった。最近では、滑らかな曲面を多用したCGが多く見られ、人体や動物など複雑な曲面によって構成される形状が表現されている。こうした映像では、その変形対象立体の形成にとどまらず、自由な変形によって様々な動きが表現されている。このような、滑らかな曲面を用いたモデリングには、柔軟な変形操作が可能なモデリングシステムが必要不可欠である。
【0003】
柔軟な変形操作を行うための手法としては、自由形状変形(Free Form Deformation,FFD)が一般的である。FFDとは、3次元CGにおいて伸ばす、曲げる捻るといった形状の大域的な変形を表現するための概念である。その手法は、まず変形対象立体に対して、それを囲むように制御点群を格子状にならべ制御格子を生成し、さらに、制御格子を変形させて内部のパラメータ空間を変形させ、これを変形対象立体に写像するものである。この手法は、その後の研究者たちによって改良が加えられ、多くのCGアニメーション作成システムに採り入れられてきた。
【0004】
【発明が解決しようとする課題】
しかし、この手法は変形対象立体の形状によっては制御の柔軟性に限界がある。そこで、従来から立体の形状を反映した制御格子を生成することで変形制御の柔軟性を向上させる手法を提案されているが、制御の柔軟性以外にも制御格子の定義が難しい、計算コストが高いなどの問題点が残る。
【0005】
そこで、本出願人は、制御格子の形状から直接形状を定義し、これに対して変形を行うという、従来のFFDとは逆のプロセスを用いたモデリング手法を提案する。また、制御格子から形状を定義するために丸め変形による多面体からの自由曲面生成の手法を応用した。この手法によれば、変形対象立体は制御格子の情報から簡単なアルゴリズムによって定義されるので、計算負荷の高いパラメータ空間変形の演算を行うことなく、変形を実現することができる。
【0006】
本発明において、実現したモデリング手法は以下のような特徴を持つ。
1.局所変形が容易である
2.変形後の形状が直観的に予測しやすい
3.制御格子形状の自由度が高い
4.計算コストが低い
【0007】
丸め変形による多面体からの自由曲面形状生成の手法を形状変形に応用する試みが行われ、一定の有用性が示されたが、いずれもあらかじめ制御格子形状を生成してからでないと一切の変形操作ができないため、適用範囲が限られていた。その他にも、変形対象立体を直接変形できない、周りの面が不連続な頂点を表現できないなどの問題点があった。本発明では、任意の立体に制御格子を自動的に生成することを可能とし、この手法の一般的なモデルへの適用を実現した。また、重み付け、位相細分、参照稜線の利用などにより従来表現できなかった幾何形状を扱えるようになった。
【0008】
本明細書では、まず、システムの概要について説明、次に丸め操作、逆丸め操作、変形操作について説明する。さらに、本発明による手法を用いた応用例を示す。
【0009】
【課題を解決するための手段】
請求項1の発明は、変形対象立体の形成および自由形状変形を行って、3次元形状を形成するモデリング方法において、前記3次元形状を表す変形対象立体データを入力し、前記入力した変形対象立体データのループごとに、該ループの頂点につながる2本の稜線について、端点の一階微分ベクトルを計算して頂点位置での接平面を計算し、計算された接平面同士の干渉点を計算して、この干渉点を制御格子の頂点とし、必要な属性を制御格子に付加して、すべての制御格子の頂点を求めた後に、隣同士のループの頂点を結んだ直線稜線を生成し、これらの直線稜線により形成される立体の制御格子データを出力することを特徴とするモデリング方法である。
【0010】
請求項2の発明は、請求項1記載のモデリング方法において、前記入力した制御格子データの稜線に重み情報が付加されていた場合、該重み情報を、該稜線に対して生成した境界曲線の重み情報とすることを特徴とするモデリング方法である。
【0011】
請求項3の発明は、請求項1記載のモデリング方法において、前記入力した制御格子データの頂点に重み情報が付加されていた場合、該頂点に対応する自由曲面を分割し、分割の際に生成された頂点を該重み情報に応じて移動させることを特徴とするモデリング方法である。
請求項4の発明は、請求項1記載のモデリング方法において、前記入力した制御格子データの稜線に参照属性が付加されている参照稜線の場合、該参照稜線のみが接続する制御格子の頂点を頂点Vとしたときに、前記頂点Vと該参照稜線とを除いたときにできる稜線で形成されるループに、該参照稜線の頂点Vとは反対側の頂点で構成する稜線をつなげてループを構成してから変形対象立体を生成するようにしたことを特徴とするモデリング方法である。
請求項5の発明は、請求項1乃至4のいずれかに記載のモデリング方法において、前記入力した制御格子データの頂点に、面上の穴を表す属性が付加されていた場合、変形対象立体を生成した後に、穴を表すCループを生成することを特徴とするモデリング方法である。
【0012】
請求項の発明は、変形対象立体の形成および自由形状変形を行って、3次元形状を形成するモデリング方法において、前記変形対象立体のループごとに、該ループの頂点につながる2本の稜線について、端点の一階微分ベクトルを求め、これにより頂点位置での接平面を求め、求められた接平面同士の干渉点を計算して、この干渉点を制御格子の頂点とし、必要な属性を制御格子に付加し、すべての制御格子の頂点を求めた後に、隣同士のループの頂点を結んだ直線稜線を生成し、これらの稜線により形成される立体の制御格子データを作成することを特徴とするモデリング方法である。
【0013】
請求項の発明は、請求項6に記載のモデリング方法において、前記入力した変形対象立体データの分割すべきループについては、該ループにつながる稜線を削除してから制御格子を生成し、該生成された制御格子の頂点には重み情報の属性を付加することを特徴とするモデリング方法である。
【0014】
請求項の発明は、請求項6に記載のモデリング方法において、前記入力した変形対象立体データの鋭い頂点については、該頂点を制御格子中に残し、前記頂点に接続する稜線に参照属性を付加することを特徴とするモデリング方法である。
【0015】
請求項の発明は、請求項6に記載のモデリング方法において、前記入力した変形対象立体データ穴を表すループ(Cループ)を含む場合には、Cループを通常の面を表すループ(Pループ)に変換して制御格子を生成し、次に、前記Cループ及び該Cループが属するPループに対応して生成された制御格子の頂点に、前記両ループの関係を属性として付加することを特徴とするモデリング方法である。
【0016】
請求項10の発明は、変形対象立体の形成および自由形状変形を行って、3次元形状を形成するモデリング方法を実行するためのモデリングプログラムを記録した記録媒体であって、前記3次元形状を表す制御格子データを入力し、前記入力した制御格子データのすべての稜線について、該稜線の両側の面のそれぞれの中心点を計算し、この2つの中心点と該稜線の中点を制御点とする1本の境界曲線を生成し、前記制御格子の各頂点に対して、該頂点につながる稜線に対応した前記境界曲線からなる閉じた曲線列を生成し、前記生成された閉じた曲線列から形成される曲面について、隣接する曲面間の境界曲線上のすべての点で接平面が一致するように、自由曲面を内挿して変形対象立体を生成するモデリング方法をコンピュータに実行させるためのモデリングプログラムを記録したコンピュータ読取り可能な記録媒体である。
【0017】
請求項11の発明は、変形対象立体の形成および自由形状変形を行って、3次元形状を形成するモデリング方法を実行するためのモデリングプログラムを記録した記録媒体であって、前記3次元形状を表す変形対象立体データを入力し、前記入力した変形対象立体データのループごとに、該ループの頂点につながる2本の稜線について、端点の一階微分ベクトルを計算して頂点位置での接平面を計算し、計算された接平面同士の干渉点を計算して、この干渉点を制御格子の頂点とし、必要な属性を制御格子に付加して、すべての制御格子の頂点を求めた後に、隣同士のループの頂点を結んだ直線稜線を生成し、これらの直線稜線により形成される立体の制御格子データを出力するモデリング方法をコンピュータに実行させるためのモデリングプログラムを記録したコンピュータ読取り可能な記録媒体である。
【0018】
【発明の実施の形態】
3次元形状を大域的に変形する手法として自由形状変形が一般的である。この手法は、まず変形対象立体を内包する制御格子を定義し、これを変形することによりその変位を変形対象立体に反映することで変形を行うものであるが、制御格子の定義法、制御の柔軟性、計算コストなどの面で問題点があった。そこで本研究では、丸め操作による自由曲面生成の手法を応用し、曲面生成のもととなる多面体を制御格子として形状変形を制御するという新しい手法を発明した。これにより、計算コストを上げることなしに柔軟な変形を行うことを可能にした。丸め操作については従来の手法を拡張し、位相細分や重み指定による変形操作の充実を計った。また、丸めの逆操作を行うことにより、任意の立体に対し自動的に制御格子を生成することを可能とし、本手法の一般的なモデルへの適用を実現した。
本発明では、大きく分けて丸め操作と逆丸め操作、そして変形操作の3つの操作によりモデリングを行う。丸め操作は、直線稜線のみからなる立体から、変形の対象となる自由曲面を持った変形対象立体を生成する。逆丸め操作は、連続に接続された曲面からなる立体から、それを内包するよう直線稜線により構成される制御格子を生成する。
丸め操作あるいは逆丸め操作を実行することにより、システム中で制御格子と変形対象立体の関連付けが行われ、変形操作を行うことが可能となる。変形操作は原則的に制御格子に対して行われ、それに対応して変形対象立体が変形する。
【0019】
以下、丸め操作、逆丸め操作、変形操作について詳しく述べる。
(丸め操作)
丸め操作は変形対象立体の生成を行うものである。丸め操作を実行すると、入力された変形対象立体は制御格子として定義され、生成された変形対象立体との関連付けが行われる。丸め操作への入力として、以下の種類が挙げられる。
・ユーザがモデリングした制御格子
・逆丸め操作により生成された制御格子
・変形操作により形状が変化した制御格子
なお、ユーザが制御格子形状をモデリングし、丸め操作の入力とする場合以外は、丸め操作はシステム内で自動的に実行されるため、ユーザがこれを意識する必要はない。
【0020】
(逆丸め操作)
逆丸め操作は制御格子の生成を行うものである。逆丸め操作を実行すると、入力された変形対象立体は変形対象立体として定義され、生成された制御格子との関連付けが行われる。逆丸め操作への入力として、以下の種類が挙げられる。
・ユーザがモデリングした変形対象立体
・測定機から得られるデータを再構成したものなど、任意のソリッドモデル
・変形操作の過程で制御格子との関連性が失われた変形対象立体
変形操作の過程で変形対象立体をユーザが直接変形した場合は、制御格子と変形対象立体の関連性が失われる。この際はシステムが自動的に逆丸め操作を実行する。
【0021】
(変形操作)
変形操作は、制御格子と変形対象立体がシステム内で関連付けられている状態で実行することができる。実際の操作は、制御格子の頂点を移動することにより行う。制御格子に対して変形操作が行われた際は、システムが自動的に丸め操作を実行し、新しい変形対象立体を生成する。なお、丸め操作と逆丸め操作は互いに可逆性を持つため、変形後のデータを保存する際には、制御格子の情報を書き出すだけで良い。このことは、複雑な曲面からなる立体データを、直線稜線のみから立体へデータ圧縮する機能としても用いることができる。
【0022】
本発明において、以上の操作を使用してモデリングする際の流れは、次の通りである。ユーザが作成したモデル、あるいは測定機データから再構成されたソリッドモデルなどを入力とし、丸め操作または逆丸め操作により制御格子と変形対象立体の関連付けを行う。この後、変形操作によりモデルの変形を行い、完成したモデルの制御格子データを保存する。
【0023】
図1は、本発明の概要を説明するための図である。
丸め操作とは、制御格子を入力として滑らかな曲面で囲まれた変形対象立体を生成する機能である。本発明では、重み付けと位相の細分化を行うことで従来の丸め操作の表現力を向上させることができる、また、逆丸め操作との対応を綿密にとることで、より一般的にモデルを扱うことが可能になった。
以下では、まず制御格子からの変形対象立体生成のアルゴリズムを示す。次に、制御格子の頂点に重みを付けることによって変形対象立体を変化させる方法を示す。続いて、逆丸め操作の過程で特殊な幾何形状を表現するための属性が付加された制御格子を扱う方法について述べる。
【0024】
(制御格子からの変形対象立体生成)
丸め操作は制御格子を入力データとして、基本的に次のようなプロセスをとる。
図2は、境界曲線の生成方法を説明するための図で、まず、制御格子のすべての稜線について、それぞれに対応する1本の境界曲線を生成する。図2は制御格子の稜線Eの両側の面がF,Fであることを示している。点Pは稜線Eの中点、点G,Gはそれぞれ面F,Fの中心である。ここで面の中心とは、それに含まれる頂点の座標の平均であると定義する。境界曲線は、これらG,P,Gの3点を制御点とする2次有理Bezier曲線Cにより定義される有理Bezier曲線を用いることで、重み付けを用いた柔軟なモデリングを可能にする。この曲線の端点はG,Gであり、点G,Gにおける接線はG,Gである。一般に、制御格子の任意の稜線Eiに対してそれぞれ1本の曲線Ciが生成される。
【0025】
図3は、境界曲線列の生成方法を説明するための図で、図3において、Vは制御格子の頂点、E,E,EはVにつながる稜線をあらわしている。すると、E,E,Eそれぞれについて上記の規則から曲線C,C,Cが生成され、これらは閉じた曲線列Bを成す。一般に、制御格子の任意の一つの頂点をVi,Viの次数をnとするとn本の2次有理Bezier曲線C…Cn−1からなる閉じた曲線列Biが定義される。ここで、Viの次数とはViにつながる稜線の本数を表す。この過程を、制御格子のすべての頂点に対して繰り返すことにより、自由曲面を持った変形対象立体を生成するためのモデルが定義される。このとき、一つの頂点Viに関して必ず対応する一つの曲面の境界曲線列Biが定義されていることになる。
【0026】
次に、上記のように定義された境界曲線列から、自由曲面による変形対象立体を生成する。変形対象立体は、滑らかに接続された自由曲面から構成される。このため、任意の隣接する曲面間でG連続曲面を生成する必要がある。ここで、G連続な曲面とは、隣接する曲面間の境界曲線上の全ての点で接平面が一致している曲面のことである。この条件を満たすためには、まず3つ以上の境界曲線が集まる点で接平面が一致していなければならばい。ここで、境界曲線における接点の接平面が一致している状態とは、境界曲線の端点におけるすべての接線ベクトルが同一平面上にある状態のことである。制御格子の面が平面である場合、境界曲線の端点につながる曲線の接線ベクトルは制御格子の面上にのっている。したがって、境界曲線の端点における接平面は一致する。しかし、制御格子の面が平面でない場合、境界曲線の端点における接平面は一致しない。そこでまず、その面の平均法線ベクトルnを求め、面の中心を通りnに垂直な平面Fを設定する。そして、Fの中心を端点とする境界線の制御点をFに射影し、接平面をFに一致させる。
【0027】
最後に、境界曲線列から自由曲面を生成し内挿する。一般に、自由曲面としては、Bezier曲面やCoons曲面、もしくはNURBS曲面がよく用いられる。しかし、これらの曲面はすべての曲面間でG連続性を保つことが困難なことから、ここではGregoryパッチを採用した〔鳥谷浩志,千代倉弘明,3次元CADの基礎と応用、共立出版,1991.〕。この曲面は両立性補正の性質を持つため、パラメータの局所的な調整によって曲面間の連続性を容易に保つことが可能である。
【0028】
(頂点への重み付けによる変形)
丸め操作では、頂点に重みを付けることにより、変形対象立体の境界曲線と曲面を変形することが可能である。重みを付けることのできる頂点は、制御格子本来の頂点と丸め操作実行時に制御格子の稜線の中点に生成される頂点の2種類がある。制御格子の稜線の中点に生成された頂点へ付けられる重みは、そのままその稜線に対応する変形対象立体の境界曲線の重みとする。その際、逆丸め操作との対応を実現するため、重み付けにより変形された稜線に属性を付加する。
【0029】
図4は、境界曲線に重み付加した例を示す。なお、重みを無限大にすることで、その部分において制御格子と変形対象立体とを一致させることが可能である。さらに、制御格子本来の頂点に重みを付けた場合、これに対応する自由曲面が分割され、分割の際に生成された頂点がその重みに対応して移動する。重みと分割の情報は、生成された頂点に属性として付加される。そして、逆丸め操作の際にこれらの情報が参照される。図5にすべての頂点に重み付けを施した例を示す。
【0030】
(逆丸め操作との対応)
逆丸め操作においては、次のような変形対象立体の入力が可能になっている。
・G連続でない曲面の接続を持った変形対象立体
・細分化されたループを持った変形対象立体
・Cループを持った変形対象立体
しかし、丸め操作の基本アルゴリズムだけでは上記のような変形対象立体を表現することはできない。そこで我々は、逆丸め操作との対応をとることでそれらの表現を可能にした。
【0031】
(G連続でない曲面の接続)
逆丸め操作により生成された制御格子には、G連続でない曲面の接続を表現する属性が付加されていることがある。この場合、基本アルゴリズムのみで変形対象立体を生成してしまうと、全ての面がG連続で接続されてしまう。そこで、基本アルゴリズムにより変形対象立体を生成する前に、もとの制御格子の稜線に付加されている属性を読みとる。この属性は参照属性と呼ばれ、その稜線を参照稜線として扱うことを意味する。参照稜線は、丸め操作を行う際に制御格子の稜線として扱われない。参照稜線が存在した場合は、システム内で次のようにループの中心と稜線の中点を定義する。
【0032】
図6は、参照稜線を持った制御格子の例を説明するための図で、参照稜線をE,E,E,…、それらのみが接続する頂点V、E,E,E,…を除いたときにできる稜線で形成されるループをLとしたとき、Vの位置をループLの中心として定義する。さらに、E,E,E,…の両端点のうちVでない方の頂点をV,V,V,…としたとき、V,V,V,…につながるLを構成する稜線をそれぞれ一本の稜線とみなす。そしてそれらV,V,Vを稜線の中点として定義する。その後、基本アルゴリズムにより丸め操作を行う。こうすることで、逆丸めとの正確な対応が実現する。
【0033】
(細分化されたループ)
制御格子の頂点に重み付けをし、丸め操作により生成された変形対象立体に再び逆丸め操作を行った場合、その制御格子をさらに丸めてもそのままでは重みやループの細分が反映されない。そこで、基本アルゴリズムにより変形対象立体を生成した後、もとの制御格子の頂点に付加されている重みと分割の情報を参照し、ループを分割、重みにしたがって分割により生成された頂点を移動する。
【0034】
(Cループ)
Cループとは、面上の穴を表す位相要素である。これに対し通常の面をPループと呼ぶ。また、Cループは必ずひとつのPループに属し、互いは親子関係にある。丸め操作によって変形対象立体にCループを生成する必要がある場合は、頂点に属性が付加されている。基本アルゴリズムにより変形対象立体を生成した後、その属性を参照してCループを生成する。
【0035】
逆丸め操作とは、丸めの逆操作を行うことにより、連続に接続された曲面からのみからなる立体から、直線稜線のみで構成される制御格子を生成する機能である。これを用いれば、任意の立体に対し制御格子を用いた柔軟な変形を行うことが可能となる。
扱うことのできるモデルの一般性を向上させるために、逆丸め操作と丸め操作は綿密な対応付けがなされている。丸め操作での重み付けや位相細分の情報は制御格子の位相要素に属性情報として保存され、丸め操作の際にこれを参照する。Cループや、周りのループの接続が不連続な頂点を持つ立体については、制御格子の位相構造への反映と属性情報の付加により、丸め操作との可逆性を保っている。
【0036】
(曲面形状からの制御格子生成)
制御格子の生成は、変形対象立体のループごとに頂点を定義し、必要な属性を付加した上でこれを結んだ稜線を生成する、といったプロセスで行われる。以下に曲面形状からの制御格子を生成する基本的な手順について示す。
【0037】
(頂点の定義)
図7は、頂点定義の概念を示す図で、制御格子の頂点は、変形対象立体のループごとに定義される。ループの頂点につながる2本の稜線について、端点の一階微分ベクトルを求め、これにより頂点位置での接平面を求める。こうして求められた平面から干渉点を計算し、これを頂点として定義する。複数の干渉点が定義された場合は、この平均を計算する。接平面が一致したり、干渉線しか定義できないケースなど、干渉点が求まらない場合は、ループの頂点との境界曲線の制御点の平均から定義される一点を干渉要素に射影し、制御格子の頂点とする。
【0038】
(属性付加)
ループに付加された色やテクスチャなどの属性は制御格子に付加され、丸め操作を用いた変形を行った後でもそれらは保存される。また、丸め操作による重みや位相細分の情報も同様に属性として保存される。
【0039】
(稜線の生成)
全ての頂点を定義した後に、となり同士のループで定義された頂点を結んだ直線稜線を生成する。すなわち、制御格子の稜線は変形対象立体の稜線と交差して生成される。これらの稜線により形成される立体が制御格子となる。図8に変形対象立体から制御格子を生成した様子を示す。
【0040】
(特殊形状の表現)
これまで述べてきた逆丸めの操作のアルゴリズムは、基本的にすべての面がG連続で接続されており、CループやTノード(3本の稜線がつながっており、うち2本が連続に接続されている頂点)を持たない立体に対する適用を想定している。したがって、これらの条件を満たさない立体についても丸め操作との可逆性を保ちつつ逆丸め操作を行うためのアルゴリズムが必要である。以下では、これらのケースの操作について述べる。
【0041】
(位相細分されたループ)
丸め操作の重み付けにより生成される、位相細分されたループについては、あらかじめ属性が付加されている頂点を参照し、それにつながる稜線を削除してから制御格子を生成する。位相細分されていたループに対応する制御格子の頂点には属性情報が付加され、再び丸め操作を行ったときに可逆性が保証される。図9に位相細分された変形対象立体から制御格子を生成した例を示す。
【0042】
(曲面接続の不連続な部分)
円柱や円錐形状など、すべての頂点が接平面連続ではない立体について通常の逆丸め操作を行うと、制御格子は幾何的に変形対象立体の特徴を充分に反映することができない。また、生成された制御格子形状から丸め操作により生成される変形対象立体は全ての面がG連続で接続され、もとの幾何形状との可逆性は保証されない。これを解決するために、変形対象立体の鋭い頂点についてはこれを制御格子中に残し、その頂点に接続する稜線に参照属性を付加する。丸め操作時にこの属性を考慮することにより、可逆性を持たせることを可能とした。
【0043】
図10に通常のルールで円柱から制御格子を生成した例を、図11に参照要素を利用して制御格子を生成した例を示す。図中、太い線で表される稜線に参照属性が付加されている。
【0044】
(Cループ)
CループはまずPループに変換してから基本的なアルゴリズムで制御格子を生成する。制御格子生成後、変形対象立体のCループおよびその親のPループであった面にそれぞれ対応して生成された制御格子の頂点に、お互いの関係を属性として付加する。このことにより、Cループを持つ立体を逆丸め操作の対象とすることを可能にした。
【0045】
変形操作とは、制御格子の任意の頂点を移動することにより、変形対象立体の形状を変形させる機能である。変形操作は、制御格子と変形対象立体が対になっている状態で行うことができる。制御格子の頂点を移動した場合、変形後の制御格子の形状に対して自動的に丸め操作が実行される。この際、変形対象立体のループのうち、変形前と境界曲線形状が変化するもののみについて曲面を再生成する。したがって、変形操作の影響が変形対象立体全体におよぶことはない。
図12(A),図12(B)に制御格子の頂点移動により変形対象立体を変形した例を示す。
図中で制御格子は太い線で表されている。
【0046】
図13は、本発明の丸め操作及び逆丸め操作方法をコンピュータで実施するための装置の一例を示すものである。
ユーザはキーボード10等の入力手段の操作により、変形対象立体の制御格子を定義するデータ又は変形制御対象立体を表す図形データ、例えば、ユーザが作成した立体、あるいは測定機データから再構成されたソリッドモデルなどを直接又は、適宜RAM50、外部の記憶装置60から中央処理装置(CPU)20に入力するとともに、CPUに処理操作を指示する。CPUはROM40に記録されたプログラムによって入力されたデータに基づき丸め又は逆丸め操作に必要な演算処理を行う。その結果は表示装置30に表示される。
【0047】
図14は、本発明の丸め及び逆丸め操作により行うモデリングのための動作フローを示している。
前記のようにユーザが作成した立体、あるいは測定機データから再構成されたソリッドモデルなどを入力し、丸め操作101又は逆丸め操作102により制御格子と変形対象立体との関連付けを行う103。その後変形操作により変形対象立体の変形を行い104、そのデータを保存する105。
【0048】
【発明の効果】
本発明によれば、丸め操作方法において、制御格子に対し参照属性を付与したため、丸め操作の表現力を向上させ、また、逆丸め操作との対応を綿密にとることができるため、一般的にモデルを扱うことが可能となった。
【0049】
また、逆丸め操作により、任意の立体の制御格子を自動的に生成することができる。また、複雑な曲面からなる立体データを直線稜線からなる立体データへ圧縮することができ、データ処理の負担を軽減できる。
【0050】
また、変形対象立体の位相細分されたループについて該ループの頂点につながる稜線を削除してから制御格子を生成するため、再び丸め操作を行ったときに可逆性が保証される。
【0051】
また、変形対象立体の鋭い頂点、つまり不連続な曲面接続を含む変形対象立体の頂点について、制御格子中に残し、その頂点に接続する稜線に参照属性を付加したため、丸め操作時にこの属性を考慮することにより、丸め操作との可逆性をもたせることができる。
【0052】
また、面上に穴がある変形対象立体の場合であっても、逆丸め操作を行うことができる。
【図面の簡単な説明】
【図1】本発明のシステムの概要を示す図である。
【図2】丸め操作における境界曲線生成を説明する図である。
【図3】丸め操作における境界曲線列の生成を説明する図である。
【図4】境界曲線に重みを付した状態を示す図である。
【図5】すべての頂点に重みを付した状態を示す図である。
【図6】参照稜線を持った制御格子を示す図である。
【図7】制御格子の頂点定義の概念を説明するための図である。
【図8】変形対象立体から生成した制御格子を示す図である。
【図9】位相細分された変形対象立体から生成した制御格子を示す図である。
【図10】変形対象立体から基本アルゴリズムで生成した制御格子を示す図である。
【図11】変形対象立体から参照要素を利用して制御格子を生成した例を示す図である。
【図12】制御格子を利用した変形対象立体の変形を実行した例を示す図であって、図12(A)は変形前、図12(B)は変形後を示す。
【図13】本発明を実施するシステムを説明する図である。
【図14】本発明の丸め及び逆丸め操作方法を用いたモデリングのための動作フローを示す図である。
【符号の説明】
10…キーボード、20…中央処理装置(CPU)、30…表示装置、40…ROM、50…RAM、60…外部記憶装置。

Claims (11)

  1. 変形対象立体の形成および自由形状変形を行って、3次元形状を形成するモデリング方法において、前記3次元形状を表す制御格子データを入力し、前記入力した制御格子データのすべての稜線について、該稜線の両側の面のそれぞれの中心点を計算し、この2つの中心点と該稜線の中点を制御点とする1本の境界曲線を生成し、前記制御格子の各頂点に対して、該頂点につながる稜線に対応した前記境界曲線からなる閉じた曲線列を生成し、前記生成された閉じた曲線列から形成される曲面について、隣接する曲面間の境界曲線上のすべての点で接平面が一致するように、自由曲面を内挿して変形対象立体を生成することを特徴とするモデリング方法。
  2. 請求項1記載のモデリング方法において、前記入力した制御格子データの稜線に重み情報が付加されていた場合、該重み情報を、該稜線に対して生成した境界曲線の重み情報とすることを特徴とするモデリング方法。
  3. 請求項1記載のモデリング方法において、前記入力した制御格子データの頂点に重み情報が付加されていた場合、該頂点に対応する自由曲面を分割し、分割の際に生成された頂点を該重み情報に応じて移動させることを特徴とするモデリング方法。
  4. 請求項1記載のモデリング方法において、前記入力した制御格子データの稜線に参照属性が付加されている参照稜線の場合、該参照稜線のみが接続する制御格子の頂点を頂点Vとしたときに、前記頂点Vと該参照稜線とを除いたときにできる稜線で形成されるループに、該参照稜線の頂点Vとは反対側の頂点で構成する稜線をつなげてループを構成してから変形対象立体を生成するようにしたことを特徴とするモデリング方法。
  5. 請求項1乃至4のいずれかに記載のモデリング方法において、前記入力した制御格子データの頂点に、面上の穴を表す属性が付加されていた場合、変形対象立体を生成した後に、穴を表すCループを生成することを特徴とするモデリング方法。
  6. 変形対象立体の形成および自由形状変形を行って、3次元形状を形成するモデリング方法において、前記3次元形状を表す変形対象立体データを入力し、前記入力した変形対象立体データのループごとに、該ループの頂点につながる2本の稜線について、端点の一階微分ベクトルを計算して頂点位置での接平面を計算し、計算された接平面同士の干渉点を計算して、この干渉点を制御格子の頂点とし、必要な属性を制御格子に付加して、すべての制御格子の頂点を求めた後に、隣同士のループの頂点を結んだ直線稜線を生成し、これらの直線稜線により形成される立体の制御格子データを出力することを特徴とするモデリング方法。
  7. 請求項6に記載のモデリング方法において、前記入力した変形対象立体データの分割すべきループについては、該ループにつながる稜線を削除してから制御格子を生成し、該生成された制御格子の頂点には重み情報の属性を付加することを特徴とするモデリング方法。
  8. 請求項6に記載のモデリング方法において、前記入力した変形対象立体データの鋭い頂点については、該頂点を制御格子中に残し、前記頂点に接続する稜線に参照属性を付加することを特徴とするモデリング方法。
  9. 請求項6に記載のモデリング方法において、前記入力した変形対象立体データ穴を表すループ(Cループ)を含む場合には、Cループを通常の面を表すループ(Pループ)に変換して制御格子を生成し、次に、前記Cループ及び該Cループが属するPループに対応して生成された制御格子の頂点に、前記両ループの関係を属性として付加することを特徴とするモデリング方法。
  10. 変形対象立体の形成および自由形状変形を行って、3次元形状を形成するモデリング方法を実行するためのモデリングプログラムを記録した記録媒体であって、前記3次元形状を表す制御格子データを入力し、前記入力した制御格子データのすべての稜線について、該稜線の両側の面のそれぞれの中心点を計算し、この2つの中心点と該稜線の中点を制御点とする1本の境界曲線を生成し、前記制御格子の各頂点に対して、該頂点につながる稜線に対応した前記境界曲線からなる閉じた曲線列を生成し、前記生成 された閉じた曲線列から形成される曲面について、隣接する曲面間の境界曲線上のすべての点で接平面が一致するように、自由曲面を内挿して変形対象立体を生成するモデリング方法をコンピュータに実行させるためのモデリングプログラムを記録したコンピュータ読取り可能な記録媒体。
  11. 変形対象立体の形成および自由形状変形を行って、3次元形状を形成するモデリング方法を実行するためのモデリングプログラムを記録した記録媒体であって、前記3次元形状を表す変形対象立体データを入力し、前記入力した変形対象立体データのループごとに、該ループの頂点につながる2本の稜線について、端点の一階微分ベクトルを計算して頂点位置での接平面を計算し、計算された接平面同士の干渉点を計算して、この干渉点を制御格子の頂点とし、必要な属性を制御格子に付加して、すべての制御格子の頂点を求めた後に、隣同士のループの頂点を結んだ直線稜線を生成し、これらの直線稜線により形成される立体の制御格子データを出力するモデリング方法をコンピュータに実行させるためのモデリングプログラムを記録したコンピュータ読取り可能な記録媒体。
JP31469797A 1997-11-17 1997-11-17 モデリング方法および記録媒体 Expired - Lifetime JP3597360B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP31469797A JP3597360B2 (ja) 1997-11-17 1997-11-17 モデリング方法および記録媒体
US09/192,367 US6236403B1 (en) 1997-11-17 1998-11-16 Modeling and deformation of 3-dimensional objects

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31469797A JP3597360B2 (ja) 1997-11-17 1997-11-17 モデリング方法および記録媒体

Publications (2)

Publication Number Publication Date
JPH11149573A JPH11149573A (ja) 1999-06-02
JP3597360B2 true JP3597360B2 (ja) 2004-12-08

Family

ID=18056471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31469797A Expired - Lifetime JP3597360B2 (ja) 1997-11-17 1997-11-17 モデリング方法および記録媒体

Country Status (2)

Country Link
US (1) US6236403B1 (ja)
JP (1) JP3597360B2 (ja)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3829972B2 (ja) * 2000-03-06 2006-10-04 サイテック株式会社 3次元cadシステム
US6608631B1 (en) * 2000-05-02 2003-08-19 Pixar Amination Studios Method, apparatus, and computer program product for geometric warps and deformations
US8576232B2 (en) * 2001-12-31 2013-11-05 Siemens Product Lifecycle Management Software Inc. Apparatus, method, and system for drafting multi-dimensional drawings
JP4301791B2 (ja) * 2002-10-04 2009-07-22 三菱重工業株式会社 Cadシステム及びcadプログラム
US7221379B2 (en) * 2003-05-14 2007-05-22 Pixar Integrated object squash and stretch method and apparatus
US7739479B2 (en) * 2003-10-02 2010-06-15 Nvidia Corporation Method for providing physics simulation data
US7895411B2 (en) * 2003-10-02 2011-02-22 Nvidia Corporation Physics processing unit
US7236170B2 (en) * 2004-01-29 2007-06-26 Dreamworks Llc Wrap deformation using subdivision surfaces
NZ531217A (en) * 2004-02-18 2005-12-23 Nz Forest Research Inst Ltd Impregnation process
US7292250B2 (en) * 2004-03-31 2007-11-06 Dreamworks Animation, Llc Character deformation pipeline for computer-generated animation
US20050251644A1 (en) * 2004-05-06 2005-11-10 Monier Maher Physics processing unit instruction set architecture
US7650266B2 (en) * 2005-05-09 2010-01-19 Nvidia Corporation Method of simulating deformable object using geometrically motivated model
US8004517B1 (en) * 2005-06-24 2011-08-23 Geomagic, Inc. Methods, apparatus and computer program products that model three-dimensional surface structures
US7545379B2 (en) * 2005-10-28 2009-06-09 Dreamworks Animation Llc Artist directed volume preserving deformation and collision resolution for animation
EP1901235B1 (en) * 2006-09-15 2019-08-14 Honda Research Institute Europe GmbH Free style deformation (FSD)
US7843467B2 (en) * 2006-12-18 2010-11-30 Microsoft Corporation Shape deformation
US7627744B2 (en) * 2007-05-10 2009-12-01 Nvidia Corporation External memory accessing DMA request scheduling in IC of parallel processing engines according to completion notification queue occupancy level
US7816918B2 (en) * 2007-05-24 2010-10-19 The Johns Hopkins University Optimized MRI strip array detectors and apparatus, systems and methods related thereto
US8243072B2 (en) * 2007-09-11 2012-08-14 Philip Kramer Method for rendering an object
US8908995B2 (en) 2009-01-12 2014-12-09 Intermec Ip Corp. Semi-automatic dimensioning with imager on a portable device
US9208400B2 (en) 2009-02-13 2015-12-08 Cognitech, Inc. Registration and comparison of three-dimensional objects
US8605989B2 (en) * 2009-02-13 2013-12-10 Cognitech, Inc. Registration and comparison of three dimensional objects in facial imaging
US9779546B2 (en) 2012-05-04 2017-10-03 Intermec Ip Corp. Volume dimensioning systems and methods
US10007858B2 (en) 2012-05-15 2018-06-26 Honeywell International Inc. Terminals and methods for dimensioning objects
US10321127B2 (en) 2012-08-20 2019-06-11 Intermec Ip Corp. Volume dimensioning system calibration systems and methods
US9939259B2 (en) 2012-10-04 2018-04-10 Hand Held Products, Inc. Measuring object dimensions using mobile computer
US9841311B2 (en) 2012-10-16 2017-12-12 Hand Held Products, Inc. Dimensioning system
US9080856B2 (en) 2013-03-13 2015-07-14 Intermec Ip Corp. Systems and methods for enhancing dimensioning, for example volume dimensioning
US10228452B2 (en) 2013-06-07 2019-03-12 Hand Held Products, Inc. Method of error correction for 3D imaging device
US9208609B2 (en) * 2013-07-01 2015-12-08 Mitsubishi Electric Research Laboratories, Inc. Method for fitting primitive shapes to 3D point clouds using distance fields
US9464885B2 (en) 2013-08-30 2016-10-11 Hand Held Products, Inc. System and method for package dimensioning
CN103942748B (zh) * 2014-05-13 2017-07-11 英华达(上海)科技有限公司 一种三维模型文件的保护方法及其系统
US9823059B2 (en) 2014-08-06 2017-11-21 Hand Held Products, Inc. Dimensioning system with guided alignment
US9779276B2 (en) 2014-10-10 2017-10-03 Hand Held Products, Inc. Depth sensor based auto-focus system for an indicia scanner
US10775165B2 (en) 2014-10-10 2020-09-15 Hand Held Products, Inc. Methods for improving the accuracy of dimensioning-system measurements
US10810715B2 (en) 2014-10-10 2020-10-20 Hand Held Products, Inc System and method for picking validation
US10060729B2 (en) 2014-10-21 2018-08-28 Hand Held Products, Inc. Handheld dimensioner with data-quality indication
US9897434B2 (en) 2014-10-21 2018-02-20 Hand Held Products, Inc. Handheld dimensioning system with measurement-conformance feedback
US9762793B2 (en) 2014-10-21 2017-09-12 Hand Held Products, Inc. System and method for dimensioning
US9557166B2 (en) 2014-10-21 2017-01-31 Hand Held Products, Inc. Dimensioning system with multipath interference mitigation
US9752864B2 (en) 2014-10-21 2017-09-05 Hand Held Products, Inc. Handheld dimensioning system with feedback
US9786101B2 (en) 2015-05-19 2017-10-10 Hand Held Products, Inc. Evaluating image values
US10066982B2 (en) 2015-06-16 2018-09-04 Hand Held Products, Inc. Calibrating a volume dimensioner
US9857167B2 (en) 2015-06-23 2018-01-02 Hand Held Products, Inc. Dual-projector three-dimensional scanner
US20160377414A1 (en) 2015-06-23 2016-12-29 Hand Held Products, Inc. Optical pattern projector
US9835486B2 (en) 2015-07-07 2017-12-05 Hand Held Products, Inc. Mobile dimensioner apparatus for use in commerce
EP3396313B1 (en) 2015-07-15 2020-10-21 Hand Held Products, Inc. Mobile dimensioning method and device with dynamic accuracy compatible with nist standard
US10094650B2 (en) 2015-07-16 2018-10-09 Hand Held Products, Inc. Dimensioning and imaging items
US20170017301A1 (en) 2015-07-16 2017-01-19 Hand Held Products, Inc. Adjusting dimensioning results using augmented reality
US10249030B2 (en) 2015-10-30 2019-04-02 Hand Held Products, Inc. Image transformation for indicia reading
US10225544B2 (en) 2015-11-19 2019-03-05 Hand Held Products, Inc. High resolution dot pattern
US10025314B2 (en) 2016-01-27 2018-07-17 Hand Held Products, Inc. Vehicle positioning and object avoidance
US10339352B2 (en) 2016-06-03 2019-07-02 Hand Held Products, Inc. Wearable metrological apparatus
US9940721B2 (en) 2016-06-10 2018-04-10 Hand Held Products, Inc. Scene change detection in a dimensioner
US10163216B2 (en) 2016-06-15 2018-12-25 Hand Held Products, Inc. Automatic mode switching in a volume dimensioner
US10909708B2 (en) 2016-12-09 2021-02-02 Hand Held Products, Inc. Calibrating a dimensioner using ratios of measurable parameters of optic ally-perceptible geometric elements
US10311621B2 (en) 2017-03-20 2019-06-04 Google Llc Held object stabilization in virtual reality
WO2018174970A1 (en) * 2017-03-20 2018-09-27 Google Llc Held object stabilization in virtual reality
US11047672B2 (en) 2017-03-28 2021-06-29 Hand Held Products, Inc. System for optically dimensioning
US10733748B2 (en) 2017-07-24 2020-08-04 Hand Held Products, Inc. Dual-pattern optical 3D dimensioning
US10584962B2 (en) 2018-05-01 2020-03-10 Hand Held Products, Inc System and method for validating physical-item security
US11639846B2 (en) 2019-09-27 2023-05-02 Honeywell International Inc. Dual-pattern optical 3D dimensioning
CN111179401B (zh) * 2019-12-31 2023-07-25 北京真景科技有限公司 基于3d曲面数据的拓扑分组方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5796400A (en) * 1995-08-07 1998-08-18 Silicon Graphics, Incorporated Volume-based free form deformation weighting
US5748197A (en) * 1995-12-29 1998-05-05 Xerox Corporation Dynamic computation of a line segment arrangement using finite precision arithmetic for use in a processor controlled system
US5751852A (en) * 1996-04-29 1998-05-12 Xerox Corporation Image structure map data structure for spatially indexing an imgage
US5809179A (en) * 1996-05-31 1998-09-15 Xerox Corporation Producing a rendered image version of an original image using an image structure map representation of the image
US6014143A (en) * 1997-05-30 2000-01-11 Hewlett-Packard Company Ray transform method for a fast perspective view volume rendering

Also Published As

Publication number Publication date
US6236403B1 (en) 2001-05-22
JPH11149573A (ja) 1999-06-02

Similar Documents

Publication Publication Date Title
JP3597360B2 (ja) モデリング方法および記録媒体
US4821214A (en) Computer graphics method for changing the shape of a geometric model using free-form deformation
US6639592B1 (en) Curve network modeling
US6720962B1 (en) Hair generation and other natural phenomena with surface derived control volumes in computer graphics and animation
US5602979A (en) System and method for generating smooth low degree polynomial spline surfaces over irregular meshes
KR101250163B1 (ko) 메쉬로부터 파라미터화 표면의 아이소토폴로직(isotopologic) 세트를 생성하는 프로세스
Gain et al. A survey of spatial deformation from a user-centered perspective
EP1000409B1 (en) Texture mapping and other uses of scalar fields on subdivision surfaces in computer graphics and animation
KR101285941B1 (ko) 요구되는 기하학적 연속성을 가지는 파라메트릭 표면 생성프로세스
US7643026B2 (en) NURBS surface deformation apparatus and the method using 3D target curve
EP3051446A1 (en) Engraving a 2D image on a subdivision surface
JP4175470B2 (ja) Cadシステム、曲面解析装置、曲面再生装置、その方法及びそのプログラム
Jensen et al. Practical curves and surfaces for a geometric modeler
Bechmann Multidimensional free-form deformation tools.
Kolb et al. Fair surface reconstruction using quadratic functionals
Makhlouf et al. Approach for CAD model Reconstruction from a deformed mesh
KR20210071024A (ko) 모프 타겟 애니메이션
JPH11328442A (ja) 三次元物体の表面形成方法
JP4005352B2 (ja) 3次元形状処理装置および曲面内挿プログラム
Alexa et al. Interactive shape modelling
Hui et al. Generating subdivision surfaces from profile curves
Meyer Dynamic particles for adaptive sampling of implicit surfaces
JP4163446B2 (ja) 曲面内挿方法、曲面内挿プログラム及び記憶媒体
JP3153580B2 (ja) 曲線及び曲面形状生成装置
JP4397548B2 (ja) 3次元形状処理装置、スキニング立体形状生成方法及び記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040713

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: 20040907

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040908

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080917

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080917

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090917

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090917

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100917

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110917

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120917

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130917

Year of fee payment: 9

EXPY Cancellation because of completion of term