JP3799511B2 - Perspective 3D NURB curve automatic restoration method and apparatus - Google Patents
Perspective 3D NURB curve automatic restoration method and apparatus Download PDFInfo
- Publication number
- JP3799511B2 JP3799511B2 JP07014997A JP7014997A JP3799511B2 JP 3799511 B2 JP3799511 B2 JP 3799511B2 JP 07014997 A JP07014997 A JP 07014997A JP 7014997 A JP7014997 A JP 7014997A JP 3799511 B2 JP3799511 B2 JP 3799511B2
- Authority
- JP
- Japan
- Prior art keywords
- dimensional
- curve
- nurb
- projection
- coordinates
- 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
Links
- 238000000034 method Methods 0.000 title claims description 30
- 230000009466 transformation Effects 0.000 claims description 24
- 239000011159 matrix material Substances 0.000 claims description 22
- 230000014509 gene expression Effects 0.000 claims description 19
- 238000001514 detection method Methods 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 12
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 22
- 239000007787 solid Substances 0.000 description 5
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、コンピュータ支援3次元入力システムにおける3次元形状入力方式に関し、特にCAID(コンピュータ支援工業デザイン)/CAD(コンピュータ支援設計)/CG(コンピュータグラフィックス)システムにおいて2次元の透視図から3次元曲線を復元し、立体形状として表示する3次元自動復元システムに関するものである。
【0002】
【従来の技術】
デザイナーを含む操作者(つまり人間)は、個人差はあるものの、2次元上に描かれた透視図のスケッチを組み合わせて、自由曲線を含む3次元の立体形状を頭の中でイメージできる。
【0003】
図8及び図9はそのような3次元の立体形状をイメージするための2次元の透視投影図である。図8は投影面1を示す透視投影図90であり、図9は投影面2を示す透視投影図92である。
【0004】
従来、精密工学会誌、vol.59、no.6、1993、精密工学会、日本、古島、金井、高橋、「手書き図形の自動認識による3次元自由曲線モデルの生成」や、電子情報通信学会論文誌D、J71-D 、(1988)84、電子情報通信学会、日本、田中敏光ほか、「Generalized symmetryに基づく3次元形状の復元」に記載されているように、CAID/CAD/CGシステム等で、このような2次元の透視投影図から3次元の立体形状を復元し、操作者の立体形状のイメージを支援するような3次元自動復元システムが開発されている。
【0005】
このような従来の3次元自動復元システムにおいては、透視投影図に描画された2次元曲線を一度2次元の点列で表現し、1又は複数の透視投影図の点列を基にして3次元の点列に変換し、その3次元の点列に3次元曲線を当てはめて立体形状を復元させている。
【0006】
【発明が解決しようとする課題】
しかし、上述のように、1つあるいは複数の透視投影図から3次元自由曲線を復元する場合、2次元自由曲線を2次元点列で表現しておき、1又は複数投影面上の2次元点列を基にして、ある3次元点列に変換し、その3次元の点列に3次元曲線を当てはめて立体形状を復元させていたため、工業製品で表現されるような自由度の高い立体形状の透視投影図は入力することができないか、または入力が困難であった。また、立体面上の円や円弧のような2次曲線を理論的に正確に表現することができなかった。
【0007】
本発明は、上記のような問題点を解決するためになされたものであり、手書きの誤差を含んでいるような2次元自由曲線又は円や円弧を表現している2次曲線が入力されても、滑らかな3次元曲線あるいは、立体面上の滑らかな2次曲線として表現でき、簡単な入力で操作者のイメージに近い立体形状が得られるような3次元自動復元システムを得ることを目的とする。なお、ここでいう自由曲線とは直線等も含むものである。
【0008】
【課題を解決するための手段】
本発明に係る透視図3次元NURB曲線自動復元方法は、投影面決定手段が1又は複数の投影面を決定する工程と、決定した1又は複数の投影面に対し、その投影面に立体形状を投影した時の2次元形状を構成する2次元自由曲線が入力されると、3次元NURB曲線変換手段が2次元自由曲線に基づいて3次元NURB曲線を算出し、1又は複数の投影面の3次元NURB曲線に基づいて立体形状を復元する工程とを有している。
本発明においては1又は複数の投影面を決定し、その投影面に立体形状を投影した時の2次元形状を構成する2次元自由曲線を手書き等により入力する。その2次元自由曲線に基づいて、描ける曲線に制限がなく、微小変化の影響が少ない3次元NURB曲線を算出し、その3次元NURB曲線に基づいて立体形状を復元する。
【0009】
また、本発明に係る透視図3次元NURB曲線自動復元方法の1又は複数の投影面は、入力手段を介して入力される、表示手段が表示する3次元座標空間上の補助用直方体に対する回転移動又は平行移動指示に基づいて、投影面決定手段が決定する。
本発明においては、立体形状を復元する3次元座標空間上に表示された補助用直方体を回転移動又は平行移動させることにより投影面に対応した視点から補助用直方体を表示させることで視覚的に投影面を決定する。
【0010】
また、本発明に係る透視図3次元NURB曲線自動復元方法において3次元NURB曲線変換手段が3次元NURB曲線を算出する工程は、同一投影面上において面対称関係にある2次元自由曲線又は複数投影面上において立体形状の同一線を表すものと見なされる2次元自由曲線の組み合わせを抽出し、それぞれの2次元自由曲線をアフィン変換してそれぞれの端点の座標の補正を行って算出し、推定したそれぞれの点列の近傍を2次元NURB曲線が通過する際の点列通過パラメータの値に基づいて2次元NURB曲線の制御点の座標を算出し、2次元NURB曲線の制御点及び透視変換行列に基づいて算出された3次元NURB曲線の制御点の座標に基づいて3次元NURB曲線を算出する。
本発明においては、同一投影面上において面対称関係にある2次元自由曲線又は複数投影面上において立体形状の同一線を表すものと見なされる2次元自由曲線の組み合わせを抽出し、それぞれの2次元自由曲線をアフィン変換により端点の座標の補正を行って算出する。またそれぞれの点列の近傍を2次元NURB曲線が通過する際の点列通過パラメータの値を推定し、点列通過パラメータの値に基づいて2次元NURB曲線の制御点の座標を算出し、2次元NURB曲線の制御点及び透視変換行列に基づいて算出された3次元NURB曲線の制御点の座標に基づいて3次元NURB曲線を算出する。
【0011】
また、本発明に係る透視図3次元NURB曲線自動復元方法の点列通過パラメータは、点列間の距離の比例関係に基づいて設定される。本発明においては、それぞれの点列の近傍を2次元NURB曲線が通過する際の点列通過パラメータは点列間の距離に比例して設定される。
【0012】
また、本発明に係る透視図3次元NURB曲線自動復元方法は、2次元NURB曲線の制御点の座標は、2次元NURB曲線の制御点を変数とする方程式を算出し、方程式、2次元自由曲線の端点の座標、点列の座標及び点列通過パラメータの値に基づいて、点列との誤差が最小となるような変数の値を2次元NURB曲線の制御点の座標として決定する。
本発明においては、2次元NURB曲線の制御点を変数とする方程式を算出する。その方程式に2次元自由曲線の端点の座標、点列の座標及び点列通過パラメータの値によって得られる制御点間の関係式のうち点列との誤差が最小となるような変数の値を2次元NURB曲線の制御点の座標として決定する。
【0013】
また、本発明に係る透視図3次元NURB曲線自動復元方法の3次元NURB曲線の制御点の座標の算出は、透視変換行列に基づいた2次元NURB曲線の制御点と3次元NURB曲線の制御点の座標との関係式を算出し、複数の投影面間で同一の制御点の関係を表す関係式において、誤差が最小になるように3次元座標に関し関係式を解き、3次元NURB曲線の制御点の座標を算出する。
本発明においては、透視変換行列に基づいた2次元NURB曲線の制御点と3次元NURB曲線の制御点の座標との関係式を算出する。複数の投影面間で同一の制御点の関係を表す関係式において、誤差が最小になるように3次元座標に関し関係式を解き、複数の投影面間の手書き誤差を最小限に抑えた3次元NURB曲線の制御点の座標を算出する。
【0014】
また、本発明に係る透視図3次元NURB曲線自動復元方法において3次元NURB曲線変換手段が3次元NURB曲線を算出する工程は、更に透視変換行列に基づいて、算出された3次元NURB曲線の制御点の座標を1又は複数の投影面に再投影し、再投影により得られる2次元NURB曲線の制御点の座標を新たな2次元NURB曲線の制御点の座標として点列通過パラメータを再推定し、点列と、算出された2次元NURB曲線との距離の関係の変化率が収束したものと判断するまで2次元NURB曲線の制御点の座標及び点列のパラメータを再推定し、前記3次元NURB曲線を算出する。
本発明においては、算出された3次元NURB曲線の制御点の座標を1又は複数の投影面に再投影する。誤差が最小限に抑えられた3次元NURB曲線の制御点を2次元NURB曲線の制御点に変換し、それをあらたな2次元NURB曲線の制御点として点列通過パラメータを再推定し、それらに基づいて点列と、算出された2次元NURB曲線との距離の関係の変化率が収束し、誤差が抑えられるまで2次元NURB曲線の制御点の座標及び点列のパラメータを再推定し、3次元NURB曲線を算出する。
【0015】
【発明の実施の形態】
図1は本発明の第1の実施の形態に係る透視図3次元NURB曲線自動復元方法を実施するためのブロック図である。図において、201はコマンド解析/処理部であり、入出力機構205を介して表示装置206、スケッチ入力手段209と接続され、入力されるコマンドの解析及び処理を行う。202は幾何処理部であり、点の座標値の集合で与えられた2次元自由曲線の座標値に基づいて、立体形状を復元する。203は記憶処理部であり、図形記憶領域204にデータを記憶するための処理を行う。205は入出力機構であり、コマンド解析/処理部201、幾何処理部202、記憶処理部203及び図形情報記憶領域204により構築された部分と表示装置206及びスケッチ入力手段209とのインターフェイスとなる部分である。スケッチ入力手段209は操作者の操作が入力される部分でありマウス207及びキーボード208で構成されている。
【0016】
図2は図1のブロック図を実際にハード構成する場合の構成図である。透視図3次元NURB曲線自動復元方法は、主としてコンピュータ上で復元処理される。図2では中央計算機101、主記憶装置102、入出力制御装置103、マウス又はタブレット104、キーボード105、外部記憶装置106及び表示装置107をシステムバス108(又はこれに類似の機構)で接続した計算機システム100で構成されている。またこれに類似するような計算機システムで構成される場合もある。
【0017】
図3は幾何処理部202の構成を示すブロック図である。図において、50は投影面決定手段50であり、投影面決定の補助とするような直方体を表示装置206に表示させるようにしておき、スケッチ入力手段からの回転又は移動指示により直方体の視点を変化表示させて操作者が視点を決定すると、その視点の透視変換行列を算出して出力する。52は同一投影図組合せ検出手段であり、あるひとつの透視投影図の2次元手書き曲線において、面対称な関係にある頂点(曲線の始点及び終点)・2次元曲線の組み合わせを検出する。54は同一投影図頂点算出手段であり、同一投影図組合せ手段52により検出された頂点の3次元座標位置を算出する。56は複数投影図組合せ手段であり、複数の透視投影図の2次元手書き曲線において、空間内で同一頂点・曲線として対応づけられる頂点(曲線の始点及び終点)・2次元自由曲線の組み合わせを検出する。58は複数投影図頂点算出手段であり、複数投影図組合せ手段56により検出された頂点の3次元座標位置を算出する。60は3次元NURB曲線変換手段であり、同一投影図組合せ検出手段52又は複数投影図組合せ検出手段54で検出された2次元NURB曲線、同一投影図頂点算出手段56又は複数投影図頂点算出手段58において算出された頂点座標、投影面上の入力点列座標及び投影面の透視変換行列に基づいて、アフィン変換(x軸又はy軸方向の拡大縮小、変形等)を行って頂点や曲線を修正しながら2次元自由曲線から3次元NURB曲線を復元する。
【0018】
ここで、NURB曲線について説明する。NURB曲線とはNonUniform Rati-onal B-Spline 曲線のことである。平面上の曲線をパラメータtを用いてパラメトリックに表現すると、例えば3次の多項式によるパラメータ曲線は、次式(1)のようになる。
R(t)=t3 P3 +t2 P2 +tP1 +P0 …(1)
となるここでP3 、P2 、P1 及びP0 はベクトルである。ベジエ曲線やB-Spline曲線はこのパラメトリック曲線形式で表現されるが、ベジエ曲線は制御点と呼ばれる点によって曲線が決定され、B-Spline曲線は曲線間の接続を制御点とは独立で行うことができる。
【0019】
これらのパラメトリック曲線は正確に表現できる形状には制限があり、正確に表現する方法の1つに有理パラメトリック曲線と呼ばれる有理の多項式の形式で表された表現がある。NURB曲線は有理パラメトリック曲線の1つであり、次式(2)で表される。
【0020】
【数1】
【0021】
ここでwi が制御点Pi に対応する重みであり、Ni,p (t)はB-Spline関数と同じである。pは曲線セグメントの次数である。これがNURB曲線である。
【0022】
図4は自由度の高い曲線や円等のプリミティブな曲線を生成する入出力動作と幾何処理部202との関係を示す図である。この図は図8及び図9の透視投影図に基づいている。図3、図4並びに図8及び図9に基づいて幾何処理部202について詳しく説明する。
【0023】
操作者は、スケッチ入力手段209より投影面1を2次元曲線の描画方向の視点として指定する(操作1)。この投影面1には、面対称であると考えられる2次元自由曲線が含まれている。このような曲線が含まれた投影面が最初に選ばれるようにする。投影面の指定には、投影面決定手段50により、補助となる直方体をあらかじめ表示手段206に表示させるようにしておき、この直方体を操作者がスケッチ入力手段209を介して回転又は移動させることにより決定させるようにしておく。
【0024】
操作者は投影面1を描画方向の視点として指定すると、2次元曲線の手書き入力を行う。曲線1が入力されても、組み合わせ対象がないため、同一投影図組合せ検出手段52は処理を行わない。また複数投影図組合せ手段56も投影面が1つしかないため、この時点では処理を行わない。曲線2、3及び4が入力されると、同一投影図組合せ検出手段52は曲線1との組み合わせ対象が入力されたことを検出する。検出された曲線の端点(立体形状の頂点)に基づいて、同一投影図頂点算出手段54は、投影面決定手段50で決定された投影面に対応する透視変換行列Mi により変換を行い、3次元上における曲線1〜曲線4の頂点の座標を決定する。座標が決定されると、曲線1〜曲線4上の点列をサンプリングする。必要なデータが3次元NURB曲線変換手段60に入力されて復元処理され、表示手段206に立体形状として表示させる(操作2)。手書きの誤差を含み、曲率が変化する自由度の高い曲線であるものの、NURB曲線の性質上、微小変化の影響を受けないので、滑らかな3次元NURB曲線を生成することができる。
【0025】
次に操作者は曲線5の入力を行う。同一投影図組合せ検出手段52は曲線5に対しては面対称の曲線が投影図90上に存在しないとする。表示手段206に表示される立体形状はそのままである(操作3)。別の投影面からの同一曲線が複数投影図組合せ検出手段56により認められると、3次元化される。
【0026】
操作4では、2次元NURB曲線による入力で、曲線6及び曲線7が楕円として入力される。この曲線6及び曲線7についても対応する曲線が投影面1上に存在ないので、表示手段206に表示される立体形状はそのままである(操作4)。曲線6及び曲線7についても別の投影面からの同一曲線が複数投影図組合せ検出手段56により認められると、3次元化される。
【0027】
曲線8を入力すると、同一投影図組合せ検出手段52は曲線8に対しては対応する曲線が投影図90上に存在しないとする。曲線9に対してはそれ自身が面対称となる曲線として存在すると判断して、同一投影図頂点算出手段54は、透視変換行列Mi により変換を行い、3次元上における曲線9の頂点の座標を決定し、曲線状の点列のサンプリングを行う。必要なデータが3次元NURB曲線変換手段60に入力され、3次元NURB曲線の制御点を出力する。3次元形状表示制御手段62は出力された3次元NURB曲線の制御点に基づいて表示手段64に立体形状を表示させる(操作5)。
【0028】
投影面1からの手書きによる2次元曲線の入力が終了すると、再度、操作者は、スケッチ入力手段209を介して表示装置206に表示されている補助用の直方体を回転、移動させ、投影面2を2次元曲線の描画方向の視点として指定する(操作6)。ここで、現在立体形状における位置が決定している曲線1、2、3、4及び9に対応し、この位置の視点で見ることのできる曲線11、12、19についてはすでに投影面2上に描かれている。したがってその曲線に基づいて他の曲線を入力していくことになる。
【0029】
操作者により曲線15が入力されると、同一投影面には組み合わせ対象がないため、同一投影図組合せ検出手段52は処理を行わない。複数投影図組合せ手段56は、投影面1及び2に基づいて、曲線5と曲線15とが同一曲線を表すものと判断する。曲線5及び曲線15に基づいて複数投影図頂点算出手段58は頂点の座標を決定し、またそれぞれの曲線の点列の座標を算出して曲線5及び15の2次元NURB曲線を生成する。その後、必要なデータが3次元NURB曲線変換手段60に入力されて復元処理され、表示手段206に立体形状として表示させる(操作7)。
【0030】
操作者により曲線16及び17が入力されると、同一投影面には組み合わせ対象がないため、同一投影図組合せ検出手段52は処理を行わない。複数投影図組合せ手段56は、投影面1及び2に基づいて、曲線6及び曲線16並びに曲線7及び曲線17とが同一曲線を表すものと判断する。曲線6及び曲線16並びに曲線7及び曲線17に基づいて複数投影図頂点算出手段58は3次元における座標を決定し、またそれぞれの曲線の点列の座標を算出して曲線6及び曲線16並びに曲線7及び曲線17の2次元NURB曲線を生成する。その後、必要なデータが3次元NURB曲線変換手段60に入力されて復元処理され、表示手段206に立体形状として表示させる(操作8)。この場合、プリミティブな楕円として認識される。
【0031】
操作者により曲線18、20及び21が入力される。曲線18が入力されても、組み合わせ対象がないため、同一投影図組合せ検出手段52は処理を行わない。また複数投影図組合せ手段56も他の投影面上においても曲線18との組合せを検出できないので処理を行わない。曲線20が入力されると、同一投影図組合せ検出手段52は曲線18と20を組合せとして検出する。検出された曲線の頂点に基づいて、同一投影図頂点算出手段54は、透視変換行列Mi により変換を行い、3次元上における曲線18及び20の頂点の座標を決定する。座標が決定されると、曲線18及び20上の点列をサンプリングする。必要なデータが3次元NURB曲線変換手段60に入力されて復元処理され、表示手段206に立体形状として表示させる。また曲線21が入力されると、同一投影図組合せ検出手段52は面対称と判断し、同様の処理を行い、表示手段206に立体形状として表示させる(操作9)。
【0032】
図5は3次元NURB曲線変換手段60の構成を表すブロック図である。図において70は初期値設定手段であり、同一投影図組合せ手段52又は複数投影図組合せ手段54により検出された2次元NURB曲線のノットベクトルU及びそれぞれの制御点につける重みWi j の初期値を設定し、2次元NURB曲線が点列近傍を通過する際の点列通過パラメータui k を推定する。72は2次元NURB曲線算出手段であり、2次元NURB曲線のノットベクトル、点列通過パラメータ及びそれぞれの制御点重みの初期値に基づいて、投影面上の点列に2次元NURB曲線を当てはめるために、2次元NURB曲線の制御点の座標を決定する。74は3次元NURB曲線算出手段であり、2次元NURB曲線算出手段72で算出された1又は複数投影面上の2次元NURB曲線の制御点に基づいて、3次元座標上に3次元NURB曲線を当てはめるために、3次元NURB曲線の制御点の座標を決定する。76は再投影手段であり、手書き誤差により2次元NURB曲線の制御点と一致しなくなった3次元NURB曲線の制御点を各投影面に再投影して、2次元NURB曲線の制御点の座標を修正し、それに基づいて各制御点の重みも修正する。78はパラメータ再推定手段であり、再投影手段76で修正された2次元NURB曲線の制御点の座標及び各制御点の重みに基づいて各投影面上での点列通過パラメータを再推定する。80は収束判定手段であり、あらためて算出された2次元NURB曲線と点列との距離の総和を算出し、全ての投影面において距離の総和が収束条件を満たしているかどうかを判断し、収束条件を満たしていると判断すると、その時に決定された3次元NURB曲線を出力する。
【0033】
図6は3次元NURB曲線変換手段60の動作手順を示す図である。また、図7は2次元NURB曲線と入力点列、3次元NURB曲線の関係を示す図である。図5、図6及び図7に基づいて3次元NURB曲線変換手段60のそれぞれの手段の動作について更に詳しく説明する。
【0034】
3次元NURB曲線をP(u)、そのノットベクトルをU、投影面上iに投影された2次元NURB曲線をPi (u)とする。図3では投影面が2つあるのでP1 (u)及びP2 (u)が存在する。
【0035】
初期値設定手段70では、ノットベクトルUは2次元NURB曲線の始点及び終点で多重度n、間隔1(等間隔)のユニフォームに設定する。また各制御点重みWi j を1.0とする。また点列通過パラメータをui k とすると、2次元NURB曲線をPi (u)が点列Si k の近傍を通過する際の点列通過パラメータui k は次式(3)で推定される(図6a)。
【0036】
【数2】
【0037】
2次元NURB曲線算出手段72では、各制御点重みWi j 及び算出した点列通過パラメータをui k に基づいて各投影面の2次元NURB曲線の制御点を求める。Pi j を2次元NURB曲線の制御点、Nn j (u)をノットベクトルU上のn次B-Spline関数とすると、次式(4)が成立する。
【0038】
【数3】
【0039】
また2次元NURB曲線をPi (u)が点列Si k の近傍を通過する条件等により、次式(5)が成立する。
【0040】
【数4】
【0041】
式(6)に最小二乗法を適用し、決定された値を式(4)に代入することで、2次元NURB曲線の制御点Pi 1 、…、Pi N-1 が求められる。なお、制御点Pi 1 、…、Pi N-1 は式(4)を満たす座標の組として求められ、最小二乗法により制御点の座標は一意に決まる(図6b)。
【0042】
3次元NURB曲線算出手段74は、2次元NURB曲線算出手段72で算出された1又は複数投影面上の2次元NURB曲線の制御点に基づいて、3次元NURB曲線の制御点の座標を決定する。NURB曲線の性質より、3次元NURB曲線の制御点と透視変換行列Mi ={mi αβ}によってある投影面に変換された2次元NURB曲線の制御点とは1対1に対応する。したがって3次元NURB曲線の制御点Pj (pjx,pjy,pjz)と2次元NURB曲線の制御点Pi j (pi jx, pi jy,0)との間には次式(6)及び(7)の関係が成立する。
【0043】
【数5】
【0044】
ここで投影面がν面存在する場合、i=1,2,…,νについてそれぞれ式(6)及び(7)が成立するので、2ν本の連立方程式が算出される。これらの連立方程式を最小二乗法に基づいてpjx,pjy,pjzについて解くことによって、それぞれの投影面上の同じ制御点に最も近い点を3次元NURB曲線の制御点Pj (pjx,pjy,pjz)とすることができる(図6c)。
【0045】
再投影手段76では3次元NURB曲線の制御点Pj (pjx,pjy,pjz)を再投影する。Pj (pjx,pjy,pjz)は各投影面の2次元NURB曲線の制御点Pi j (pi jx, pi jy,0)の最小二乗法により算出された座標値である。スケッチ誤差がない場合には、各投影面の制御点と3次元座標の制御点は一致し、3次元NURB曲線算出手段74により算出された3次元NURB曲線の制御点Pj を再投影させなくてもよい。しかし、一般的には手書きの場合にはスケッチ誤差は生じるので、現在設定されている3次元NURB曲線の制御点Pj (pjx,pjy,pjz)を2次元NURB曲線の制御点Pi j (pi jx, pi jy,0)として各投影面に再投影しても同一座標にはならない。そこで、各投影面において、再投影した座標を新たな2次元NURB曲線の制御点Pi j (pi jx, pi jy,0)と設定する。この新たな2次元NURB曲線の制御点の座標を式(4)、(5)に再度入力し、初期値を1.0としている各制御点重みWi j の修正を行う。なお、この修正した各制御点重みWi j は式(4)、(5)を満たす組として求められ、最小二乗法により各制御点重みは一意に決まる(図6d)。
【0046】
パラメータ再推定手段78は新たに算出された2次元NURB曲線の制御点Pi j (pi jx, pi jy,0)及び各制御点重みWi j に基づいて、再度点列通過パラメータui k の推定を行う。NURB曲線の場合、投影された2次元上の座標点と投影した3次元上の座標点との曲線上のパラメータが同じになるため、投影された2次元NURB曲線のパラメータが明示的に算出され、入力点列位置のパラメータを推定することができる。そこで、投影面上の点列Si k との最小距離を与える点をPi (ui k )とすると、投影面上のベクトルSi k −Pi (ui k )とPi (ui k )が直交するという条件が成立するから、次式(8)が成立する。
【0047】
【数6】
【0048】
したがってこれを満たすようなPi (ui k )を求めることにより、あらためてui k を決定する(図6e)。
【0049】
収束判定手段80は、投影面上の点列Si k と2次元NURB曲線Pi (u)との総和を次式(9)に基づいて計算する。
【0050】
【数7】
【0051】
全ての投影面においてこのeの値が前回のeの値との変化率が0になるまで(収束したと判断するまで)繰り返す。すなわち、収束したと判断しなかったときは、算出した各制御点重みWi j 及び算出した点列通過パラメータui k を2次元NURB曲線算出手段72に再度入力し、収束したと判断されるまで72〜80の各手段の動作を繰り返し行う(図6f)。
【0052】
全ての投影面において変化率が0になり、収束したと判断した場合、このときの3次元NURB曲線の制御点Pj (pjx,pjy,pjz)等の3次元NURB曲線による立体形状のデータを入出力機構205を介して表示装置206に表示させる。また、記憶処理部203を介して図形記憶領域204にデータ保存させておくことも可能である。
【0053】
以上のように第1の実施の形態によれば、スケッチ入力手段209を介して操作者により入力された投影面における手書き曲線に基づいて、幾何処理部は2次元NURB曲線を作成し、1又は複数投影面において立体形状としての組合せとなる曲線の座標等を調整しながら3次元NURB曲線に変換し、立体形状を復元して表示装置207に表示するようにしたので、NURB曲線の特性を用いて制御点間の幾何関係のみから3次元NURB曲線を算出することができるため、入力点列に含まれる手書きの誤差や微小振動が3次元形状に影響を及ぼさずに3次元自由曲線として自由度の高い3次元NURB曲線を生成し、立体形状を表示することができる。また、NURB曲線による表現が可能となったので、円や円弧のようなプリミティブな形状を生成することもできる。
【0054】
実施形態2.
なお、上述の第1の実施の形態においては、入力曲線として手書き曲線を例示したが、点の集合としての曲線の座標が入力でき、投影面が特定されるような装置であれば実施は可能である。
【0055】
【発明の効果】
以上のように本発明によれば、1又は複数の投影面を決定し、その投影面に投影された立体形状の2次元形状を2次元自由曲線として入力し、有理曲線である3次元NURB曲線を算出し、立体形状を復元するので、有理多項式曲線であるNURB曲線の性質により、正確な立体形状を復元することが可能である。また円や円弧のようなプリミティブな形状の2次曲線に対しても同様に理論的に正確な2次曲線を復元することが可能である。さらに、2次元自由曲線から3次元NURB曲線へ変換において、微小変化による影響を受けることが少ないので、手書きのような誤差を含む2次元自由曲線に対しても滑らかな3次元NURB曲線への変換が可能になり、簡単な入力で操作者のイメージに近い立体形状が得られる。
【0056】
また、本発明によれば、立体形状を表示する座標空間上に表示された補助用直方体を回転移動又は平行移動させることにより投影面を決定するので、視覚的に投影面を決定しやすくなる。
【0057】
また、本発明によれば、同一投影面上において面対称関係にある2次元自由曲線又は複数投影面上において立体形状の同一線を表すものと見なされる2次元自由曲線の組み合わせを抽出し、それぞれの2次元自由曲線をアフィン変換してそれぞれの端点の座標の補正を行うので、1又は複数投影面上における立体形状の頂点を調整することができる。
【0058】
また、本発明によれば、点列間の距離の比例関係に基づいて点列通過パラメータを推定し、点列通過パラメータに基づいて2次元NURB曲線の制御点の座標を算出し、2次元NURB曲線の制御点及び透視変換行列に基づいて3次元NURB曲線の制御点の座標を算出し、3次元NURB曲線を算出するので、表現できる曲線に制限がない有理多項式曲線であるNURB曲線の性質により、入力された曲線に対しても正確に表現することができる。
【0059】
また、本発明によれば、2次元NURB曲線の制御点を変数とする方程式を算出し、3次元における端点の座標、点列の座標及び点列のパラメータに基づいて、点列との誤差が最小となるような2次元NURB曲線を算出して、方程式に基づいて2次元NURB曲線の制御点の座標を決定するので、複数投影面における同一曲線の手書き誤差による曲率等の誤差を抑えられる。
【0060】
また、本発明によれば、透視変換行列に基づいた2次元NURB曲線の制御点と3次元NURB曲線の制御点の座標との関係式を算出し、複数の投影面間で同一の制御点の関係を表す関係式において、誤差が最小になるように関係式を解き、3次元NURB曲線の制御点の座標を算出するので、複数投影面における同一曲線の手書き誤差による曲率等の誤差を抑えられる。
【0061】
また、本発明によれば、更に、算出された3次元NURB曲線の制御点の座標を、透視変換行列に基づいて1又は複数の投影面に再投影し、再投影により得られる2次元NURB曲線の制御点の座標を新たな2次元NURB曲線の制御点の座標として点列のパラメータを再推定し、点列と算出された2次元NURB曲線との距離の関係の変化率が収束したものと判断するまで2次元NURB曲線の制御点の座標及び点列のパラメータを再推定し、3次元NURB曲線を算出するので、複数投影面における同一曲線の手書き誤差による曲率等の誤差を抑えられ、実際に意図していた立体形状に近づけて表示させることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係る透視図3次元NURB曲線自動復元方法を実施するためのブロック図である。
【図2】図1のブロック図を実際にハード構成する場合の構成図である。
【図3】幾何処理部202の構成を示すブロック図である。
【図4】自由度の高い曲線や円等のプリミティブな曲線を生成する入出力動作と幾何処理部202との関係を示す図である。
【図5】3次元NURB曲線変換手段60の構成を表すブロック図である。
【図6】3次元NURB曲線変換手段60の動作手順を示す図である。
【図7】2次元NURB曲線と入力点列、3次元NURB曲線の関係を示す図である。
【図8】投影面1を示す透視投影図90である。
【図9】投影面2を示す透視投影図92である。
【符号の説明】
201 コマンド解析/処理部
202 幾何処理部
203 記憶処理部
204 図形記憶領域
205 入出力装置
206 表示装置
207 マウス
208 キーボード
209 スケッチ入力手段
50 投影面決定手段
52 同一投影図組合せ検出手段
54 同一投影図頂点算出手段
56 複数投影図組合せ検出手段
58 複数投影図頂点算出手段
60 3次元NURB曲線変換手段
70 初期値設定手段
72 2次元NURB曲線算出手段
74 3次元NURB曲線算出手段
76 再投影手段
78 パラメータ再推定手段
80 収束判定手段[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a three-dimensional shape input method in a computer-aided three-dimensional input system, and in particular, from a two-dimensional perspective view to a three-dimensional in a CAID (computer-aided industrial design) / CAD (computer-aided design) / CG (computer graphics) system. The present invention relates to a three-dimensional automatic restoration system that restores a curve and displays it as a three-dimensional shape.
[0002]
[Prior art]
Although there are individual differences, an operator including a designer (that is, a human being) can combine a perspective drawing drawn in two dimensions and image a three-dimensional solid shape including a free curve in his / her head.
[0003]
8 and 9 are two-dimensional perspective projection images for imaging such a three-dimensional solid shape. FIG. 8 is a perspective projection diagram 90 showing the projection plane 1, and FIG. 9 is a perspective projection diagram 92 showing the
[0004]
Previously, Journal of Japan Society for Precision Engineering, vol.59, no.6, 1993, Japan Society for Precision Engineering, Japan, Furushima, Kanai, Takahashi, “Generation of 3D free curve model by automatic recognition of handwritten figures” As described in Journal D, J71-D (1988) 84, IEICE, Japan, Toshimitsu Tanaka and others, "Reconstruction of 3D shape based on generalized symmetry" A three-dimensional automatic restoration system has been developed that restores a three-dimensional solid shape from such a two-dimensional perspective projection and supports an operator's three-dimensional image.
[0005]
In such a conventional three-dimensional automatic restoration system, a two-dimensional curve drawn on a perspective projection diagram is once represented by a two-dimensional point sequence, and a three-dimensional representation is made based on the point sequence of one or a plurality of perspective projection diagrams. The three-dimensional shape is restored by applying a three-dimensional curve to the three-dimensional point sequence.
[0006]
[Problems to be solved by the invention]
However, as described above, when a three-dimensional free curve is restored from one or a plurality of perspective projection views, the two-dimensional free curve is represented by a two-dimensional point sequence and two-dimensional points on one or a plurality of projection planes. Based on the sequence, it was converted into a 3D point sequence, and the 3D shape was restored by applying a 3D curve to the 3D sequence. The perspective projection view of can not be input or input is difficult. In addition, a quadratic curve such as a circle or arc on a three-dimensional surface cannot be expressed theoretically and accurately.
[0007]
The present invention has been made to solve the above-described problems, and a two-dimensional free curve containing a handwritten error or a quadratic curve expressing a circle or an arc is input. The purpose is to obtain a three-dimensional automatic restoration system that can be expressed as a smooth three-dimensional curve or a smooth quadratic curve on a three-dimensional surface, and can obtain a three-dimensional shape close to the operator's image with a simple input. To do. Here, the free curve includes straight lines and the like.
[0008]
[Means for Solving the Problems]
The perspective view three-dimensional NURB curve automatic restoration method according to the present invention is:Projection plane determination meansDetermining one or more projection planes;Were determinedOn one or more projection planesAgainstA two-dimensional free curve that forms a two-dimensional shape when a three-dimensional shape is projected onto the projection surfaceIs entered,3D NURB curve conversion meansCalculate 3D NURB curve based on 2D free curveAnd one or more projection planesAnd a step of restoring a three-dimensional shape based on a three-dimensional NURB curve.
In the present invention, one or a plurality of projection planes are determined, and a two-dimensional free curve constituting a two-dimensional shape when a three-dimensional shape is projected onto the projection plane is input by handwriting or the like. Based on the two-dimensional free curve, a three-dimensional NURB curve is calculated which has no limitation on the curve that can be drawn and is less affected by minute changes, and a three-dimensional shape is restored based on the three-dimensional NURB curve.
[0009]
Further, one or more projection planes of the perspective view three-dimensional NURB curve automatic restoration method according to the present invention are:Displayed by the display means input via the input meansOn 3D coordinate spaceofAuxiliary rectangular parallelepipedAgainstRotation or translationBased on the instruction, the projection plane determining meansdecide.
In the present invention, the auxiliary rectangular parallelepiped displayed on the three-dimensional coordinate space for restoring the three-dimensional shape is rotated or translated to visually display the auxiliary rectangular parallelepiped from the viewpoint corresponding to the projection plane. Determine the face.
[0010]
Also, a perspective view three-dimensional NURB curve automatic restoration method according to the present invention3D NURB curve conversion meansThe step of calculating the three-dimensional NURB curve extracts a combination of two-dimensional free curves that are considered to represent two-dimensional free curves that are plane-symmetrical on the same projection plane or three-dimensional identical lines on a plurality of projection planes. , Affine transformation of each two-dimensional free curve to correct the coordinates of each end pointCalculated and estimatedThe coordinates of the control points of the two-dimensional NURB curve are calculated based on the value of the point sequence passage parameter when the two-dimensional NURB curve passes through the vicinity of each point sequence, and the control points and perspective transformation matrix of the two-dimensional NURB curve are calculated. A three-dimensional NURB curve is calculated based on the coordinates of the control points of the three-dimensional NURB curve calculated based on this.
In the present invention, a two-dimensional free curve that is plane-symmetrical on the same projection plane or a combination of two-dimensional free curves that are considered to represent the same solid line on a plurality of projection planes is extracted. The free curve is calculated by correcting the coordinates of the end points by affine transformation. Further, the value of the point sequence passing parameter when the two-dimensional NURB curve passes in the vicinity of each point sequence is estimated, and the coordinates of the control point of the two-dimensional NURB curve are calculated based on the value of the point sequence passing parameter. A three-dimensional NURB curve is calculated based on the control point of the three-dimensional NURB curve and the coordinates of the control point of the three-dimensional NURB curve calculated based on the perspective transformation matrix.
[0011]
Further, the point sequence passage parameter of the perspective view three-dimensional NURB curve automatic restoration method according to the present invention is set based on the proportional relationship of the distance between the point sequences. In the present invention, the point sequence passing parameter when the two-dimensional NURB curve passes in the vicinity of each point sequence is set in proportion to the distance between the point sequences.
[0012]
Further, in the perspective view three-dimensional NURB curve automatic restoration method according to the present invention, the coordinates of the control points of the two-dimensional NURB curve are calculated using the control points of the two-dimensional NURB curve as variables. Based on the coordinates of the end points, the coordinates of the point sequence, and the value of the point sequence passing parameter, the value of the variable that minimizes the error from the point sequence is determined as the coordinate of the control point of the two-dimensional NURB curve.
In the present invention, an equation using the control point of the two-dimensional NURB curve as a variable is calculated. In the equation, the value of a variable that minimizes the error from the point sequence among the relational expressions between the control points obtained from the coordinates of the end points of the two-dimensional free curve, the coordinates of the point sequence and the point sequence passing parameters is 2 It is determined as the coordinate of the control point of the dimension NURB curve.
[0013]
In addition, the calculation of the coordinates of the control points of the three-dimensional NURB curve in the perspective view three-dimensional NURB curve automatic restoration method according to the present invention is performed using the control points of the two-dimensional NURB curve and the control points of the three-dimensional NURB curve based on the perspective transformation matrix. The relational expression with respect to the coordinates of the three-dimensional coordinates is calculated, and in the relational expression representing the relation between the same control points among a plurality of projection planes, the relational expression is solved with respect to the three-dimensional coordinates so as to minimize the error, and the control of the three-dimensional NURB curve Calculate the coordinates of the point.
In the present invention, a relational expression between the control point of the two-dimensional NURB curve and the coordinate of the control point of the three-dimensional NURB curve based on the perspective transformation matrix is calculated. In a relational expression representing the relationship between the same control points between a plurality of projection planes, the relational expression for the three-dimensional coordinates is solved so that the error is minimized, and the three-dimensional that minimizes the handwriting error between the plurality of projection planes. The coordinates of the control points of the NURB curve are calculated.
[0014]
Also, a perspective view three-dimensional NURB curve automatic restoration method according to the present invention3D NURB curve conversion meansThe step of calculating the three-dimensional NURB curve further re-projects the coordinates of the calculated control points of the three-dimensional NURB curve on one or a plurality of projection planes based on the perspective transformation matrix, and the two-dimensional NURB obtained by the reprojection. Using the coordinates of the control points of the curve as the coordinates of the control points of the new two-dimensional NURB curve, the point sequence passing parameters are re-estimated, and the rate of change in the distance relationship between the point sequence and the calculated two-dimensional NURB curve has converged The coordinates of the control points of the two-dimensional NURB curve and the parameters of the point sequence are re-estimated until it is determined that the three-dimensional NURB curve is obtained.
In the present invention, the calculated coordinates of the control points of the three-dimensional NURB curve are reprojected on one or a plurality of projection planes. Convert the control points of the 3D NURB curve with minimal errors to the control points of the 2D NURB curve, re-estimate the point sequence passing parameters as control points of the new 2D NURB curve, Based on this, the change rate of the relationship between the distance between the point sequence and the calculated two-dimensional NURB curve converges, and the coordinates of the control points of the two-dimensional NURB curve and the parameters of the point sequence are re-estimated until the error is suppressed. A dimensional NURB curve is calculated.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram for carrying out the perspective three-dimensional NURB curve automatic restoration method according to the first embodiment of the present invention. In the figure,
[0016]
FIG. 2 is a block diagram when the block diagram of FIG. 1 is actually configured in hardware. The perspective view three-dimensional NURB curve automatic restoration method is mainly restored on a computer. In FIG. 2, a
[0017]
FIG. 3 is a block diagram showing a configuration of the
[0018]
Here, the NURB curve will be described. The NURB curve is a NonUniform Rati-onal B-Spline curve. When a curve on a plane is expressed parametrically using the parameter t, for example, a parameter curve based on a cubic polynomial is expressed by the following equation (1).
R (t) = tThreePThree+ T2P2+ TP1+ P0 ... (1)
Where PThree, P2, P1And P0Is a vector. Bezier curves and B-Spline curves are expressed in this parametric curve format. Bezier curves are determined by points called control points, and B-Spline curves must be connected independently of control points. Can do.
[0019]
These parametric curves are limited in the shape that can be accurately expressed, and one of the methods for accurately expressing them is an expression expressed in the form of a rational polynomial called a rational parametric curve. The NURB curve is one of rational parametric curves and is represented by the following equation (2).
[0020]
[Expression 1]
[0021]
Where wiIs the control point PiIs the weight corresponding to Ni, p(T) is the same as the B-Spline function. p is the order of the curve segment. This is a NURB curve.
[0022]
FIG. 4 is a diagram showing a relationship between an input / output operation for generating a primitive curve such as a curve or a circle with a high degree of freedom and the
[0023]
The operator designates the projection plane 1 as a viewpoint in the drawing direction of the two-dimensional curve from the sketch input means 209 (operation 1). The projection plane 1 includes a two-dimensional free curve that is considered to be plane symmetric. A projection plane including such a curve is selected first. In order to specify the projection plane, an auxiliary rectangular parallelepiped is displayed in advance on the display means 206 by the projection
[0024]
When the operator designates the projection plane 1 as a viewpoint in the drawing direction, the operator performs handwriting input of a two-dimensional curve. Even if the curve 1 is input, since there is no combination target, the same projection map
[0025]
Next, the operator inputs the
[0026]
In operation 4, the curve 6 and the curve 7 are input as ellipses by the input using the two-dimensional NURB curve. Since there are no corresponding curves on the projection plane 1 for the curves 6 and 7, the three-dimensional shape displayed on the display means 206 remains as it is (operation 4). The curves 6 and 7 are also three-dimensionalized when the same projection from different projection planes is recognized by the multiple projection combination detection means 56.
[0027]
When the curve 8 is input, the same projection map
[0028]
When the input of the two-dimensional curve by handwriting from the projection plane 1 is completed, the operator again rotates and moves the auxiliary rectangular parallelepiped displayed on the
[0029]
When the curve 15 is input by the operator, since there is no combination target on the same projection plane, the same projection map
[0030]
When the curves 16 and 17 are input by the operator, there is no combination target on the same projection plane, so the same projection
[0031]
[0032]
FIG. 5 is a block diagram showing the configuration of the three-dimensional NURB
[0033]
FIG. 6 is a diagram showing an operation procedure of the three-dimensional NURB
[0034]
A three-dimensional NURB curve is P (u), its knot vector is U, and a two-dimensional NURB curve projected onto i on the projection plane is Pi(U). In FIG. 3, there are two projection planes.1(U) and P2(U) exists.
[0035]
In the initial value setting means 70, the knot vector U is set to a uniform with a multiplicity of n and an interval of 1 (equal interval) at the start and end points of the two-dimensional NURB curve. Each control point weight Wi jIs 1.0. Also, the point sequence passing parameter is ui kThen the two-dimensional NURB curve is Pi(U) is the point sequence Si kParameter passing parameter u when passing in the vicinity ofi kIs estimated by the following equation (3) (FIG. 6a).
[0036]
[Expression 2]
[0037]
In the two-dimensional NURB curve calculation means 72, each control point weight Wi jAnd the calculated point sequence passing parameter ui kBased on the above, the control points of the two-dimensional NURB curve of each projection plane are obtained. Pi jIs the control point of the two-dimensional NURB curve, Nn jWhen (u) is an n-order B-Spline function on the knot vector U, the following expression (4) is established.
[0038]
[Equation 3]
[0039]
Also, the two-dimensional NURB curve is Pi(U) is the point sequence Si kThe following equation (5) is established depending on the condition of passing through the vicinity of.
[0040]
[Expression 4]
[0041]
By applying the least square method to equation (6) and substituting the determined value into equation (4), control point P of the two-dimensional NURB curvei 1... Pi N-1Is required. Note that the control point Pi 1... Pi N-1Is obtained as a set of coordinates satisfying Equation (4), and the coordinates of the control point are uniquely determined by the least square method (FIG. 6b).
[0042]
The three-dimensional NURB curve calculation means 74 determines the coordinates of the control points of the three-dimensional NURB curve based on the control points of the two-dimensional NURB curve on one or a plurality of projection planes calculated by the two-dimensional NURB curve calculation means 72. . From the nature of the NURB curve, the control points of the three-dimensional NURB curve and the perspective transformation matrix Mi= {Mi αβ} Has a one-to-one correspondence with the control points of the two-dimensional NURB curve converted into a certain projection plane. Therefore, the control point P of the three-dimensional NURB curvej(Pjx, Pjy, Pjz) And two-dimensional NURB curve control point Pi j(Pi jx, pi jy, 0) holds the relationship of the following equations (6) and (7).
[0043]
[Equation 5]
[0044]
Here, when the projection plane is a ν plane, equations (6) and (7) are established for i = 1, 2,..., Ν, respectively, and 2ν simultaneous equations are calculated. These simultaneous equations are converted to p based on the least squares method.jx, Pjy, Pjz, The closest point to the same control point on each projection plane is the control point P of the three-dimensional NURB curve.j(Pjx, Pjy, Pjz(Fig. 6c).
[0045]
In the reprojection means 76, the control point P of the three-dimensional NURB curvej(Pjx, Pjy, Pjz) Is reprojected. Pj(Pjx, Pjy, Pjz) Is the control point P of the two-dimensional NURB curve on each projection plane.i j(Pi jx, pi jy, 0) is a coordinate value calculated by the least square method. When there is no sketch error, the control point of each projection plane coincides with the control point of the three-dimensional coordinate, and the control point P of the three-dimensional NURB curve calculated by the three-dimensional NURB curve calculation means 74 is obtained.jNeed not be reprojected. However, since a sketch error generally occurs in the case of handwriting, the control point P of the currently set three-dimensional NURB curvej(Pjx, Pjy, Pjz) Is the control point P of the two-dimensional NURB curvei j(Pi jx, pi jy, 0), the same coordinates are not obtained even if reprojected onto each projection plane. Therefore, on each projection plane, the re-projected coordinates are used as control points P of a new two-dimensional NURB curve.i j(Pi jx, pi jy, 0). The coordinates of the control points of this new two-dimensional NURB curve are input again into equations (4) and (5), and each control point weight W is set to an initial value of 1.0.i jMake corrections. Each corrected control point weight Wi jIs obtained as a set satisfying equations (4) and (5), and each control point weight is uniquely determined by the least square method (FIG. 6d).
[0046]
The parameter re-estimation means 78 uses the newly calculated control point P of the two-dimensional NURB curve.i j(Pi jx, pi jy, 0) and each control point weight Wi jAgain, the point sequence passing parameter ui kEstimate In the case of a NURB curve, the parameters of the projected two-dimensional coordinate point and the projected three-dimensional coordinate point are the same, so the parameters of the projected two-dimensional NURB curve are explicitly calculated. The parameter of the input point sequence position can be estimated. Therefore, the point sequence S on the projection planei kThe point giving the minimum distance to Pi(Ui k), The vector S on the projection planei k-Pi(Ui k) And Pi(Ui k) Are orthogonal, the following equation (8) is satisfied.
[0047]
[Formula 6]
[0048]
Therefore P that satisfies thisi(Ui k), U againi kIs determined (FIG. 6e).
[0049]
Convergence determining means 80 includes a point sequence S on the projection plane.i kAnd two-dimensional NURB curve PiThe sum total with (u) is calculated based on the following equation (9).
[0050]
[Expression 7]
[0051]
This is repeated until the rate of change of the value of e from the previous value of e becomes zero (until it is determined that it has converged) on all projection planes. That is, when it is not determined that it has converged, each calculated control point weight Wi jAnd the calculated point sequence passing parameter ui kIs again input to the two-dimensional NURB curve calculating means 72, and the operations of the
[0052]
When it is determined that the rate of change has become zero on all projection planes and has converged, the control point P of the three-dimensional NURB curve at this timej(Pjx, Pjy, Pjz) And the like are displayed on the
[0053]
As described above, according to the first embodiment, the geometric processing unit creates a two-dimensional NURB curve based on the handwritten curve on the projection plane input by the operator via the sketch input unit 209, Since the three-dimensional NURB curve is converted while adjusting the coordinates or the like of the curve as a combination as a three-dimensional shape on a plurality of projection planes, and the three-dimensional shape is restored and displayed on the
[0054]
In the first embodiment described above, the handwritten curve is exemplified as the input curve, but the present invention can be implemented as long as the apparatus can input the coordinates of the curve as a set of points and specify the projection plane. It is.
[0055]
【The invention's effect】
As described above, according to the present invention, one or a plurality of projection planes are determined, a two-dimensional shape of a solid shape projected on the projection plane is input as a two-dimensional free curve, and a three-dimensional NURB curve that is a rational curve. Since the three-dimensional shape is restored, the accurate three-dimensional shape can be restored due to the nature of the NURB curve, which is a rational polynomial curve. Similarly, a theoretically accurate quadratic curve can be restored for a quadratic curve having a primitive shape such as a circle or an arc. Furthermore, since conversion from a two-dimensional free curve to a three-dimensional NURB curve is less affected by small changes, conversion to a smooth three-dimensional NURB curve is also possible for a two-dimensional free curve containing errors such as handwriting. Therefore, a three-dimensional shape close to the operator's image can be obtained with a simple input.
[0056]
Further, according to the present invention, the projection plane is determined by rotating or translating the auxiliary rectangular parallelepiped displayed on the coordinate space for displaying the three-dimensional shape, so that the projection plane can be easily determined visually.
[0057]
In addition, according to the present invention, a two-dimensional free curve that is plane-symmetrical on the same projection plane or a combination of two-dimensional free curves that are regarded as representing the same solid line on a plurality of projection planes is extracted, Since the two-dimensional free-form curve is affine transformed to correct the coordinates of the respective end points, the vertex of the three-dimensional shape on one or a plurality of projection planes can be adjusted.
[0058]
Further, according to the present invention, the point sequence passing parameter is estimated based on the proportional relationship of the distance between the point sequences, the control point coordinates of the two-dimensional NURB curve are calculated based on the point sequence passing parameter, and the two-dimensional NURB is calculated. Based on the control points of the curve and the perspective transformation matrix, the coordinates of the control points of the three-dimensional NURB curve are calculated, and the three-dimensional NURB curve is calculated. The input curve can be expressed accurately.
[0059]
In addition, according to the present invention, an equation having a control point of a two-dimensional NURB curve as a variable is calculated, and an error from the point sequence is calculated based on the coordinates of the end points, the coordinates of the point sequence, and the parameters of the point sequence in three dimensions. Since the minimum two-dimensional NURB curve is calculated and the coordinates of the control points of the two-dimensional NURB curve are determined based on the equation, errors such as curvature due to handwriting errors of the same curve on a plurality of projection planes can be suppressed.
[0060]
In addition, according to the present invention, a relational expression between the control point of the two-dimensional NURB curve and the coordinate of the control point of the three-dimensional NURB curve based on the perspective transformation matrix is calculated, and the same control point is calculated among a plurality of projection planes. In the relational expression representing the relation, the relational expression is solved so as to minimize the error, and the coordinates of the control points of the three-dimensional NURB curve are calculated, so that errors such as curvature due to handwriting errors of the same curve on a plurality of projection planes can be suppressed. .
[0061]
According to the present invention, the coordinates of the calculated control points of the three-dimensional NURB curve are further reprojected on one or a plurality of projection planes based on the perspective transformation matrix, and the two-dimensional NURB curve obtained by the reprojection. The coordinates of the point sequence are re-estimated using the control point coordinates of the new two-dimensional NURB curve as the control point coordinates, and the rate of change in the distance relationship between the point sequence and the calculated two-dimensional NURB curve is converged. Until the judgment is made, the coordinates of the control points of the two-dimensional NURB curve and the parameters of the point sequence are re-estimated and the three-dimensional NURB curve is calculated. Can be displayed close to the intended three-dimensional shape.
[Brief description of the drawings]
FIG. 1 is a block diagram for carrying out a perspective three-dimensional NURB curve automatic restoration method according to a first embodiment of the present invention.
FIG. 2 is a configuration diagram when the block diagram of FIG. 1 is actually configured in hardware.
3 is a block diagram showing a configuration of a
4 is a diagram illustrating a relationship between an input / output operation for generating a primitive curve such as a curve or a circle with a high degree of freedom and a
5 is a block diagram showing a configuration of a three-dimensional NURB curve conversion means 60. FIG.
6 is a diagram showing an operation procedure of a three-dimensional NURB
FIG. 7 is a diagram showing a relationship between a two-dimensional NURB curve and an input point sequence and a three-dimensional NURB curve.
FIG. 8 is a perspective projection view 90 showing the projection plane 1;
9 is a perspective projection view 92 showing the
[Explanation of symbols]
201 Command analysis / processing section
202 Geometric processing unit
203 Storage processing unit
204 Figure storage area
205 I / O device
206 Display device
207 mouse
208 keyboard
209 Sketch input means
50 Projection plane determining means
52 Same projection view combination detection means
54 Same-projection vertex calculation means
56 Plural projection combination detection means
58 Multiple projection figure vertex calculation means
60 Three-dimensional NURB curve conversion means
70 Initial value setting means
72 Two-dimensional NURB curve calculation means
74 Three-dimensional NURB curve calculation means
76 Reprojection means
78 Parameter re-estimation means
80 Convergence judging means
Claims (10)
同一及び複数投影図組み合わせ検出手段が前記立体形状の頂点となる前記2次元自由曲線の端点の座標を算出し、また前記2次元自由曲線上の点をサンプリングし、点列の座標を算出する工程と、
同一及び複数投影図頂点算出手段が前記2次元自由曲線の端点の座標及び前記投影面に基づいて決定される透視変換行列に基づいて3次元座標における前記立体形状の頂点の座標を算出する工程と、
前記3次元座標上の頂点、前記点列の座標及び透視変換行列に基づいて3次元NURB曲線変換手段が3次元NURB曲線を算出し、算出した前記1又は複数の投影面の前記3次元NURB曲線に基づいて立体形状を復元する工程とを有することを特徴とする透視図3次元NURB曲線自動復元方法。A step projection plane determining means for determining one or more projection surfaces, wherein one or more of the projection plane, two-dimensional free curve input means constituting the two-dimensional shape when projected a three-dimensional shape to the projection surface It is input through, and based on the two-dimensional free curve input to the one or more projection surfaces,
A step of calculating the coordinates of the end points of the two-dimensional free curve, which is the vertex of the three-dimensional shape, and sampling the points on the two-dimensional free curve and calculating the coordinates of the point sequence When,
A step of the same and a plurality projection drawing vertex calculation means calculates the coordinates of the vertices of the three-dimensional shape in a coordinate and three-dimensional coordinates based on the perspective transformation matrix determined based on the projection plane of the end point of the two-dimensional free curve ,
A three- dimensional NURB curve converting means calculates a three-dimensional NURB curve based on the vertex on the three-dimensional coordinate, the coordinates of the point sequence, and the perspective transformation matrix, and the calculated three-dimensional NURB curve of the one or more projection planes. And a step of restoring a three-dimensional shape based on the three-dimensional NURB curve automatic restoration method.
座標データに基づいて2次元又は3次元の曲線を表示する表示手段と、
該表示手段に補助直方体を表示させ、前記入力手段から入力される前記補助直方体の回転移動指示又は平行移動指示により決定される1又は複数の投影面に基づいた透視変換行列を出力する投影面決定手段と、
前記入力される2次元自由曲線の座標データに基づいて同一投影面上で面対称となる2次元自由曲線の組合せ及び前記2次元自由曲線の点列を検出する同一投影図組合せ検出手段と、
前記透視変換行列及び前記面対称となる2次元自由曲線の頂点に基づいて3次元NURB曲線の端点の座標を算出する同一投影図頂点算出手段と、
前記入力される2次元自由曲線の座標データに基づいて複数投影面上で立体形状上の同一曲線の組合せ及び前記2次元自由曲線の点列をを検出する複数投影図組合せ検出手段と、
前記透視変換行列及び立体形状上の同一曲線の頂点に基づいて3次元NURB曲線の頂点の座標を算出する複数投影図頂点算出手段と、
前記透視変換行列、前記2次元自由曲線の点列及び3次元NURB曲線の頂点の座標に基づいて3次元NURB曲線の座標データを前記表示手段に出力する3次元NURB曲線変換手段とを備えたことを特徴とする透視図3次元NURB曲線自動復元装置。An input means for inputting instructions or coordinate data of a two-dimensional free curve;
Display means for displaying a two-dimensional or three-dimensional curve based on the coordinate data;
Projection plane determination for displaying an auxiliary rectangular parallelepiped on the display means and outputting a perspective transformation matrix based on one or more projection planes determined by a rotational movement instruction or a parallel movement instruction of the auxiliary rectangular parallelepiped input from the input means Means,
Same-projection-combination detection means for detecting a combination of two-dimensional free curves that are plane-symmetrical on the same projection plane based on the input coordinate data of the two-dimensional free curves and a point sequence of the two-dimensional free curves;
The same projection vertex calculation means for calculating the coordinates of the end points of the three-dimensional NURB curve based on the perspective transformation matrix and the vertex of the two-dimensional free curve that is plane-symmetric;
A plurality of projection map combination detection means for detecting a combination of the same curve on a three-dimensional shape and a point sequence of the two-dimensional free curve on a plurality of projection planes based on the input coordinate data of the two-dimensional free curve;
A plurality of projection drawing vertex calculation means for calculating the coordinates of the vertex of the three-dimensional NURB curve based on the perspective transformation matrix and the vertex of the same curve on the three-dimensional shape;
3D NURB curve conversion means for outputting coordinate data of the 3D NURB curve to the display means based on the perspective transformation matrix, the point sequence of the 2D free curve and the coordinates of the vertex of the 3D NURB curve. A perspective view three-dimensional NURB curve automatic restoration device characterized by
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP07014997A JP3799511B2 (en) | 1997-03-24 | 1997-03-24 | Perspective 3D NURB curve automatic restoration method and apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP07014997A JP3799511B2 (en) | 1997-03-24 | 1997-03-24 | Perspective 3D NURB curve automatic restoration method and apparatus |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH10269380A JPH10269380A (en) | 1998-10-09 |
| JP3799511B2 true JP3799511B2 (en) | 2006-07-19 |
Family
ID=13423241
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP07014997A Expired - Fee Related JP3799511B2 (en) | 1997-03-24 | 1997-03-24 | Perspective 3D NURB curve automatic restoration method and apparatus |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3799511B2 (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4397372B2 (en) | 2005-12-28 | 2010-01-13 | トヨタ自動車株式会社 | 3D shape data creation method, 3D shape data creation device, and 3D shape data creation program |
| JP5004109B2 (en) | 2010-05-27 | 2012-08-22 | トヨタ自動車株式会社 | 3D shape data creation method, 3D shape data creation device, and 3D shape data creation program |
| CN112330786B (en) * | 2020-11-03 | 2025-02-28 | 阳光保险集团股份有限公司 | A method and device for generating three-dimensional deformed text image |
| CN114117666B (en) * | 2021-11-16 | 2024-04-19 | 吉林大学 | A method for shaping blades of hydraulic torque converter |
-
1997
- 1997-03-24 JP JP07014997A patent/JP3799511B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH10269380A (en) | 1998-10-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3178528B2 (en) | A method for estimating volumetric distance maps from two-dimensional depth images | |
| JP6585838B2 (en) | Image distortion processing method and apparatus, and computer storage medium | |
| US7868885B2 (en) | Direct manipulation of subdivision surfaces using a graphics processing unit | |
| US9881417B2 (en) | Multi-view drawing apparatus of three-dimensional objects, and method | |
| WO1998006066A1 (en) | System and method for modeling a three-dimensional object | |
| CN1954340A (en) | Image processing system for automatic segmentation of a 3-d tree-like tubular surface of an object, using 3-d deformable mesh models | |
| JPH05266146A (en) | Object shape expression device | |
| Xi et al. | Analysis of segmented human body scans | |
| JP4526121B2 (en) | Method for calculating intersection of triangle and line segment and its program | |
| CN115546409A (en) | A method for automatic generation of 3D face model | |
| Hilton et al. | From 3d shape capture to animated models | |
| JP3799511B2 (en) | Perspective 3D NURB curve automatic restoration method and apparatus | |
| JP2832463B2 (en) | 3D model reconstruction method and display method | |
| WO2025242011A1 (en) | Three-dimensional model reconstruction method based on multi-source input and apparatus | |
| US7477253B2 (en) | Storage medium storing animation image generating program | |
| JP2025037255A (en) | Method for modifying a 3D model by using a partial sketch - Patents.com | |
| JP2005149245A (en) | Cad system, curved surface analysis device, curved surface reproducing device, and method and program therefor | |
| JP3642923B2 (en) | Video generation processing apparatus and structured data creation apparatus for creating structured data used in the apparatus | |
| US20020013684A1 (en) | Method of and device for modifying standard model | |
| Ermes et al. | A photogrammetric measurement method using CSG models | |
| Teutsch et al. | Evaluation and correction of laser-scanned point clouds | |
| CA2509626A1 (en) | Method and apparatus for generating m-degree forms in a n-dimension space | |
| JP4017351B2 (en) | 3D model generation apparatus and 3D model generation program | |
| JP2025037254A (en) | Method for modifying a 3D model by using partial sketches in an AR/VR environment - Patents.com | |
| Muraki et al. | Curve Mesh Modeling Method of Trimmed Surfaces for Direct Modeling |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051206 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060201 |
|
| 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: 20060328 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060412 |
|
| 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: 20090512 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120512 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |