(57)【特許請求の範囲】
【請求項１】
３次元物体の構造モデルを、像面に投影された前記物体を表す、前記物体の２次元画像に関連してオペレータによって与えられたシェーディングによって生成するコンピュータ・グラフィックス・システムであって、
Ａ．前記画像の少なくとも一部分の輝度レベルの変化を表す、前記オペレータによって与えられたシェーディング情報を受信するように構成されたオペレータ入力装置と、
Ｂ．前記オペレータ入力装置から前記シェーディング情報を受信し、それに応答して、前記物体の更新された構造モデルを生成するように構成され、かつ前記シェーディング情報を用いて前記の更新された構造モデルの少なくとも１つの構造的特徴を求めるモデル発生器と、
Ｃ．前記更新された構造モデルによって画定された、前記物体の前記画像を表示するように構成された物体表示装置と
を有するコンピュータ・グラフィックス・システム。
【請求項２】
前記オペレータ入力装置がペンおよびディジタイザを有する、請求の範囲第１項に記載のコンピュータ・グラフィックス・システム。
【請求項３】
前記オペレータの制御下で、前記更新された構造モデルを前記物体の最終構造モデルとして蓄積するように構成された、更新された構造モデルの記憶装置をさらに有する、請求の範囲第１項に記載のコンピュータ・グラフィックス・システム。
【請求項４】
前記物体に対する初期構造モデルを生成するように構成された初期モデル発生器をさらに有し、前記物体表示装置は前記初期構造モデルによって規定された前記物体の初期画像を初めに前記オペレータに表示する、請求の範囲第１項に記載のコンピュータ・グラフィックス・システム。
【請求項５】
前記初期構造モデルが、前記コンピュータ・グラフィックス・システムによって与えられたデフォルト初期構造モデルを有する、請求の範囲第４項に記載のコンピュータ・グラフィックス・システム。
【請求項６】
前記初期構造モデルが、前記オペレータによって少なくとも１つの基準画素に対して与えられたシェーディング入力に応答して生成される、請求の範囲第４項に記載のコンピュータ・グラフィックス・システム。
【請求項７】
前記モデル発生器が、
Ａ．前記画像のオペレータによって与えられた前記シェーディングの更新から、前記物体の少なくとも一部分に対する更新された法線ベクトルを生成するように構成された更新法線ベクトル発生器と、
Ｂ．前記更新された法線ベクトルから、前記物体の前記少なくとも一部分に対する更新された高さ値であって、前記像面からの前記物体の前記少なくとも一部分の高さを表している更新された高さ値を生成し、それによって前記物体の前記少なくとも一部分に対する前記物体の前記構造モデルを更新するように構成された更新高さ値発生器と
を有する、請求の範囲第１項に記載のコンピュータ・グラフィックス・システム。
【請求項８】
前記更新法線ベクトル発生器が、「Ｌ」が前記物体に対する照明レベルおよび照明方向を示す照明ベクトルを表し、「Ｉ」が前記像面上に表示される前記物体の前記少なくとも一部分の輝度を表すとして、
ｎ1・Ｌ＝Ｉ
にしたがって前記物体の前記少なくとも一部分に対する前記更新された法線ベクトルｎ1を選択するように構成されている、請求の範囲第７項に記載のコンピュータ・グラフィックス・システム。
【請求項９】
前記更新された法線ベクトルが所定の大きさを有する、請求の範囲第８項に記載のコンピュータ・グラフィックス・システム。
【請求項１０】
前記所定の大きさが「１」である、請求の範囲第９項に記載のコンピュータ・グラフィックス・システム。
【請求項１１】
前記更新法線ベクトル発生器は、ｎ0が前記シェーディングより前の前記物体の前記少なくとも一部分に対する法線ベクトルを表すものとして、
ｎ1・（ｎ0×Ｌ）＝０
にしたがって前記物体の前記少なくとも一部分に対する前記更新された法線ベクトルｎ1を選択するようにさらに構成されている、請求の範囲第８項に記載のコンピュータ・グラフィックス・システム。
【請求項１２】
前記更新法線ベクトル発生器は、εδを所定の値として、
｜（ｎ1、ｎ0×Ｌ）｜＜εδ
にしたがって前記物体の前記少なくとも一部分に対する前記更新された法線ベクトルｎ1を選択するようにさらに構成されている、請求の範囲第８項に記載のコンピュータ・グラフィックス・システム。
【請求項１３】
前記更新高さ値発生器は、ベジエ・バーンスタイン補間法によって前記更新された高さ値を生成するように構成されている、請求の範囲第７項に記載のコンピュータ・グラフィックス・システム。
【請求項１４】
前記更新高さ値発生器は、前記物体の前記少なくとも一部分に対する前記像面に沿った複数の方向に沿った複数の高さ値に対する前記更新された高さ値を生成するように構成されている、請求の範囲第１３項に記載のコンピュータ・グラフィックス・システム。
【請求項１５】
前記モデル発生器は、複数の解像度レベルを有する前記構造モデルの階層的表面表示を生成するように構成されている、請求の範囲第１項に記載のコンピュータ・グラフィックス・システム。
【請求項１６】
前記物体表示装置は複数の画像解像度レベルにおける前記画像を表示するように構成されており、前記モデル発生器はそれぞれが個々の画像解像度レベルに対応する複数の階層的表面解像度レベルにおける前記構造モデルの前記階層的表面表示を生成するように構成されている、請求の範囲第１５項に記載のコンピュータ・グラフィックス・システム。
【請求項１７】
前記モデル発生器は、前記オペレータが前記個々の画像解像度レベルのシェーディング情報を与えるのに応答して、前記複数の階層的表面解像度レベルを生成するように構成されている、請求の範囲第１６項に記載のコンピュータ・グラフィックス・システム。
【請求項１８】
３次元物体の構造モデルを、像面に投影された前記物体を表す前記物体の２次元画像に関連してオペレータによって与えられるシェーディングによって生成する、コンピュータによって実行されるグラフィックス方法であって、
Ａ．前記画像の少なくとも一部分の輝度レベルの変化を表す、前記物体の前記画像に関連して前記オペレータによって与えられるシェーディング情報を受信する段階と、
Ｂ．前記シェーディング情報に応答して、前記物体の更新された構造モデルを生成し、前記シェーディング情報は前記物体の更新された構造モデルの少なくとも１つの構造的特徴を求めるのに使用されるモデル生成段階と、
Ｃ．前記更新された構造モデルによって画定される前記物体の前記画像を表示する段階と
を有する、３次元物体の構造モデルを生成する、コンピュータによって実行されるグラフィックス方法。
【請求項１９】
前記オペレータの制御の下で、前記更新された構造モデルを前記物体に対する最終構造モデルとして蓄積する段階をさらに有する、請求の範囲第１８項に記載の方法。
【請求項２０】
前記物体に対する初期構造モデルを生成し、前記オペレータに表示する初期モデル生成段階をさらに有する、請求の範囲第１８項に記載の方法。
【請求項２１】
前記初期構造モデルがデフォルト初期構造モデルを有する、請求の範囲第２０項に記載の方法。
【請求項２２】
前記初期構造モデルが、少なくとも１つの基準画素に対して前記オペレータによって与えられるシェーディング入力に応答して生成される、請求の範囲第２０項に記載の方法。
【請求項２３】
前記モデル生成段階が、
Ａ．前記オペレータによって与えられる前記画像の前記シェーディングの更新から、前記物体の少なくとも一部分に対する更新された法線ベクトルを生成する段階と、
Ｂ．前記更新された法線ベクトルから、前記物体の前記少なくとも一部分に対する更新された高さ値であって、前記像面からの前記物体の前記少なくとも一部分の高さを表している更新された高さ値を生成し、それによって前記物体の前記少なくとも一部分に対する前記物体の前記構造モデルを更新する段階と、
を有する、請求の範囲第１８項に記載の方法。
【請求項２４】
前記更新された法線ベクトルを生成する段階は、「Ｌ」が前記物体に対する照明レベルおよび照明方向を示す照明ベクトルを表し、「Ｉ」が前記像面上に表示される前記物体の前記少なくとも一部の輝度を表すものとして、
ｎ1・Ｌ＝Ｉ
にしたがって、前記物体の前記少なくとも一部に対する前記更新された法線ベクトルｎ1を選択する段階を有する、請求の範囲第２３項に記載の方法。
【請求項２５】
前記更新された法線ベクトルが所定の大きさを有する、請求の範囲第２４項に記載の方法。
【請求項２６】
前記所定の大きさが「１」である、請求の範囲第２５項に記載の方法。
【請求項２７】
前記更新された法線ベクトルを生成する段階は、「ｎ0」が前記シェーディングより前の前記物体の前記少なくとも一部分に対する法線ベクトルを表すものとして、
ｎ1・（ｎ0×Ｌ）＝０、
にしたがって、前記物体の前記少なくとも一部分に対する前記更新された法線ベクトルｎ1を選択する前記段階をさらに有する、請求の範囲第２４項に記載の方法。
【請求項２８】
前記更新された法線ベクトルを生成する段階が、εδを所定の値として、
｜（ｎ1、ｎ0×L）｜<εδ
にしたがって、前記物体の前記少なくとも一部分に対する前記更新された法線ベクトルｎ1を選択する段階をさらに有する、請求の範囲第２４項に記載の方法。
【請求項２９】
前記更新された高さ値を生成する段階がベジエ・バーンスタイン補間法によって、前記更新された高さ値を生成する段階を有する、請求の範囲第２３項に記載の方法。
【請求項３０】
前記更新された高さ値を生成する段階が、前記物体の前記少なくとも一部分に対する前記像面に沿った複数の方向に沿った複数の高さ値に対して更新された高さ値を生成する段階を有する、請求の範囲第２９項に記載の方法。
【請求項３１】
前記モデル生成段階が、複数の解像度レベルを有する前記構造モデルの階層的表面表示を生成する段階を有する、請求の範囲第１８項に記載の方法。
【請求項３２】
前記物体表示段階が、複数の画像解像度レベルにおいて前記画像を表示する段階を有し、前記モデル生成段階が、それぞれ個々の画像解像度レベルに対応する複数の階層的表面解像度レベルにおいて、前記構造モデルの前記階層的表面表示を生成する段階を有する、請求の範囲第３１項に記載の方法。
【請求項３３】
前記モデル生成段階が、前記オペレータが個々の画像解像度のシェーディング情報を与えるのに応答して、前記の複数の階層的表面解像度レベルを生成する段階を有する、請求の範囲第３２項に記載の方法。
【請求項３４】
３次元物体の構造モデルを、像面上に投影された前記物体を表す、前記物体の２次元画像に関連してオペレータによって与えられるシェーディングによって生成する処理をコンピュータに実行させるためのコンピュータ・グラフィックス・コンピュータ・プログラムを記録した記録媒体であって、
Ａ．前記画像の少なくとも一部分の輝度レベルの変化を表す、前記物体の前記画像に関連して前記オペレータによって与えられるシェーディング情報を受信するオペレータ入力手順と、
Ｂ．前記シェーディング情報を受信し、またそれに応答して、前記物体の更新された構造モデルを生成し、かつ前記シェーディング情報を用いて前記物体の更新された構造モデルの少なくとも１つの構造的特徴を求めるモデル生成手順と、
Ｃ．前記更新された構造モデルによって画定される前記物体の前記画像を表示する物体表示手順と、
をコンピュータに実行させるコンピュータ・グラフィックス・プログラムを記録した、コンピュータ読み取り可能な記録媒体。
【請求項３５】
前記オペレータの制御の下で、前記更新された構造モデルを前記物体に対する最終構造モデルとして蓄積する更新構造モデル蓄積手順をさらに有する、請求の範囲第３４項に記載の記録媒体。
【請求項３６】
前記物体に対する初期構造モデルを生成する初期モデル生成手順をさらに有し、前記物体表示手順は前記初期構造モデルによって画定される前記物体の初期画像を初めに前記オペレータに表示する、請求の範囲第３４項に記載の記録媒体。
【請求項３７】
前記初期構造モデルが、前記コンピュータによって与えられるデフォルト初期構造モデルを有する、請求の範囲第３６項に記載の記録媒体。
【請求項３８】
前記初期構造モデルが、少なくとも１つの基準画素に対して前記オペレータによって与えられるシェーディング入力に応答して生成される、請求の範囲第３６項に記載の記録媒体。
【請求項３９】
前記モデル生成手順が、
Ａ．前記オペレータによって与えられる前記画像の前記シェーディングの更新から、前記物体の少なくとも一部分に対する更新された法線ベクトルを生成する更新法線ベクトル生成手順と、
Ｂ．前記更新された法線ベクトルから、前記物体の前記少なくとも一部分に対する更新された高さ値であって、前記像面からの前記物体の前記少なくとも一部分の高さを表している更新された高さ値を生成し、それによって前記物体の前記少なくとも一部分に対する前記物体の前記構造モデルを更新する更新高さ値生成手順と
を有する、請求の範囲第３４項に記載の記録媒体。
【請求項４０】
前記更新法線ベクトル生成手順は、「Ｌ」が前記物体に対する照明レベルおよび照明方向を示す照明ベクトルを表し、「Ｉ」が前記像面上に表示される前記物体の前記少なくとも一部分の輝度を表すものとして、
ｎ1・Ｌ＝Ｉ
にしたがって、前記物体の前記少なくとも一部分に対する前記更新された法線ベクトルｎ1を選択する、請求の範囲第３９項に記載の記録媒体。
【請求項４１】
前記更新された法線ベクトルが所定の大きさを有する、請求の範囲第４０項に記載の記録媒体。
【請求項４２】
前記所定の大きさが「１」である、請求の範囲第４１項に記載の記録媒体。
【請求項４３】
前記更新法線ベクトル生成手順は、「ｎ0」が前記シェーディングより前の前記物体の前記少なくとも一部分に対する法線ベクトルを表わすものとして、
ｎ1・（ｎ0×Ｌ）＝０
にしたがって、前記物体の前記少なくとも一部分に対する前記更新された法線ベクトルｎ1を選択する、請求の範囲第４０項に記載の記録媒体。
【請求項４４】
前記更新法線ベクトル生成手順は、εδを所定の値として
｜（ｎ1、ｎ0×Ｌ）｜＜εδ
にしたがって、前記物体の前記少なくとも前記一部分に対する前記更新された法線ベクトルｎ1を選択する、請求の範囲第４０項に記載の記録媒体。
【請求項４５】
前記更新高さ値生成手順は、ベジエ・バーンスタイン補間法によって前記更新された高さ値を生成する、請求の範囲第３９項に記載の記録媒体。
【請求項４６】
前記更新高さ値生成手順は、前記物体の前記少なくとも一部分に対する前記像面に沿った複数の方向に沿った複数の高さ値に対して前記更新された高さ値を生成する、請求の範囲第４５項に記載の記録媒体。
【請求項４７】
前記モデル生成手順は、複数の解像度レベルを有する前記構造モデルの階層的表面表示を生成する、請求の範囲第３４項に記載の記録媒体。
【請求項４８】
前記物体表示手順は、複数の画像解像度レベルにおける前記画像を表示し、前記モデル生成手順は、それぞれが個々の画像解像度レベルに対応する複数の階層的表面解像度レベルにおける前記構造モデルの前記階層的表面表示を生成する、請求の範囲第４７項に記載の記録媒体。
【請求項４９】
前記モデル生成手順は、前記オペレータが個々の画像解像度レベルのシェーディング情報を与えるのに応答して前記の複数の階層的表面解像度レベルを生成する、請求の範囲第４８項に記載の記録媒体。
【発明の詳細な説明】
発明の技術分野
本発明は全体としてコンピュータ・グラフィックス、コンピュータ支援幾何学的設計などの分野に関し、特に物体の３次元モデルの生成に関する。
発明の背景
コンピュータ・グラフィックス、コンピュータ支援幾何学的設計などにおいて、芸術家、製図者など（本明細書においては以下「オペレータ」と呼ぶ）は物体の２次元像を画定する線から、コンピュータにより保持される物体の３次元モデルを生成しようと試みる。従来は、コンピュータグラフィック装置は、たとえば、物体の輪郭および／または断面を含むさまざまな２次元の線画から、３次元空間中の２次元の表面をもたらすような線に多くの操作を加えることにより、また、その物体の結果として生じるモデルの形状を修正もしくは変更するために、引き続いてこのような表面のパラメタおよび制御点に修正を加えることにより、３次元モデルを生成している。物体に対する３次元モデルが生成された後に、多くの方向のどこからでも、それを観察または表示することができる。
通常、ロボット・ビジョンあるいはマシン・ビジョン（本明細書においては一般的に「マシン・ビジョン」と呼ぶ）と呼ばれる人工知能の分野においては、既存の物体の３次元モデルをその物体のカメラにより記録された１つ以上の２次元画像から生成するために、「シェーディングによる形成」と呼ばれる方法が使われる。一般に、マシン・ビジョンにおいては、画像に記録される物体の形式はマシンにとっては最初はわかっておらず、生成される物体のモデルは、マシンあるいは他の装置により画像上に表示される物体のモデルのタイプ、たとえば、識別を容易にするために通常使用される。
シェーディングによる形成方法において、モデル化される物体は光源により照明され、また物体がモデル化される画像を記録するために、写真カメラあるいはビデオカメラのようなカメラが使用される。光源の向き、カメラの位置および物体に対する像面は既知であると仮定する。さらに、物体の表面の反射特性も既知であると仮定する。さらに、物体の表面を像面に投影するために正射影技術が使用されると仮定される。すなわち、像面上の画像を記録している陰のカメラ（implicit camera）は無限大の焦点距離を有すると仮定される。像面はｘ、ｙ座標（すなわち、像面上の任意の点は座標（ｘ、ｙ）により識別できる）軸を表し、したがってｚ軸は像面に垂直である。その結果、像面に投影されることができる物体の表面上の任意の点は座標（ｘ、ｙ、ｚ）により表示できる。像面に投影された物体の画像は２次元のドメインΩ⊂Ｒ2にわたる画像放射照度関数（imageirradiance function）Ｉ（ｘ、ｙ）により表される。一方、物体の形状はそのドメインΩに対する高さ関数ｚ（ｘ、ｙ）により与えられる。画像放射照度関数Ｉ（ｘ、ｙ）は、画像の中の各点（ｘ、ｙ）における物体の輝度を表す。シェーディングによる形成方法において、ドメイン内のすべての点（ｘ、ｙ）に対してＩ（ｘ、ｙ）が与えられると、ｚ（ｘ、ｙ）により与えられる物体の形状が決定される。
シェーディングによる形成方法を用いて物体の形状を決定するときに、次の仮定
（ｉ）光源の向きは既知である
（ｉｉ）物体の形状は連続している
（ｉｉｉ）物体の表面の反射特性は同質であり、既知である
（ｉｖ）像面内での観察できる表面の少なくとも部分上の照明は一様である
がなされる。
これらの仮定の下に、像面上の各点（ｘ、ｙ）に対する画像放射照度関数Ｉ（ｘ、ｙ）は次のように決定できる。まず、物体表面の方向の変化はｘおよびｙの両方に対する高さ関数ｚ（ｘ、ｙ）の第１の偏導関数により与えられる。
0004138018.tif 000002
ここで、ｐ−ｑスペースは勾配空間（gradient space）と呼ばれる。勾配空間のすべての点（ｐ、ｑ）は、表面勾配に対する特定の値に対応している。もし表面が連続であれば、相互偏導関数（cross partial derivative）は等しくなければならないから、ｐおよびｑに対する値は互に従属している。
0004138018.tif 000003
（もし表面が連続であれば、各偏導関数はｘおよびｙの両方に対して高さ関数ｚ（ｘ、ｙ）の第２の偏導関数を表し、またｘおよびｙは独立であるから、式（２）が成立する。）式（２）は、「積分可能性制約条件（integrability constraint）」と呼ばれている。積分可能性制約条件は、もし成立すれば、表面が平滑であり、式（１）を満足することを保証する。
画像放射照度関数Ｉ（ｘ、ｙ）と表面の方向（ｐ、ｑ）の関係は関数Ｒ（ｐ、ｑ）により与えられ、関数Ｒは反射率マップ（reflectance map）と呼ばれる。
0004138018.tif 000004
式（３）は「画像放射照度式」（image irradiance equation）と呼ばれる。例として、比較的単純な反射率マップが、ランベルト面を有する物体に対して存在する。ランベルト面は、すべての観察方向から同等に明るく見え、その明るさは表面に入射する光束（light flux）に比例している。反射ＲL（ｐ、ｑ）は、表面に垂直でベクトル
0004138018.tif 000005
により表される方向と、ベクトル
0004138018.tif 000006
により表される入射光線の方向との間の角αの余弦に比例する。すなわち、
0004138018.tif 000007
ここで、ｐ（ｘ、ｙ）、ｑ（ｘ、ｙ）および
0004138018.tif 000008
を介して与えられる
0004138018.tif 000009
は、光源の方向を与える。
通常、シェーディングによる形成は２つの段階で行われる。第１に、正規情報）
0004138018.tif 000010
を得るために、高さ関数ｚ（ｘ、ｙ）の偏導関数ｐおよびｑが決定され、第２段階で高さｚ（ｘ、ｙ）がｐおよびｑから再現される。偏導関数ｐおよびｑは、画像放射照度式（３）および積分可能性制約条件式（２）から成る連立方程式を解くことにより決定できる。画像にはノイズが多いことがあり上述の仮定はしばしば完全には満足されないので、この方法を用いても解がないかもしれない。いずれにせよ唯一の解は存在しない。
発明の概要
本発明は、オペレータなどにより、物体の３次元モデルの作成の一定の状態において、物体の２次元画像に任意の時点において加えられるシェーディングにより、物体の３次元モデルを生成する新規で改良されたシステムおよび方法を提供する。
要約すれば、本発明は、芸術家などのようなオペレータとの対話型の方法で、物体の３次元モデルの生成を容易にするコンピュータ・グラフィックス・システムを提供する。一般的には、オペレータはモデルが生成される物体の観念的画像を持っていて、またオペレータはモデルを創り出すためにコンピュータ・グラフィックス・システムと協同する。コンピュータ・グラフィックス・システムは、オペレータにより選択された回転方向、平行移動位置、およびスケーリングあるいはズーム設定から現在モデル化されている物体の１つ以上の画像を表示し、またオペレータは物体が観念的画像に対応するかどうかを決定することができる。
モデル生成プロセスにおいて、物体に対する初期モデルが初期化され、その画像がコンピュータ・グラフィックス・システムによりオペレータに表示される。表示される画像は物体に対する光源およびカメラの特定の位置を反映し、物体に相対的な光源の位置は照明方向を画定し、また物体に相対的なカメラの位置は物体の画像が投影される像面を画定する。望ましくはその像面の少なくとも１つの画素を占めているような、モデル化される物体に対して表面の無限に小さい断片を画定する任意の初期モデルを使用することができる。初期モデルは、表面の断片が投影される像面上の１つまたは複数の点に対して、その（それらの）点（複数の点）における表面の断片に対する像面からの距離を規定する表面の断片に対する個々の高さ値を識別する。像面上の個々の点の高さ値の集合は、その物体に対する初期モデルを規定する高さフィールドを有する。
モデル生成プロセスに使用される初期モデルは、コンピュータ・グラフィックス・システム自身により提供される、半球状あるいは長円体形状を規定するモデルのような複数のデフォルト・モデルの１つであってもよい。あるいは、コンピュータ・グラフィックス・システムにより提供されるオペレータ入力装置を介して、像面の少なくとも１つの画素の初期のシェーディングを与えることにより、初期モデルはオペレータにより与えられてもよい。もし初期モデルがオペレータにより与えられれば、像面上の点、すなわち画素の１つは物体に対する初期の表面断片の「基準」部分を供給するように選択されることが望ましく、基準初期表面断片部分は選択された空間的位置、回転方向および像面に対する高さ値を有し、またコンピュータ・グラフィックス・システムは、像面上の他の画素に加えられたシェーディング（もしあれば）に関して、表面の断片の残り（もしあれば）に対する初期モデルを決定する。１つの実施態様において、基準初期表面断片部分は、オペレータがシェーディングを加える第１の点、すなわち画素に対する表面断片の部分であるように選択される。さらに、その実施態様において、基準初期表面断片部分は像面に平行であるように決定されるので、像面に対して垂直なベクトルは像面に直交しており、また選択された高さ値を有する。いずれにせよ、コンピュータ・グラフィックス・システムは初期モデルの画像を表示し、特定の照明方向から照明され、像面に投影された画像は初期モデルと組み合わされた物体のシェーディングを規定する。
初期モデルが創出され、像面に投影された初期モデルと組み合わされた物体の画像が表示された後、オペレータは、たとえば、従来の感圧ペンおよびディジタイザを用いて、像面上の画像のシェーディングを更新することができる。シェーディングを更新する場合に、オペレータは画像の中の特定の点においてシェーディングを増加させ、あるいは減少させることができ、それによって、それらの点における画像の明るさ、すなわち、強度値を制御する。さらに、オペレータは、表面の断片が現在投影されている点に隣接した像面上の点にシェーディングを施すことにより、表面の断片を増すことができる。さらに、シェーディング動作の消去モードにおいて、オペレータは、たとえば、除去されるべき表面の断片の部分が投影される像面上の特定の点をシェーディングが無いと指定することにより、表面の断片の部分を除去することができる。像面の点のシェーディングが更新された後に、もし、その点がシェーディングが無いと指定されていなければ、コンピュータ・グラフィックス・システムは、個々の点の上に投影されている物体の表面の一部のその点に対する法線ベクトルを識別する更新された法線ベクトルを生成するために、更新されたシェーディングを使用し、また更新された法線ベクトルフィールドおよび高さフィールドを使用して、物体に対する更新された高さフィールドを生成する。更新された法線ベクトルフィールドおよび更新された高さフィールドは、オペレータにより施されたシェーディングに基づいて更新された物体の更新された形状に対応する物体の更新されたモデルを規定する。
物体の更新されたモデルを生成した後に、コンピュータ・グラフィックス・システムは、更新されたモデルにより規定された物体の画像をオペレータに表示することができる。もし更新されたモデルが満足できるものであれば、コンピュータ・グラフィックス・システムは、更新されたモデルを最終モデルとして保存することができる。他方、もし更新されたモデルが満足できないものであれば、オペレータはシェーディングをさらに更新することができ、それにより、コンピュータ・グラフィックス・システムがさらに更新された法線ベクトルフィールドおよび更新された高度フィールドの生成を可能し、その結果物体に対するさらに更新されたモデルを生成する。コンピュータ・グラフィックス・システムおよびオペレータは、オペレータがその物体を満足であると決定するまで、これらの動作を繰り返すことができる。
本発明にしたがって構成されたコンピュータ・グラフィックス・システムは、シェーディングによる形成方法により動作する従来技術のシステムでは必要な偏微分方程式を解く必要性を省いている。
本発明の実施態様によれば、物体に関連してオペレータが、像面上の物体の画像の投影を容易にするための多くの回転方向および空間的位置の任意の中からの物体の回転および空間的平行移動と、物体および／あるいは画像の拡大または縮小を容易にするためのスケーリングまたはズーミングを含む、従来のコンピュータ・グラフィックス操作を行うこともできる。このような実施態様において、オペレータは、任意の特定の３次元の回転および／または平行の方向および位置から、またオペレータにより選択されたスケーリングあるいはズーム設定から、画像のシェーディングを更新することができる。さらに、本発明の実施態様によれば、オペレータは、任意の時点で、あるいは、複数のこのような表面の断片から成ることがある更新された最終物体に対して、物体の表面上の２次元の調節曲線を投影することによる従来の方法で、任意の表面の断片を調節することができる。像面上にこれらの調節曲線を描くために、オペレータは適切な描画モードで動作する入力装置を使用することができる。
【図面の簡単な説明】
本発明は添付した請求の範囲に詳細に示される。本発明の上記およびその他の利点は、添付図面を参照した下記の説明によりより良く理解されよう。
図１は、オペレータなどにより、物体の３次元モデルの作成の一定の状態において、物体の２次元画像に任意の時点において加えられるシェーディングにより、物体の３次元モデルを生成する、本発明により構成されたコンピュータ・グラフィックス・システムを表す。
図２から図６までは、物体のモデルの更新を決定する際に、物体のモデルの作成の一定の状態において、物体の２次元画像に任意の時点において加えられるシェーディングにより、図１に示すコンピュータ・グラフィックス・システムにより実行される動作を理解する上で有用な概略図である。
図７は、コンピュータ・グラフィックス・システムおよびオペレータにより実行される動作を表す本発明に関連したフローチャートである。
図示する実施例の詳細な説明
図１は、オペレータなどにより、物体の３次元モデルの作成の一定の状態において、物体の２次元画像に任意の時点において加えられるシェーディングにより、物体の３次元モデルを生成する、本発明により構成されたコンピュータ・グラフィックス・システムを表す。図１を参照すると、このコンピュータ・グラフィックス・システムは、プロセッサモジュール１１と、１つ以上のオペレータ入力装置１２と、１つ以上の表示装置１３を有する。表示装置１３は一般に、表示スクリーン上でオペレータにテキストおよび／またはグラフィック形式で情報を表示するフレームバッファ、ビデオ表示用端末などを有する。コンピュータ・グラフィックス・システム１０のオペレータ入力装置１２は、一般にディジタイザ１５と組み合わせて通常使用されるペン１４と、トラックボールあるいはマウス装置１６を有する。一般的には、ペン１４とディジタイザはいくつかのモードでオペレータにより使用される。本発明に関連して特に有用な１つのモードにおいて、ペン１４とディジタイザはコンピュータ・グラフィックス・システムに更新されたシェーディング情報を提供するのに使用される。他のモードにおいては、たとえば表面トリミングおよびその他の情報のための線画のような従来のコンピュータ・グラフィックス情報をコンピュータ・グラフィックス・システム１０に入力するために、ペンおよびディジタイザがオペレータにより使用され、それによりシステム１０は従来のコンピュータ・グラッフィクスの動作を行うことができる。トラックボールあるいはマウス装置１６は、カーソルあるいはポインタをスクリーン上で画像内の特定の点に移動するために使用することができ、その点においてオペレータはペンおよびディジタイザを用いて入力をすることができる。コンピュータ・グラフィックス・システム１０は、さらにオペレータがシステム１０にテキストを入力するために使用することができるキーボード（図示せず）を有していてもよい。
プロセッサモジュール１１は一般に、１つ以上のマイクロプロセッサの形式をとるプロセッサと、メインメモリを有し、また１つ以上のディスク記憶装置を有する１つの大容量記憶装置サブシステムを有する。メモリおよびディスク記憶装置は、プロセッサにより処理されるデータおよびプログラム（総称して「情報」）を通常蓄積し、またプロセッサにより生成された処理データを蓄積する。プロセッサモジュールは、オペレータ入力装置１２および表示装置１３への接続を含み、またオペレータ入力装置１２を介しオペレータから入力される情報を受信し、入力情報を処理し、処理された情報をメモリおよび／または大容量記憶装置サブシステムに蓄積する。さらに、プロセッサモジュールは、メモリおよびディスク蓄積装置から得られた情報の一部を構成することができるビデオ表示情報と、それにより生成された処理データを、オペレータに対する表示のために、表示装置へ供給することができる。プロセッサモジュール１１は、ハードコピー出力の生成を容易にするためのプリンタのようなハードコピー出力装置への接続（図示せず）、情報の転送を容易にするための、システム１０を公衆の電話システムおよび／またはコンピュータ・ネットワークに接続するモデムおよび／あるいはネットワーク・インタフェース（同じく図示せず）、および同様な装置を有することができる。
コンピュータ・グラフィックス・システム１０は、オペレータにより与えられた入力から、ペンとディジタイザとマウスにより、３次元物体の初期および次の後の形状を規定する情報を生成し、その情報は、オペレータへ表示するためのその物体に対応する２次元画像を生成するために使用することができ、それにより物体のモデルを生成する。コンピュータ・グラフィックス・システム１０により表示される画像は、物体の画像を照明方向から照らされたように、また像面に投射されたように表し、また物体は空間的な位置と照明方向に対する回転方向を持っており、また像面およびスケーリングおよび／またはズームの設定はオペレータにより選択されたようになる。モデル生成プロセスで用いられる初期モデルは、コンピュータ・グラフィックス・システム自身に供給されたような、半球状あるいは長円体形状を規定するモデルのような、複数のデフォルトモデルの１つであってもよい。あるいは、その初期モデルは、ペン１４およびディジタイザ１５を用いて、像面の少なくとも１つの画素の初期のシェーディングを与えることにより、オペレータにより供給されてもよい。初期モデルがオペレータにより供給される場合は、像面上の画素の１つは、物体の初期の表面の断片の「基準」部を供給するよう選択され、基準初期表面断片部は、像面に関する選択された空間位置、回転方向、および高さ値を持っており、またコンピュータ・グラフィックス・システムは、像面上の他の画素に適用されるシェーディングに関し（もしあれば）、表面断片の残りに対し（もしあれば）、初期モデルを決定する。１つの実施において、基準初期表面断片部は、オペレータがシェーディングを適用する像面上の最初の画素に対して表面断片の一部となるように選択される。さらに、その実施において、基準初期表面断片部は、像面に平行になるように決定され、それにより基準初期表面断片部の法線ベクトルは、像面に垂直であり、また基準初期表面断片部はオペレータにより選択されたような高さ値を持つ。いずれにせよ、コンピュータ・グラフィックス・システムは初期モデルの画像を表示し、画像は特定の照明方向から照明され、また像面に投射されるような初期モデルに対する物体のシェーディングを示す。
オペレータは、マウスとペンとディジタザを使用して、初期物体の画像の更新されたシェーディングを供給し、および／または像面上の隣接領域にシェーディングを施すことにより物体を拡大し、またコンピュータ・グラフィックス・システム１０は、オペレータにより供給された更新されたシェーディングに基づいて物体の形状を表す更新されたモデルを生成する。シェーディングの更新において、オペレータは像面の特定の点に適用されるシェーディングの量を増加あるいは減少させることができる。さらに、オペレータはマウスあるいはトラックボールおよびペンとディジタイザを使用して、モデルにより規定された物体の表面表示のトリミングのような、画像に関連した従来のコンピュータ・グラフィックス動作を行うことができる。コンピュータ・グラフィックス・システム１０は、物体の形状を規定する更新されたモデルを生成するために、オペレータにより供給された更新されたシェーディングおよびその他のコンピュータ・グラフィックス情報を使用することができ、またさらにオペレータにより選択された個々の空間位置、回転方向、およびスケーリングおよび／あるいはズーム設定から、オペレータに表示するために更新されたモデルから２次元画像を生成することができる。更新されたモデルにより表された物体の形状が満足できるものであるとオペレータが判断した場合、オペレータは最終的な物体の形状を決定するものとして、コンピュータ・グラフィックス・システム１０に更新されたモデルを蓄積することができる。一方、オペレータが更新されたモデルにより表される物体の形状が満足できないと判定した場合には、必要により３次元の回転および変換およびスケーリングあるいはズーミングを使用するプロセスにおいて、シェーディングおよび他のコンピュータ・グラフィックスの情報をさらに更新するためにオペレータはコンピュータ・グラフィックス・システム１０と協同動作することができる。シェーディングおよび他のコンピュータ、グラフィック情報が更新されると、コンピュータ・グラフィックス・システム１０は、オペレータにより選択された回転方向、変換あるいは空間位置の設定およびスケールおよび／またはズーム設定から、モデル情報を更新し、またその情報は物体の２次元画像を供給するために再び使用される。オペレータが物体の形状が満足できると判定するまで、これらの動作は継続することができ、満足できると判定した時点でコンピュータ・グラフィックス・システム１０は、更新されたモデルの情報を最終的な物体を表示するものとして蓄積する。
物体の形状を決定するときに、コンピュータ・グラフィックス・システム１０により行われる詳細な動作と、図２から図７と関連して説明する。図２を参照すると、コンピュータ・グラフィックス・システム１０の動作において、物体の画像は、所定の数の行および列を有する画素２１（ｉ、ｊ）にモザイク状に分割された、２次元の像面２０に投射されていると仮定する。像面２０は、「ｘ」方向に延びている行と「ｙ」方向に延びている列を持つｘ、ｙカルテシアン平面を規定する。図２で参照番号２２により識別される形成されるべき物体の表面の投影は、垂直方向であり、カメラの「目」の方向はｘ、ｙ像面に垂直な「ｚ」方向である。像面状の各点は画素、すなわち「ピクセル」に対応しており、本明細書においては、ｉは［１，Ｎ］の要素であり、ｊは［１，Ｍ］の要素である▲＋▼ijにより表される。ここで「Ｎ」は列の最大数であり（指数「ｉ」は像面の列に応じて変化する）、「Ｍ」は行の最大数である（指数「ｊ」は像面の行に応じて変化する）。図２に示す例示の像面２０において、列の数「Ｎ」は８であり、行の数「Ｍ」は９である。オペレータに対して像面２０を描くために使用される表示装置１３がラスタースキャン装置である場合は、画像を表示するためにその装置により使用される走査線に、行を対応させることができる。各画素▲＋▼ij座標系の特定の点（ｘi、ｙj）に対応し、また「Ｍ」に「Ｎ」を掛けた値は画像の解像度を示す。さらに、コンピュータ・グラフィックス・システム１０は、物体が、
0004138018.tif 000011
がベクトル値である方向Ｌ＝（ｘL、ｙL、ｚL）を有する光源により照明されており、また物体の表面はランベルト面であると仮定している。像面が像面２０により表される陰のカメラが、文字「カメラ」の矢印で表されるような、像面２０に垂直な方向から像面２０を見たと仮定する。
上述のように、コンピュータ・グラフィックス・システム１０は、その物体の少なくとも無限に小さい部分を持つ物体を、初期モデルとしてモデル化するように初期化する。各画素▲＋▼ijに対し、画素上に投影している物体の部分の高さを規定する高さ値ｚ（ｘ、ｙ）は既知であり、また高さフィールドＨ（ｘ、ｙ）として下記のように定義される。
0004138018.tif 000012
ここで、「Ｖ（ｘ、ｙ）∈Ω」は、「ドメインΩ内のすべての点（ｘ、ｙ）」を指しており、ドメインΩは像面２０を指している。さらに、各画素▲＋▼ijに対して、それらの上に投影されている基本の初期物体の表面の部分の法線ｎ（ｘ、ｙ）も既知であり、法線フィールドＮとして下記のように定義される。
0004138018.tif 000013
図２において、像面２０の１つの画素に投影されている物体の表面２２の法線は、「ｎ」という文字記号を付した矢印により表される。
コンピュータ・グラフィックス・システム１０が、その初期モデルにより規定された物体を表す画像を表示した後、それは像面２０の画像として表示装置１３上でオペレータに表示されるが、オペレータはその（すなわち、その画像の）変更をペン１４およびディジタイザ１５を使用して画像のシェーディングを更新することによって、開始することができる（図１）。コンピュータ・グラフィックス・システムにより表示されるような初期モデルの画像は、それ自身は、初期モデルにより規定されたように、予め決められた照明方向から照明されたように、また像面上に投影するように、物体の形状を表すためにシェーディングされることが分かるであろう。像面の上の各画素▲＋▼ijは、画素▲＋▼ijにおける画像の相対的な輝度を表し、また逆に画素の相対的なシェーディングを表す対応する強度値Ｉ（ｘ、ｙ）（それはまた「画素値」と呼ばれる）を有する。画像の強度値、すなわち像面２０上の位置（ｘ、ｙ）における各画素▲＋▼ijの輝度を表す各画素▲＋▼ijの初期画素値がＩｏ（ｘ、ｙ）により与えられ、またシェーディング後の画素値がＩ1（ｘ、ｙ）により表される場合は、オペレータは各画素に対し下記のように画像に対しシェーディングを更新することが望ましい。
0004138018.tif 000014
ここで、「εl」（εl＞０）は、式（７）が各画素に対し満足する場合に、物体の形状がオペレータにより供給されるシェーディングに基づいて更新することができるように選択された、予め決められた限界値である。
オペレータが画素に対するシェーディングを更新した後、コンピュータ・グラフィックス・システム１０は物体の更新された形状の生成において２つの一般的な動作を実行する。特に、コンピュータ・グラフィックス・システム１０は、
（ｉ）シェーディングが更新された各画素▲＋▼ijに対して、先ず新しい法線ベクトルｎl（ｘ、ｙ）を決定し、
（ｉｉ）更新された法線ベクトルｎl（ｘ、ｙ）を生成した後に、新しい高さ値ｚ（ｘ、ｙ）を決定する。
コンピュータ・グラフィックス・システム１０は、シェーディングが更新された時、シェーディングが更新された各画素▲＋▼ijに対し、（ｉ）および（ｉｉ）の動作を実行し、それにより新しい法線ベクトルフィールドＮ（ｘ、ｙ）および高さフィールドＨ（ｘ、ｙ）を供給する。画素▲＋▼ijに対して法線ベクトルｎlの更新（上記の項目（ｉ））に関連してコンピュータ・グラフィックス・システム１０により実行される動作を図３および図４と関連して説明する。また画素▲＋▼ijに対する高さ値ｚ（ｘ、ｙ）の更新に関連して実行される動作（上記の項目（ｉｉ））を、図５および図６と関連して説明する。
初めに図３を参照すると、この図は、画素のシェーディングがオペレータにより更新された後の、参照番号３０により識別される物体の一部を表わしている。下記において、物体３０の表面上の点ｚ（ｘ、ｙ）に対して、記号「ｎ１」により識別された矢印により示される更新された法線ベクトルが、求められるべきであることが仮定される。記号「ｎ0」により識別された法線ベクトルは、更新前の表面の法線を表す。照明方向は記号「Ｌ」により識別される矢印に対応するベクトルから延びている線により表される。「Ｌ」は特に照明ベクトルを表し、その方向は物体を照明する光源からの照明の方向に基づき、またその大きさは光源により供給される物体の照明の強度を示す。その場合、更新に基づいて、可能な新しい法線ベクトルの集合、すなわち、オペレータにより供給されたシェーディングの更新後、照明ベクトルとの点積がその画素に対する画素値「Ｉ」に対応するところのベクトルの集合が、下記により規定される錐体３１の表面上に置かれている。
0004138018.tif 000015
さらに、法線ベクトルｎlは、すべての法線ベクトルの場合と同様に、予め決められた大きさの値、好ましくは値「１」、を持つように正規化されているので、更新された法線ベクトルは下記に対応した値を持つ。
0004138018.tif 000016
ここで、「‖ｎl‖」は更新された法線ベクトルｎlの大きさを示す。
式（８）と（９）はベクトルの集合と各ベクトルの大きさを規定し、その一つは点ｚ（ｘ、ｙ）における更新された物体に対する更新された法線ベクトルである。コンピュータ・グラフィックス・システム１０はその集合の中からベクトルの１つを適切に更新された法線ベクトルｎlとして、次のようにして選択する。上述のように、更新された法線ベクトルは錐体３１の表面の上にある。元の法線ベクトルｎ0と照明ベクトルＬが平行でなければ、それら（すなわち、前の法線ベクトルｎ0と照明ベクトルＬ）は平面を規定することは明らかである。これは、照明ベクトルＬが物体３０に入射する点ｚ（ｘ、ｙ）と元の法線ベクトルｎ0が物体３０に入射する点が同じ点であること、および照明ベクトルの尾と前の法線ベクトルｎ0の頭が、点ｚ（ｘ、ｙ）と共に、平面を規定するのを助ける２つの追加点を供給することにより導かれる。このようにして、参照番号３２により識別される平面が照明ベクトルＬおよび前の法線ベクトルｎ0の両方が置かれている面に構成されているならば、その平面３２は図３の線３３により表される２つの線に沿って錐体に交差する。線３３の一つは前の法線ベクトルｎ0への照明ベクトルＬの側にある錐体３１の表面にあり、また他の線３３は法線ベクトルｎ０から離れる照明ベクトルＬの側にある錐体３１の表面におり、また正しく更新された法線ベクトルｎlは前の法線ベクトルｎ0への法線ベクトルＬの側にある錐体３１上の線によって規定される。
これらの観察に基づいて、更新された法線ベクトルの方向は式（８）および下記により決定することができる。前の法線ベクトルｎ0と照明ベクトルは平面３２を形成するので、それらの乗積「ｎ0Ｌ」は平面３２に対し垂直であるベクトルを規定する。このようにして、更新された法線ベクトルｎlは、また平面３２にあるので、更新された法線ベクトルｎlと前の法線ベクトルｎ0と照明ベクトル
0004138018.tif 000017
間のクロス乗積により規定されるベクトルの点乗積は、値ゼロを持つ、すなわち、
0004138018.tif 000018
さらに、前のシェーディングと更新されたシェーディングにより供給される画素値Ｉ０とＩ１の間の差は、制限されたεl（上記の式（７））であるので、前の法線ベクトルｎ0と更新された法線ベクトルｎlの間の角δもある最大の正の値εにより制限される。したがって、式（１０）は下記のように書き換えることができる。
0004138018.tif 000019
これは図４に概略的に示される。図４は、図３に描かれた錐体３２の部分、更新された法線ベクトルｎl、および参照番号３４により識別され、更新された法線ベクトルｎ2が置かれるように強制された前の法線ベクトルからの最大の角εδを表す領域を描いている。
コンピュータ・グラフィックス・システム１０（図１）は、オペレータにより供給されたシェーディングに基づいて像面２０内の各画素▲＋▼ijに対し更新された法線ベクトルｎ1を生成し、それにより更新されたベクトルフィールドＮ（ｘ、ｙ）を生成する。コンピュータ・グラフィックス・システム１０は、画素のために更新された法線ベクトルを生成した後、その画素に対して新しい高さ値ｚ（ｘ、ｙ）を生成することができ、それにより更新されたシェーディングに基づいて高さフィールドＨ（ｘ、ｙ）を更新する。高さ値ｚ（ｘ、ｙ）の更新に関連してコンピュータ・グラフィックス・システム１０により実行される動作を図５および図６と関連して説明する。図５は図２に示す像面２０に対する例示的な更新されたシェーディングを示している。図５に示す像面２０に対して、画素▲＋▼ijは、１から８の番号により識別される行と、ＡからＩの文字により識別される範囲の列を持つ座標により与えられる。図５に示すように、更新されたシェーディングにおいて、▲＋▼E,1、ないし▲＋▼E,3、▲＋▼D,3ないし▲＋▼D,4および▲＋▼C,5ないし▲＋▼C,8の画素はすべて更新され、またコンピュータ・グラフィックスシステム１０は、更新された高さフィールドＨ（ｘ、ｙ）において画素に対する更新された高さ値として使用される、更新された高さ値ｈ（ｘ、ｙ）を生成する。それを達成するために、コンピュータ・グラフィックス・システム１０は、シェーディングが垂直方向、水平方向、および２つの対角線方向に沿って変化した、各画素▲＋▼ijに対する高さ値を生成するために、下記に説明するいくつかの動作を実行し、またその画素に対する最終の高さ値を、４つの高さ値（すなわち、垂直、水平、および２つの対角線の方向に沿った高さ値）の平均として生成する。
更新された高さ値の生成においてコンピュータ・グラフィックス・システム１０により実行される動作を像面２０の変更された画素の一つ、すなわち方向の１つ、すなわち水平方向に沿った画素▲＋▼D,4に関連して説明する。他の方向およびシェーディングが更新された他の画素に関連して実行される動作は、当業者には明白であろう。更新された高さ値の生成において、コンピュータ・グラフィックス・システム１０は、「ｎ」次の曲線Ｐ（ｔ）を規定するベジエ・バーンスタイン補間法を使用する。
0004138018.tif 000020
ここで、「ｔ」はすべての「ゼロ」と「１」の間の間隔の数値パラメータであり、またベクトルＢ1（成分（ｂix、ｂij、ｂiz）により規定される）は、曲線の端点を構成する制御点Ｂ0とＢnを持つ曲線Ｐ（ｔ）に対する「ｎ＋１」制御点を規定する。端点における曲線Ｐ（ｔ）の接線は、そのベクトルＢ0Ｂ1とＢn-1Ｂnに対応する。１つの実施例においては、コンピュータ・グラフィックス・システム１０は、更新された高さ値を生成するために３次のベジエ・バーンスタイン補間法を使用する。
0004138018.tif 000021
点Ｂ0、Ｂ1、Ｂ2、およびＢ3は、３次曲線Ｐn=3（ｔ）に対する制御点である。
画素▲＋▼D,4に対して更新された高さ値ｈ1の決定に適用される式（１３）は下記に対応する。
0004138018.tif 000022
式（１４）から、「ゼロ」に等しい「ｔ」に対して、更新された画素▲＋▼D,4の高さ値ｈ1は、画素▲＋▼C,4に対する高さ値であるｈaに対応し、また「１」に等しい「ｔ」に対して、更新された画素▲＋▼n,4の高度値ｈlは画素▲＋▼E,4に対する高さ値であるｈbに対応することが理解されよう。他方、ゼロあるいは１以外の値を持つ「ｔ」に対しては、更新された高度値ｈlは、画素▲＋▼C,4と▲＋▼E,4の高度値ｈaとｈbおよび制御点Ｂ1とＢ2に対する高さ値の関数である。
上述のように、「ｎ」次の曲線Ｐ（ｔ）に対して、端点Ｂ0とＢ1における接線はベクトルＢ0Ｂ1とＢn-1Ｂnに対応する。このようにして、図６に示した曲線Ｐn=3（ｔ）に対して、端点Ｂ0と隣接制御点Ｂ1により規定されるベクトルＢ1Ｂ0は、端点Ｂ0における曲線Ｐn=S（ｔ）の接線であり、また端点Ｂ3と隣接制御点Ｂ2により規定されるベクトルＢ2Ｂ3は端点Ｂ3におけるその曲線の接線である。したがって、ベクトルＢ1Ｂ0は画素▲＋▼C,4における法線ベクトルｎaに直交しており、ベクトルＢ2Ｂ3は画素▲＋▼E,4における法線ベクトルｎbに直交している。したがって、
0004138018.tif 000023
これから
0004138018.tif 000024
水平方向（図５）の高度値ｈ1の決定に対しては、ベクトル形式である式（１４）が、各次元「ｘ」と「ｚ」（「ｚ」次元は像面に直交している）に対して下記の数式を導く。
0004138018.tif 000025
また、
0004138018.tif 000026
ここで、式（１７）および（１８）で「ｘ」と「ｚ」の添字は、式（１４）における各ベクトルに対する各「ｘ」と「ｚ」成分を示す。式（１７）と（１８）に対して、高さ値の「ｚ」成分の値ｈ1Zのみが未知であり「ｘ」成分の値ｈ1Xは高さ値が決定されるべき画素、この場合は画素▲＋▼D,4の位置の関数であることが理解されるであろう。さらに、式（１６）は、次の２つの数式を導く。
0004138018.tif 000027
また、
0004138018.tif 000028
ここで、式（１９）および（２０）における添字「ｘ」、「ｙ」および「ｚ」は式（１６）における各ベクトルの各「ｘ」、「ｙ」および「ｚ」成分を示す。
さらに、上述のように、曲線Ｐn=3（ｔ）にはさらなる制約、特に、更新された法線ｎ1は画素▲＋▼D,4に対応する点で曲線に直交するという制約がある。図６のベクトルＢ012Ｂ123が画素▲＋▼D,4に対応する点で曲線の接線である場合は、その「ｚ」成分が更新された高さ値に対応する点ｈlはまたベクトルＢ012Ｂ123の上にある。したがって、
0004138018.tif 000029
また、
0004138018.tif 000030
図６に示す凸面の組み合わせに基づいて、
0004138018.tif 000031
および
0004138018.tif 000032
これらから
0004138018.tif 000033
また、
0004138018.tif 000034
式（２１）、（２３）、および（２５）を結合すると
0004138018.tif 000035
これから各ベクトルの「ｘ」および「ｚ」成分に対する式
0004138018.tif 000036
同様に、式（２２）、（２４）、および（２６）に対して
0004138018.tif 000037
これは各ベクトルの「ｘ」および「ｚ」成分に対する式である。
（１７）から（２０）、（２８）および（２９）の８つの式は、すべて各「ｘ」および「ｚ」成分の１次元であることが理解されよう。（１７）から（２０）、（２８）および（２９）の式に対して、６つの未知の値、すなわち、パラメタｔの値、ベクトルＢlの「ｘ」および「ｚ」成分（すなわち、値ｂ1x、ｂ1Z）ベクトルＢ2の「ｘ」および「ｚ」成分（すなわち、値ｂ2X、ｂ2Z）、画素▲＋▼D,4の点Ｐn=3（ｔ）に対するベクトルｈ1の「ｚ」成分（すなわち、値ｈ1Z）がある。（１７）ないし（２０）、（２８）および（２９）の８つの式は、当業者に明白である方法により、未知数の値の決定を十分可能にする連立方程式を定義するのに十分である。
コンピュータ・グラフィックス・システム１０は、水平方向に関して（「ｘ」座標軸に対応して）の上記の動作を行うことに加えて、画素▲＋▼D,4に対する更新された高度値ｈ1を決定するために、垂直および２つの対角線方向のそれぞれに対して上記と同様な対応した動作を行う。コンピュータ・グラフィックス・システム１０は、すべての４つの方向に対して更新された高度値を決定した後に、それらを平均する。更新された高度ベクトルの平均の「ｚ」成分は、物体の更新されたモデルに対する高さ値に対応する。
コンピュータ・グラフィックス・システム１０により実行された動作を、図７のフローチャートと関連して説明する。一般に、オペレータはコンピュータ・グラフィックス・システムによりモデル化されるべき物体の観念的なイメージを持つことが期待される。図７を参照すると、物体の初期モデルが決定され（段階１００）、コンピュータ・グラフィックス・システムは、像面（図２に示す基準像面２０）に対応した表示方向で、予め決められた照明方向に基づいてオペレータに２次元画像を表示する（段階１０１）。上述のように、初期モデルは、コンピュータ・グラフィックス・システムにより供給された半球あるいは長円体、あるいは、オペレータにより供給される形状のような、予め決められたデフォルトの形状を規定することができる。いずれにせよ、その形状は、画像の各画素の法線ベクトルおよび高さ値を規定し、初期の法線ベクトルフィールドＮ（ｘ、ｙ）および高さフィールドＨ（ｘ、ｙ）を規定する。コンピュータ・グラフィックス・システム１０が初期モデルを表示した後、オペレータは、消去およびトリミングのような従来のコンピュータ・グラフィックス・モードの複数の一つと同様に、本発明に関連したシェーディング・モードを含む、複数の動作モードの一つを選択することができる（段階１０２）。オペレータがシェーディング・モードを選択すると、たとえば、システムのペンおよびディジタイザの手段によりオペレータは２次元画像のシェーディングを更新する（段階１０３）。オペレータが段階１０３でシェーディングを画像に加えている間に、コンピュータ・グラフィックス・システム１０はオペレータにシェーディングを表示することができる。オペレータにより加えられるシェーディングは、完成した物体のそれが予め決められた照明方向から照明されて見えるような、またコンピュータ・グラフィックス・システム１０により表示された像面に投射されるような、シェーディングの表示となることが望ましい。
オペレータが段階１０３で画素に対するシェーディングを更新した時、コンピュータ・グラフィックス・システム１０はその物体のモデルの更新を生成する。更新されたモデルを生成する場合、コンピュータ・グラフィックス・システム１０は、まず上記の図３および図４に関連して述べたように、更新された法線ベクトルを、画像の各画素に対して決定し、それにより物体に対する更新された法線ベクトルフィールドを供給する（段階１０４）。その後、コンピュータ・グラフィックス・システム１０は、上記の図５および図６に関連して述べたように、更新された高さ値を、画像の各画素に対して決定し、それにより物体に対する更新された高度フィールドを供給する（段階１０５）。
更新された法線ベクトルフィールドおよび更新された高さフィールドを生成し、それにより更新された物体のモデルを供給した後、オペレータにより選択されたように画像を回転し、変換し、スケーリングし、および／あるいはズーミングするプロセスで（段階１０７）、コンピュータ・グラフィックス・システム１０は、オペレータにより選択されたように１つ以上の方向からまたズームでオペレータに対し更新されたモデルの画像を表示する（段階１０６）。オペレータが更新されたモデルが満足できると判断した場合（段階１０８）、たとえば、更新されたモデルがモデル化すべき物体のオペレータの観念的画像に対応するに至った場合、オペレータはコンピュータ・グラフィックス・システム１０に更新されたモデルを物体の最終モデルとして蓄積させることができる（段階１０９）。他方、もしオペレータが段階１０７で更新されたモデルに満足できないと判定した場合は、オペレータはコンピュータ・グラフィックス・システム１０を段階１０１に戻すことができる。
段階１０２に戻り、その段階でオペレータが、消去モードあるいはトリミング・モードのような従来の動作モードのような他の動作モードを選択すれば、コンピュータ・グラフィックス・システムは、消去の情報あるいはオペレータによりコンピュータ・グラフィックス・システム１０に供給されたトリミングおよび他の従来のコンピュータ・グラフィック情報に基づいてモデルを更新するために段階１１０へ進む。コンピュータ・グラフィックス・システムは更新されたモデルに基づいて物体の画像を表示するために段階に１０７に進む。オペレータが更新されたモデルが満足できると判定した場合（段階１０８）、オペレータはコンピュータ・グラフィックス・システム１０に更新されたモデルを物体の最終モデルとして蓄積させることができる（段階１０９）。他方、オペレータが段階１０７で更新されたモデルに満足できないと判定した場合、オペレータはコンピュータ・グラフィックス・システム１０を段階１０１に戻すことができる。
オペレータが物体の画像のシェーディングを更新し（段階１０３）、あるいは他のコンピュータ・グラフィック情報を供給した（段階１０３）時は、オペレータはコンピュータ・グラフィックス・システム１０に段階１０１，１０３ないし１０７および１１０を実行させることが可能であり、またコンピュータ・グラフィックス・システム１０は、段階１０４および１０５において、更新されたベクトルフィールド、および更新された高度フィールドを生成する。あるいは段階１１０において従来のコンピュータ・グラフィック成分を生成し、それによりその物体の更新したモデルを規定する。オペレータが段階１０８で、更新されたモデルが物体に対するオペレータの観念的画像に対応する、あるいはそうでなくとも満足であると判定した時は、オペレータはコンピュータ・グラフィックス・システム１０に更新された法線ベクトルフィールドおよび更新された高さフィールドを物体の最終モデルを規定するものとして蓄積させることができる（段階１０９）。
本発明は多くの利点を有する。特に、本発明は物体の所望の形状と、物体が特定の照明方向（像面の位置により規定される）から照明されている状態で、（像面の位置により規定される）特定の観察方向から物体上のシェーディングがどのように見えるかとを、芸術家のようなオペレータに想像することを可能にする対話型のコンピュータ・グラフィックス・システムを提供する。オペレータが所望の形状に対応するなんらかのシェーディング入力を施した後に、コンピュータ・グラフィックス・システムはシェーディングに基づいて更新された物体のモデルをオペレータに表示する。オペレータはそのモデルを最終の物体として認めることができ、あるいはさらにシェーディングを更新することもできる。後者の場合にはコンピュータ・グラフィックス・システムは物体のモデルをさらに更新する。本発明により構成されたコンピュータ・グラフィックス・システムは、シェーディングによる形成方法により動作する従来技術のシステムでは必要な偏微分方程式を解く必要性を省いている。
本発明の他の利点は、生成される物体のモデルに対する階層的表示の使用を容易にすることである。したがって、もし、たとえば、オペレータがコンピュータ・グラフィックス・システム１０に物体の縮尺を増加させ、あるいは物体を拡大させて、それにより高い解像度を得れば、画像の複数の画素が、低い解像度では単一の画素と組み合わされていたその画像の一部分を表示するであろうことは十分理解されるであろう。その場合に、もしオペレータがより高い解像度で画像のシェーディングを更新すれば、コンピュータ・グラフィックス・システムは、上述のようにシェーディングが更新される高い解像度で、各画素に対する法線ベクトルおよび高さ値を生成し、その結果更新されたシェーディングと組み合わされたモデルの部分を増大した解像度で生成および／または更新する。高い解像度において更新されたモデルの部分は、以前に低い解像度で規定されていたモデルの特定の部分と組み合わされて階層的表示を提供する。階層的表示は蓄積されてもよい。したがって、モデルにより規定された物体は、基礎をなしている表面表示における高い解像度に対応する詳細なレベルを継承する。もし、オペレータがコンピュータ・グラフィックス・システム１０に物体の縮尺を減少させ、あるいは物体を縮小させて（Zoom out）、それにより低い解像度を得れば、対応する動作を行うことができる。
図１から図７までに関連して以上述べたように、多くの変形および修正がコンピュータ・グラフィックス・システム１０に加えられても良いことは、十分理解されよう。たとえば、コンピュータ・グラフィックス・システム１０は物体モデル情報、すなわち、オペレータにより施されたシェーディングの多くの更新に対する法線ベクトルフィールド情報および高さフィールド情報を保持することができる。物体モデル情報は、コンピュータ・グラフィックス・システム１０が、個々の更新に対して物体のモデルを表示するのに使用されてもよい。このことは、オペレータが個々のモデルの画像を観察できるようにし、たとえば、オペレータが個々の更新を通じて物体の段階的な変化を見ることを可能にする。さらに、このことは、オペレータが更新の出発点として以前の更新からある１つのモデルに戻ることを可能にする。これは、たとえば特定のモデルにおいて異なるシェーディングに基づいた物体のトリーを生成することをオペレータに可能にする。
さらに、コンピュータ・グラフィックス・システム１０は、更新された高さフィールドｈ（ｘ、ｙ）を決定するために、ベジエ・バーンスタイン補間法を使用すると説明したが、テイラー多項式およびＢ−スプ線のような他の形式が用いられてもよいことは十分理解されよう。さらに、本発明に表面表示の多様な形式が使用されてもよい。実際、コンピュータ・グラフィックス・システム１０により使用されたモデル生成方法は、一般的な適用性を有するものであるから、すべての自由な形式の表面表示のほかに、たとえば、３角形、４角形、および／または５角形からなる区分的線形表面が使用できる。
さらに、コンピュータ・グラフィックス・システム１０が、正射影および単一の光源を使用すると説明したが、透視図法を含む他の形式の投影法および複数の光源が使用できることは十分理解されよう。
さらに、コンピュータ・グラフィックス・システム１０が、物体の画像のシェーディングにより物体の形状を供給すると説明したが、ペン１４およびディジタイザの適切な動作モードによって、トリミングおよび消去のようなコンピュータ・グラフィックス動作をさらに提供してもよいことは十分理解されよう。
さらに、物体がランベルト表面を有するという仮定で、本コンピュータ・グラフィックス・システムは物体のモデルを生成すると説明したが、物体の画像が与えられたとき、その他の表面処理が物体に対して使用されてもよいことは十分理解されるであろう。
本発明によるシステムは、適当なプログラムにより制御される専用ハードウエアあるいは汎用コンピュータ・システムあるいはそれらの任意の組み合わせによって全体としてまたは部分的に、構築されるうることは十分理解されるであろう。どのプログラムも、全体としてあるいは部分的に、従来の方法でコンピュータ・システムの部分を構成し、あるいはコンピュータ・システム上に蓄積されてもよい。あるいは、どのプログラムも、全体としてあるいは部分的に、ネットワークあるいは情報を転送するための他の仕組みで従来の方法によってシステムに供給されてもよい。さらに、システムはオペレータ入力要素（図示せず）を用いてオペレータにより供給される情報により、動作および／または制御されてもよいことは十分理解されよう。オペレータ入力要素は直接システムに接続されてもよく、あるいは、ネットワークあるいは情報を転送するための他の仕組みで従来の方法によって情報をシステムに転送してもよい。
前述の説明は本発明の具体的な実施例に限定されている。しかし、本発明の利点の一部あるいはすべてを保ちながら、さまざまな変形および修正が本発明に加えられてもよいことは明白であろう。添付された請求の範囲の目的は、本発明の真の範囲内のこれらの、およびこのような他の変形と修正を保護することである。
【図１】
0004138018.tif 000038
【図２】
0004138018.tif 000039
【図３】
0004138018.tif 000040
【図４】
0004138018.tif 000041
【図５】
0004138018.tif 000042
【図６】
0004138018.tif 000043
【図７】
0004138018.tif 000044
【図７Ａ】
0004138018.tif 000045