JP2009521062A - Modeling the 3D shape of an object by shading 2D images - Google Patents
Modeling the 3D shape of an object by shading 2D images Download PDFInfo
- Publication number
- JP2009521062A JP2009521062A JP2008547751A JP2008547751A JP2009521062A JP 2009521062 A JP2009521062 A JP 2009521062A JP 2008547751 A JP2008547751 A JP 2008547751A JP 2008547751 A JP2008547751 A JP 2008547751A JP 2009521062 A JP2009521062 A JP 2009521062A
- Authority
- JP
- Japan
- Prior art keywords
- model
- shading
- operator
- image
- subdivision
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/507—Depth or shape recovery from shading
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
- Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)
- Digital Computer Display Output (AREA)
Abstract
シェーディングにより生成するコンピュータグラフィックス方法であって、A.対象物の画像との関連において、画像の少なくとも一部分の明度レベルにおける変化を表現している、オペレータにより提供されるシェーディング情報を受け取るステップと、B.更新幾何学的モデルの少なくとも1つの幾何学的特徴を決定するために使用されるシェーディング情報に応じて、対象物の更新幾何学的モデルを生成するステップと、C.更新幾何学的モデルにより定義されるように対象物の画像を表示するステップと、を含み、D.前記方法は、任意の階層的細分割曲面、ポリゴンメッシュ、またはNURBS曲面のデジタル入力により作動できる。
【選択図】図13A computer graphics method generated by shading comprising: Receiving shading information provided by an operator representing a change in lightness level of at least a portion of the image in relation to the image of the object; Generating an updated geometric model of the object in response to the shading information used to determine at least one geometric feature of the updated geometric model; Displaying an image of the object as defined by the updated geometric model; D. The method can operate with digital input of any hierarchical subdivision surface, polygon mesh, or NURBS surface.
[Selection] Figure 13
Description
本発明は、コンピュータグラフィックス、コンピュータ援用幾何学的設計などの分野に関し、特に、二次元画像のシェーディングにより、対象物の三次元形状をモデル化する、改善されたシステムおよび技術に関する。 The present invention relates to the fields of computer graphics, computer-aided geometric design, and more particularly to an improved system and technique for modeling the three-dimensional shape of an object by shading two-dimensional images.
コンピュータグラフィックス、コンピュータ援用幾何学的設計などにおいては、アーティスト、製図者など(ここでは、「オペレータ」と総称する)は、コンピュータに維持される対象物の三次元モデルを、対象物の二次元ビューを定める線から生成しようと試みる。従来、コンピュータグラフィックス装置は、三次元モデルを、例えば、対象物の輪郭および/または断面を含む種々の二次元線画から生成し、そのような線に多数の操作を施して、三次元空間における二次元曲面を生成する。そして、そのような曲面のパラメータおよび制御点を修正して、対象物の結果としてのモデルの形状を補正または修正していた。対象物に対する三次元モデルが生成された後は、多数の方向のいずれからもそれを見る、または表示できる。 In computer graphics, computer-aided geometric design, etc., artists, drafters, etc. (herein collectively referred to as “operators”) use a three-dimensional model of an object maintained by a computer as a two-dimensional object. Attempts to generate from the line that defines the view. Conventionally, computer graphics devices generate a three-dimensional model from various two-dimensional line drawings including, for example, the contour and / or cross-section of an object, and perform a number of operations on such lines to produce a three-dimensional model in a three-dimensional space. Generate a two-dimensional curved surface. Then, such curved surface parameters and control points are corrected to correct or correct the shape of the model as a result of the object. Once the 3D model for the object has been generated, it can be viewed or displayed from any of a number of directions.
ロボットビジョンまたはマシンビジョン(ここでは、「マシンビジョン」と総称される)と通常称される人工知能の分野においては、「シェーディングからの形成化」と称される方法を使用して、カメラにより記録されたような対象物の1つまたは複数の二次元画像から、実在する対象物の三次元モデルを生成する。一般的には、マシンビジョンにおいては、画像上に記録された対象物のタイプは、最初はマシンにより知られてなく、生成される対象物のモデルは、例えば、マシンまたは他の装置により、画像上で示される対象物のタイプの特定を容易にするために一般的には使用される。 In the field of artificial intelligence, commonly referred to as robot vision or machine vision (collectively referred to here as “machine vision”), it is recorded by the camera using a method called “formation from shading”. A three-dimensional model of the actual object is generated from one or more two-dimensional images of the object. In general, in machine vision, the type of object recorded on the image is not initially known by the machine, and the model of the object that is generated is, for example, by the machine or other device. Generally used to facilitate identification of the type of object shown above.
シェーディングからの形成化方法においては、モデル化される対象物が光源により照らされ、写真機またはビデオカメラのようなカメラにより、画像が記録され、その画像から対象物がモデル化される。光源の方向、カメラの位置、および対象物に対する画像平面は既知であることが仮定されている。更に、対象物の表面の反射特性もまた既知であることが仮定されている。正投影技術を使用して、対象物の表面を画像平面上に投影することも更に仮定されている。つまり、画像を画像平面上に記録する、明示されていないカメラは、無限の焦点距離を有することが仮定されている。画像平面は、x、y座標軸を表現し(つまり、画像平面上の任意の点は、座標(x,y)により特定できる)、そしてz軸は、画像平面に直交する。その結果、画像平面上に投影できる対象物の曲面上の任意の点は、座標(x,y,z)により表現できる。画像平面上に投影される対象物の画像は、二次元定義域
上での画像照射関数I(x,y)により表現され、一方、対象物の形状は、定義域
上の高さ関数z(x,y)により与えられる。
In the formation method from shading, an object to be modeled is illuminated by a light source, an image is recorded by a camera such as a camera or a video camera, and the object is modeled from the image. It is assumed that the direction of the light source, the position of the camera, and the image plane for the object are known. Furthermore, it is assumed that the reflection characteristics of the surface of the object are also known. It is further assumed that the surface of the object is projected onto the image plane using orthographic projection techniques. That is, it is assumed that an unspecified camera that records an image on the image plane has an infinite focal length. The image plane represents the x, y coordinate axes (ie, any point on the image plane can be specified by coordinates (x, y)), and the z axis is orthogonal to the image plane. As a result, any point on the curved surface of the object that can be projected on the image plane can be expressed by coordinates (x, y, z). The image of the object projected on the image plane is a two-dimensional domain.
Represented by the image illumination function I (x, y) above, while the shape of the object is defined by the domain
Given by the height function z (x, y) above.
画像照射関数I(x,y)は、画像内での各点(x,y)における対象物の明度を表現している。シェーディングからの形成化方法では、定義域におけるすべての点(x,y)に対してI(x,y)が与えられれば、対象物の形状は、z(x,y)で与えられて決定される。 The image irradiation function I (x, y) represents the brightness of the object at each point (x, y) in the image. In the formation method from shading, if I (x, y) is given to all points (x, y) in the domain, the shape of the object is determined by z (x, y). Is done.
対象物の二次元画像に適用されるシェーディングにより、対象物の三次元モデルを生成する改善された方法およびシステムを提供することは望ましいことであろう。 It would be desirable to provide an improved method and system for generating a three-dimensional model of an object by shading applied to a two-dimensional image of the object.
本発明は、シェーディングにより、対象物の三次元モデルを生成する改善された方法およびシステムを提供する。 The present invention provides an improved method and system for generating a three-dimensional model of an object by shading.
本発明の1つの形態は、同一所有されている米国特許第6,724,383号明細書に記載されているシェーディングによる形成化(SBS)のシステムおよび方法を改善する。 One form of the present invention improves the shading formation (SBS) system and method described in commonly owned US Pat. No. 6,724,383.
本発明の別の形態は、本発明に従う、シェーディングによる形成化(SBS)モデラにおいて実装できる特別な整形技術、方法、およびアルゴリズムに関し、特別には、有利に信頼領域法を利用する方法とアルゴリズムに関する。 Another aspect of the present invention relates to special shaping techniques, methods and algorithms that can be implemented in a Shaded Formation (SBS) modeler according to the present invention, and more particularly to methods and algorithms that advantageously utilize trust region methods. .
・関連出願への相互参照
本特許出願は、共有されている、2004年3月5日付けで出願した、継続中の米国出願番号第10/795,704号明細書(代理人整理番号 MENT−003D1)の一部継続出願である。上記出願は、1998年2月20日付けで出願した、米国出願番号第09/027,175号(代理人整理番号 MENT−003)の分割出願であって、1997年2月21日付けで出願した、米国仮出願第60/038,888号明細書(代理人整理番号 MENT−003−PR)の利益を主張するものである。上記3つの出願を参考文献として参照により本願明細書に引用する。
また、本発明は、2005年12月20日付けで出願した、米国仮出願第60/752,230号明細書(代理人整理番号 MNTL−106−PR)、及び、2006年8月24日付けで出願した、米国仮出願第60/823,464号明細書(代理人整理番号 MENT−089−B−PR)の利益を主張するものである。これらの2つの出願も参考文献として参照により本願明細書に引用する。
さらに、ここで引用する、いずれも許可された、2001年5月9日付けで出願した、米国出願番号第09/852,906号明細書(MENT−060)、及び、2002年2月1日付けで出願した、米国出願番号第10/062,192号明細書(MENT−062)も共有されている。
本発明のこれらの、および他の形態、実施形態、実行、実装、および例は、次のような節/項に分けられている下記の詳細な説明において記載される。
I.発明を実装できるデジタル処理環境
II.SBSモデラ
III.SBSモデラの改善
3.1 序章
3.2 SBSシェーディングおよび整形処理
3.3 表面処理の改善
3.4 追加的整形アルゴリズム
3.5 SBS C++ API
3.6 プロトタイプ:3ds max用SBSプラグイン
3.7 SBSの拡張
IV.SBSモデラ内で実装される整形方法およびアルゴリズム
4.1 序章
4.2 ラスタライゼーション
4.3 最小化される関数の縮小
4.4 信頼領域ニュートン−CG法
4.5 信頼領域モデルの計算
4.6 信頼領域モデルの最小化
4.7 信頼領域ニュートン−CG法の収束
V.一般化された方法のフローチャート
Cross-reference to related applications This patent application is a co-pending US application Ser. No. 10 / 795,704 filed Mar. 5, 2004 (Attorney Docket No. MENT- 003D1) is a partial continuation application. The above application is a divisional application of US Application No. 09 / 027,175 (Attorney Docket No. MENT-003) filed on February 20, 1998, and filed on February 21, 1997. And claims the benefit of US Provisional Application No. 60 / 038,888 (Attorney Docket No. MENT-003-PR). The above three applications are incorporated herein by reference as references.
The present invention also relates to US Provisional Application No. 60 / 752,230 (attorney docket number MNTL-106-PR) filed on December 20, 2005, and dated August 24, 2006. Claims the benefit of US Provisional Application No. 60 / 823,464 (Attorney Docket No. MENT-089-B-PR). These two applications are also incorporated herein by reference as references.
In addition, all of which are hereby incorporated by reference, filed May 9, 2001, U.S. Application No. 09 / 852,906 (Ment-060), and February 1, 2002. US Application No. 10 / 062,192 (MENT-062), filed on the appendix, is also shared.
These and other aspects, embodiments, implementations, implementations, and examples of the invention are described in the detailed description below, which is divided into the following sections / sections.
I. Digital processing environment in which the invention can be implemented II. SBS modeler III. SBS Modeler Improvements 3.1 Introduction 3.2 SBS Shading and Shaping Processing 3.3 Surface Treatment Improvements 3.4 Additional Shaping Algorithms 3.5 SBS C ++ API
3.6 Prototype: SBS plug-in for 3ds max 3.7 SBS extension IV. Shaping methods and algorithms implemented within the SBS modeler 4.1 Introduction 4.2 Rasterization 4.3 Minimized function reduction 4.4 Trust region Newton-CG method 4.5 Calculation of trust region model 4.6 4. Minimization of trust region model 4.7 Convergence of trust region Newton-CG method Generalized method flow chart
I.発明を実装できるデジタル処理環境
本発明の特別な例と実施形態を説明する前に、下記に、本発明が実装および実行できる基盤となるデジタル処理構造および環境についての、図1〜図4と関連して読むべき検討を示す。
I. Digital Processing Environment in Which the Invention can be Implemented Before describing specific examples and embodiments of the invention, the following is a description of the digital processing structure and environment on which the invention can be implemented and implemented, in conjunction with FIGS. And give a review to read.
当業者は、本発明を、動画または他の動的表示における表示に対するように、画像の生成および合成に利用できるということを理解するであろう。ここで説明する技術は、コンピュータグラフィックスシステムの一部として実行することができ、そこにおいて、ピクセル値が画像内のピクセルに対して生成される。ピクセル値は、シミュレートされたカメラの画像平面上に記録される場面における点を表現している。基盤となるコンピュータグラフィックスシステムは、本発明の方法のような、ある選択された方法を使用して、画像に対してピクセル値を生成するように構成できる。 One skilled in the art will appreciate that the present invention can be used for image generation and composition, such as for display in moving images or other dynamic displays. The techniques described herein can be implemented as part of a computer graphics system where pixel values are generated for pixels in the image. Pixel values represent points in the scene that are recorded on the image plane of the simulated camera. The underlying computer graphics system can be configured to generate pixel values for the image using some selected method, such as the method of the present invention.
下記の詳細な説明は、これらの技術に従う方法、構造、システム、およびコンピュータソフトウェア製品の例を示している。当業者には、記載される方法およびシステムが、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアの組合せにおいて、スタンドアロン構成またはネットワークを介して、Microsoft Windows、Linux、またはUnixのような従来のオペレーティングシステムに従って(またはエミュレーションにより)作動する、パーソナルコンピュータ(PC)または等価の装置のような従来のコンピュータ装置を使用して実装できるということが理解されよう。従って、ここで説明される種々の処理形態および手段は、適切に構成されたデジタル処理装置または装置のネットワークの、ソフトウェアおよび/またはハードウェア構成要素において実装できる。処理は連続して、または並行して実行でき、および特殊用途または再構成可能ハードウェアを使用して実装できる。 The detailed description below provides examples of methods, structures, systems, and computer software products according to these techniques. Those skilled in the art will recognize that the methods and systems described are in software, hardware, or a combination of software and hardware, according to a conventional operating system such as Microsoft Windows, Linux, or Unix, over a stand-alone configuration or over a network. It will be appreciated that the implementation can be performed using a conventional computer device, such as a personal computer (PC) or equivalent device, that operates (or by emulation). Accordingly, the various processing forms and means described herein can be implemented in software and / or hardware components of a suitably configured digital processing device or network of devices. Processing can be performed sequentially or in parallel and can be implemented using special purpose or reconfigurable hardware.
例として、ここに添付されている図1は、そのようなコンピュータグラフィックス処理を実行できる例としてのコンピュータシステム10を示している。図1を参照すると、1つの実施形態におけるコンピュータシステム10は、プロセッサモジュール11と、キーボード12Aおよび/またはマウス12Bのようなオペレータ入力構成要素を含むオペレータインタフェース要素(または、一般的に、オペレータ入力要素12として特定されるデジタイジングタブレットまたは他の類似要素)と、ビデオ表示装置13のようなオペレータ出力要素を含む。例としてのコンピュータシステム10は、従来の格納プログラムコンピュータアーキテクチャであってよい。プロセッサモジュール11は、例えば、1つまたは複数のプロセッサと、メモリと、ディスクおよび/またはテープ格納要素(分離しては図示されていない)のような大容量格納装置を含むことができ、そこに提供されるデジタルデータと関連する処理および格納動作を実行する。オペレータ入力要素12は、オペレータが処理のための情報を入力することを可能にするために提供できる。ビデオ表示装置13は、スクリーン14上に、プロセッサモジュール11により生成された出力情報をオペレータに表示するために提供でき、出力情報には、オペレータが処理のために入力できるデータや、オペレータが処理を制御するために入力できる情報が、処理中に生成された情報と共に含まれる。プロセッサモジュール11は、種々のアプリケーションプログラム用の情報が、種々の「ウィンドウ」を使用して表示される、いわゆる「グラフィカルユーザーインタフェース」(「GUI」)を使用して、ビデオ表示装置13による表示のための情報を生成できる。
By way of example, FIG. 1 attached here shows an
コンピュータシステム10は、オペレータから入力情報を受け取るためのキーボード12Aとマウス12Bや、オペレータに出力情報を表示するためのビデオ表示装置13のような特別な構成要素を含んで示されているが、コンピュータシステム10は、図1に示されているものに加えて、またはそれらの代わりに多様な構成要素を含むことができるということは理解されよう。
The
更に、プロセッサモジュール11は、全体としては参照番号14により特定される1つまたは複数のネットワークポートを含むことができ、ネットワークポートは、コンピュータネットワーク内のコンピュータシステム10に接続する通信リンクに接続されている。ネットワークポートにより、コンピュータシステム10は情報を、ネットワーク内の他のコンピュータシステムおよび他の装置に送信でき、また、それらから情報を受信することができる。例えば、クライアント−サーバーパラダイムに従って構成された典型的なネットワークにおいては、ネットワーク内におけるあるコンピュータシステムはサーバーとして指定され、他のクライアントコンピュータシステムによる処理のためにデータおよびプログラム(総称して「情報」)を格納し、それにより、クライアントコンピュータシステムは便利に情報を共有できる。特別なサーバーにより維持された情報へアクセスする必要のあるクライアントコンピュータシステムは、サーバーがネットワークを介してそこに情報をダウンロードできるようにする。データの処理後は、クライアントコンピュータシステムはまた、処理されたデータを格納のためにサーバーに戻す。コンピュータシステム(上記のサーバーおよびクライアントを含む)に加えて、ネットワークはまた、例えば、プリンタ、ファクシミリ装置、デジタルオーディオまたはビデオ格納装置および配布装置など、ネットワーク内で接続された種々のコンピュータシステム間で共有できる装置を含んでもよい。ネットワーク内でコンピュータシステムを相互接続する通信リンクは、従来のように、ワイヤ、光ファイバー、またはコンピュータシステム間で信号を搬送するための他の媒体を含む、任意の便利な情報搬送媒体を備えてもよい。コンピュータシステムは、通信リンクを介して転送されるメッセージにより、ネットワーク上で情報を転送し、各メッセージは、情報と、そのメッセージを受信する装置を特定する識別子を含む。
In addition, the
図に示されているコンピュータシステム10に加えて、本発明に従う方法、装置、またはソフトウェア製品は、図2に例として示されている(例えば、ネットワークシステム100)ような、従来のPC102、ラップトップ104、手持ち、または携帯コンピュータ106を含む、スタンドアロンであろうが、ネットワーク化されていようが、携帯型であろうが、固定されていようが、または、インターネットまたは他のネットワーク108を介して、そしてその結果サーバー110と格納装置120を含むことができる、幅広い範囲の従来のコンピュータ装置およびシステムの何れにおいても作動できる。
In addition to the
従来のコンピュータソフトウェアおよびハードウェアの実行と同調して、本発明に従って構成されたソフトウェアアプリケーションは、例えば、図2と図3に示されているようなPC102内で作動でき、プログラム指令は、ROMまたはCD ROM116(図3)、磁気ディスク、または他の格納装置120から読み込まれ、CPU118による実行のためにRAM114にロードできる。データは、従来のキーボード、スキャナー、マウス、デジタイジングタブレット、または他の要素103を含む任意の知られている装置または手段を介してシステムに入力できる。
In synchronization with the execution of conventional computer software and hardware, a software application constructed in accordance with the present invention can run in, for example, a
当業者は、ここで記述される本発明の方法形態が、ASIC製造業者には知られているASIC構築技術を使用して、ここで記述される処理を実行するために特別に構築された特定用途向け集積回路(ASIC)のようなハードウェア要素において実行できることは理解されよう。ASICの種々の形態が、多数の製造業者から利用できるが、現在利用可能なASICは、この特許出願において記述される機能は提供しない。そのような製造業者には、共にカリフォルニアのSanta Claraにある、Intel CorporationとNVIDIA Corporationがある。従来のASICの実際の半導体要素および等価集積回路は、本発明の一部ではないので、ここでは詳細には検討しない。 Those skilled in the art will recognize that the method forms of the present invention described herein are specially constructed to perform the processes described herein using ASIC construction techniques known to ASIC manufacturers. It will be appreciated that it can be implemented on a hardware element such as an application specific integrated circuit (ASIC). While various forms of ASIC are available from a number of manufacturers, currently available ASICs do not provide the functionality described in this patent application. Such manufacturers include Intel Corporation and NVIDIA Corporation, both located in Santa Clara, California. The actual semiconductor elements and equivalent integrated circuits of conventional ASICs are not part of the present invention and will not be discussed in detail here.
当業者はまた、ASICまたは他の従来の集積回路または半導体要素が、ここで、より詳細に記述される本発明の教示を使用して、下記に、より詳細に検討される本発明の方法を実行し、図4に示されているように、処理システム102内で、シェーディングによる形成化モジュール150を実践できるような方法で実践できるということも理解するであろう。下記に記述されるシステムと技術によれば、シェーディングによる形成化モジュール150は、下記のサブモジュール、シェーディング情報入力モジュール150a、モデルジェネレータモジュール150b、および表示出力モジュール150cの1つまたは複数を含むことができる。シェーディングによる形成化モジュール150はまた、全体として四角形150dに「ツール/API/プラグイン」として示されている、ここで記述される他の構成要素を含むことができる。図4に更に示されているように、シェーディングによる形成化モジュール150の出力は、表示可能な画像、デジタル的に更新された幾何学的モデル、細分割曲面など、多数の異なる形式で提供できる。
Those skilled in the art will also be able to examine the methods of the present invention described below in more detail, using the teachings of the present invention described herein in more detail, where an ASIC or other conventional integrated circuit or semiconductor element is used. It will also be appreciated that it can be implemented and practiced in a manner that allows the shading shaping module 150 to be practiced within the
当業者はまた、本発明の方法形態が、ワークステーションおよびパーソナルコンピュータ(PC)のような、ワークステーションまたはPCオペレーティングシステムおよび本発明に従って構成されたコンピュータプログラム製品のコマンド群のもとで作動する、市場で入手可能なデジタル処理システム内で実行できることも理解されよう。「コンピュータプログラム製品」という用語は、コンピュータ読取可能媒体上でコード化されたコンピュータ読取可能プログラム指令の任意の集合を含むことができる。コンピュータ読取可能媒体は、それに制限されるわけではないが、コンピュータハードディスク、コンピュータフロッピーディスク、コンピュータ読取可能フラッシュドライブ、コンピュータ読取可能RAMまたはROM要素、または、デジタル情報をコード化、格納、または提供する任意の他の既知の手段を、ワークステーション、PC、または他のデジタル処理装置またはシステムに局在する、またはそれらから離れているかに拘わらずに含む、コンピュータ読取可能要素の任意の形態を含むことができる。コンピュータ読取要素および媒体の種々の形態は、コンピューティング技術においてはよく知られているので、その選択は、実践する者に任される。いずれにせよ、本発明は、コンピュータシステムがピクセル値を計算できるように作動可能であり、このピクセル値は、グラフィックカードまたは表示コントローラのような従来の要素であってよいコンピュータシステム内のハードウェア要素により使用されて、表示制御電子的出力を生成できる。従来のグラフィックカードおよび表示コントローラは、コンピューティング技術においてよく知られており、必ずしも、本発明の一部ではないので、その選択は実践する者に任される。 Those skilled in the art will also understand that the method forms of the present invention operate under the commands of a workstation or PC operating system, such as a workstation and a personal computer (PC), and a computer program product configured in accordance with the present invention. It will also be appreciated that it can be performed within a digital processing system available on the market. The term “computer program product” can include any collection of computer readable program instructions encoded on a computer readable medium. A computer readable medium may be, but is not limited to, a computer hard disk, a computer floppy disk, a computer readable flash drive, a computer readable RAM or ROM element, or any that encodes, stores or provides digital information. Including any form of computer readable element, including other known means whether or not located at a workstation, PC, or other digital processing device or system it can. Since various forms of computer readable elements and media are well known in the computing arts, the choice is left to the practitioner. In any case, the present invention is operable to allow a computer system to calculate a pixel value, which is a hardware element within the computer system that may be a conventional element such as a graphics card or display controller. Can be used to generate a display control electronic output. Conventional graphics cards and display controllers are well known in computing technology and are not necessarily part of the present invention, so the choice is left to the practitioner.
II.SBSモデラ
図5は、オペレータなどにより、任意の時点におけるその作成の所与の状態における対象物の二次元画像に適用されるシェーディングにより、対象物の三次元モデルを生成する、本発明に従って構築されるコンピュータグラフィックスシステムを示している。図5を参照すると、コンピュータグラフィックスシステムは、プロセッサモジュール201と、1つまたは複数のオペレータ入力装置202と、1つまたは複数の表示装置203を含む。表示装置203は、典型的には、フレームバッファ、ビデオ表示端子のようなものを含み、それらは、表示スクリーン上に、情報を、テキストおよび/またはグラフィックの形式でオペレータに表示する。コンピュータグラフィックスシステム200のオペレータ入力装置202は、典型的には、デジタイジングタブレット205と連係して典型的に使用されるペン204と、トラックボールまたはマウス装置206を含む。一般的には、ペン204とデジタイジングタブレットは、いくつかのモードにおいてオペレータにより使用される。1つのモードにおいては、本発明との関連において特に有効であるが、ペン204とデジタイジングタブレットは、コンピュータグラフィックスシステムへ、更新シェーディング情報を提供するために使用される。他のモードにおいては、ペンとデジタイジングタブレットは、例えば、表面トリミングのための線画のような従来のコンピュータグラフィックス情報、および他の情報をコンピュータグラフィックスシステム200に入力して、それによりシステム200が従来のコンピュータグラフィックス操作を行えるようにするために使用される。トラックボールまたはマウス装置206は、カーソルまたはポインタをスクリーン上で、オペレータがペンとデジタイジングタブレットにより入力を提供できる画面内の特別な点に移動するために使用できる。コンピュータグラフィックスシステム200はまた、オペレータがテキスト入力をシステム200に提供するために使用できるキーボード(図示せず)も含むことができる。
II. SBS Modeler FIG. 5 is constructed in accordance with the present invention to generate a three-dimensional model of an object by shading applied to a two-dimensional image of the object in a given state of its creation at any time, such as by an operator. Shows a computer graphics system. Referring to FIG. 5, the computer graphics system includes a processor module 201, one or more operator input devices 202, and one or more display devices 203. Display device 203 typically includes things such as frame buffers, video display terminals, etc., which display information to the operator in the form of text and / or graphics on a display screen. The operator input device 202 of the
プロセッサモジュール201は、一般的には、1つまたは複数のマイクロプロセッサの形状であってよいプロセッサとメインメモリを含み、一般的には、1つまたは複数のディスク格納装置を含む大容量格納サブシステムを含む。メモリおよびディスク格納装置は、一般的には、プロセッサにより処理されるデータとプログラム(まとめて「情報」)を格納し、プロセッサにより生成された処理データを格納する。プロセッサモジュールは、オペレータ入力装置202と表示装置203への接続を含み、オペレータ入力装置202を介してオペレータにより入力された情報を受け取り、入力情報を処理し、処理された情報をメモリおよび/または大容量格納サブシステムに格納する。更に、プロセッサモジュールは、ビデオ表示情報を提供でき、この情報は、オペレータへの表示のための表示装置への、メモリおよびディスク格納装置により生成された処理データと共に、それらから得られる情報の一部を形成できる。プロセッサモジュール201はまた、ハードコピー出力の生成を容易にするプリンタのようなハードコピー出力装置、情報の伝達を容易にするための、公衆電話システムへの、および/またはコンピュータネットワークにおいてシステム200を接続するためのモデムおよび/またはネットワークインタフェース(図示せず)などへの接続(これも図示せず)も含むことができる。
The processor module 201 generally includes a processor and main memory, which may be in the form of one or more microprocessors, and typically includes a mass storage subsystem that includes one or more disk storage devices. including. In general, the memory and the disk storage device store data and a program (collectively “information”) processed by the processor, and store processing data generated by the processor. The processor module includes a connection to the operator input device 202 and the display device 203, receives information input by the operator via the operator input device 202, processes the input information, and stores the processed information in memory and / or memory. Store in the capacity storage subsystem. In addition, the processor module can provide video display information, which can be part of the information obtained from the processing data generated by the memory and disk storage device to the display device for display to the operator. Can be formed. The processor module 201 also connects the
コンピュータグラフィックスシステム200は、ペンとデジタイジングタブレット、およびマウスを介して、オペレータにより提供された入力から、三次元対象物の初期のそしてその後の形状を定義する情報を生成し、その情報は、オペレータへの表示のための、対応する対象物の二次元画像を生成するために使用でき、それにより、対象物のモデルを生成できる。コンピュータグラフィックスシステム200により表示される画像は、照明方向から照明され、画像面上に投影される対象物の画像を表現しており、この対象物は、照明方向と画像平面に関する空間位置と回転方向と、オペレータにより選択されたスケーリングおよび/またはズーム設定を有している。モデル生成処理において使用される初期モデルは、半球または楕円形状を定義するモデルのような、コンピュータグラフィックスシステムそれ自身により提供される複数のデフォルトモデルの1つであってよい。または、初期モデルは、ペン204とデジタイジングタブレット205を使用して、画像平面の少なくとも1つのピクセルの初期シェーディングを提供することによりオペレータにより提供されてもよい。初期モデルがオペレータにより提供されると、画像平面上のピクセルの1つが選択されて、対象物に対する初期表面断片の「基準」部分を提供し、基準初期表面断片部分は、画像平面に関して、選択された空間位置、回転方向、および高さ値を有し、コンピュータグラフィックスシステムは、画像平面上の他のピクセルに適用されたシェーディング(もしあれば)に関連する表面断片(もしあれば)の残りに対する初期モデルを決定する。1つの実施形態において、基準初期表面断片部分は、オペレータがシェーディングを施す画像平面上の第1ピクセルに対する表面断片の部分として選択される。更に、この実施形態においては、基準初期表面断片部分は画像平面に平行になるように決定され、それにより、基準初期表面断片部分に垂直なベクトルは、画像平面に直交し、基準初期表面断片部分は、オペレータにより選択された高さ値を有する。いずれの場合も、コンピュータグラフィックスシステムは、初期モデルの画像を表示し、その画像は、特別な照明方向から照明され、画像平面上に投影される初期モデルに関連する対象物のシェーディングを定義する。
The
オペレータは、マウスとペンとデジタイジングタブレットを使用して、初期対象物の画像の更新シェーディングを提供し、および/または画像平面上の隣接領域をシェーディングすることにより対象物を拡張し、コンピュータグラフィックスシステム200は、オペレータにより提供された更新シェーディングに基づいて、対象物の形状を表現する更新モデルを生成する。シェーディングを更新するときに、オペレータは、画像平面上の特別な点に施されるシェーディングの量を増やすまたは減らすことができる。更に、オペレータは、マウスまたはトラックボールとペンとデジタイジングタブレットを使用して、モデルにより定義された対象物の表面表現のトリミングのような、画像と関連する従来のコンピュータグラフィックス操作を行うことができる。コンピュータグラフィックスシステム200は、オペレータにより提供された更新シェーディングと、他のコンピュータグラフィックス情報を使用して、対象物の形状を定義する更新モデルを生成し、更に、更新モデルから、オペレータへの表示のための二次元画像を、それぞれの空間位置、回転方向、および、オペレータにより選択されたスケーリングおよび/またはズーム設定から生成できる。オペレータが、更新モデルにより表現される対象物の形状が満足できるものと判断したときは、オペレータは、コンピュータグラフィックスシステム200に、最終対象物の形状を定義する更新モデルを格納させることができる。一方、オペレータが更新モデルにより表現される対象物の形状が満足できないものと判断した場合は、オペレータはコンピュータグラフィックスシステム200と協働して、必要に応じて、三次元回転、平行移動、およびスケーリングまたはズーミングを使用する処理において、シェーディングと他のコンピュータグラフィックス情報を更に更新できる。シェーディングと他のコンピュータグラフィックス情報が更新されると、コンピュータグラフィックスシステム200はモデル情報を更新し、その情報は、オペレータにより選択される回転方向、平行移動または空間位置設定、およびスケールおよび/またはズーム設定から、対象物の二次元画像を提供するために再び使用される。これらの操作は、オペレータが対象物の形状が満足なものと判断するまで続けることができ、その時点で、コンピュータグラフィックスシステム200は、その更新されたモデルを、最終対象物を表現するものとして格納する。
The operator uses a mouse, pen and digitizing tablet to provide updated shading of the image of the initial object and / or extend the object by shading adjacent areas on the image plane, and computer graphics The
対象物の形状を決定するときにコンピュータグラフィックスシステム200により実行される詳細な操作は、図6〜図11と関連して説明する。図6を参照すると、コンピュータグラフィックスシステム200の操作においては、対象物の画像は、所定数の行と列を有するモザイク状のピクセル221(i,j)に形成される二次元画像平面220に投影されることを仮定している。画像平面220は、行がx方向に延伸し、列がy方向に延伸しているx、yデカルト平面を定義する。形成される対象物の表面の投影は、図6においては参照番号222により特定されているが、正投影であり、カメラの「目」の方向はx、y画像平面に直交するz方向である。画像平面上の各点は、ここでは、
かつ
であって、Nが列の最大数(添え字iは画像平面内の列の範囲)であり、Mが列の最大数(添え字jは画像平面内の行の範囲)である
により表現される画素、または「ピクセル」に対応している。図6に示されている例としての画像平面220においては、列数Nは8であり、行数Mは9である。画像平面220をオペレータに示すために使用される表示装置203がラスター走査装置の場合は、行は、画像を表示するために装置により使用される走査線に対応する。各ピクセル
は座標系の特別な点(xi,yj)に対応し、M×Nは画像の解像度を特定する。更に、コンピュータグラフィックスシステム10は、対象物が方向
、ここで、
はベクトルである方向を有する光源により照明され、対象物の表面はランベルト面であることを仮定している。明示されていないカメラは、その画像平面は画像平面220により表現されているが、「CAMERA」と記されている矢印により表現されているように、画像平面220に直交する方向から画像平面220を見ると仮定されている。
Detailed operations performed by the
And
Where N is the maximum number of columns (subscript i is the range of columns in the image plane) and M is the maximum number of columns (subscript j is the range of rows in the image plane).
Corresponds to a pixel or “pixel”. In the
Corresponds to a special point (x i , y j ) in the coordinate system, and M × N specifies the resolution of the image. In addition, the
,here,
Is illuminated by a light source having a direction that is a vector, and the surface of the object is assumed to be a Lambertian plane. An unspecified camera has its image plane represented by the
上述したように、コンピュータグラフィックスシステム200は、モデル化される対象物の、少なくとも非常に小さな部分の対象物を、初期モデルとして初期化する。各ピクセル
に対して、ピクセル上に投影される対象物の部分の高さを定義する高さ値z(x,y)は既知であり、下記の
ここで、
は、「定義域
におけるすべての点(x,y)」を意味し、定義域
は画像平面220である式のように高さフィールドH(x,y)として定義される。更に各ピクセル
に対して、その上に投影される基本初期対象物の表面の部分の法線n(x,y)もまた既知であり、下記の
On the other hand, the height value z (x, y) defining the height of the part of the object projected onto the pixel is known and
here,
Is the domain
Means all points (x, y) in the domain
Is defined as a height field H (x, y) as in the equation for
On the other hand, the normal n (x, y) of the surface portion of the basic initial object projected onto it is also known,
コンピュータグラフィックスシステム200が、画像平面220上の画像として表示装置203上でオペレータに対して表示される、初期モデルにより定義される対象物を表現する画像を表示した後、オペレータは、ペン204とデジタイジングタブレット205(図5)を使用して、画像のシェーディングを更新することにより、画像の修正を開始できる。コンピュータグラフィックスシステムにより表示される初期モデルの画像はそれ自身が、初期モデルにより定義され、所定の照明方向から照明され、画像平面上に投影される対象物の形状を表現するためにシェーディングされるということは理解されよう。画像平面上の各ピクセル
は、ピクセル
における画像の相対明度を表現し、逆に、ピクセルの相対シェーディングを表現する関連強度値I(x,y)(ここでは、「ピクセル値」とも称される)を有する。各ピクセル
に対する初期ピクセル値が、画像平面220上の位置(x,y)におけるそれぞれのピクセル
の画像強度値または明度を表現するI0(x,y)により与えられ、シェーディング後のピクセル値がI1(x,y)により表現されると、オペレータは、好ましくは、各ピクセル値に対して、
Is a pixel
Has an associated intensity value I (x, y) (also referred to herein as a “pixel value”) that represents the relative brightness of the image at, and vice versa. Each pixel
For each pixel at position (x, y) on the
Given by I 0 (x, y) representing the image intensity value or brightness of the pixel and the pixel value after shading is represented by I 1 (x, y), the operator preferably And
オペレータがピクセルに対するシェーディングを更新した後、コンピュータグラフィックスシステム10は、対象物に対する更新形状の生成において、2つの一般的操作を行う。特に、コンピュータグラフィックスシステム200は、
(i)まず、シェーディングが更新された各ピクセル
に対して、それぞれの新しい法線ベクトルn1(x,y)を決定し、
(ii)更新法線ベクトルn1(x,y)を生成後、新しい高さ値z(x,y)を決定する。
After the operator updates the shading for the pixel, the
(I) First, each pixel whose shading has been updated
For each new normal vector n 1 (x, y),
(Ii) After generating the updated normal vector n 1 (x, y), a new height value z (x, y) is determined.
コンピュータグラフィックスシステム10は、シェーディングが更新されたときに、これらの操作(i)と(ii)をシェーディングが更新された各ピクセル
に対して実行し、それにより、新しい法線ベクトルフィールドN(x,y)と高さフィールドH(x,y)を提供する。ピクセル
に対する法線ベクトルn1(上記の(i)の説明)のシェーディングに関連して、コンピュータグラフィックスシステム200により実行される操作は、図7と図8と関連して説明し、各ピクセル
に対する高さ値z(x,y)(上記の(ii)の項目)の更新に関連して実行される操作は、図9と図10と関連して説明する。
When the shading is updated, the
To provide a new normal vector field N (x, y) and a height field H (x, y). pixel
The operations performed by the
The operations performed in connection with the update of the height value z (x, y) (item (ii) above) for will be described in conjunction with FIGS.
最初に図7を参照すると、オペレータによりシェーディングが更新された後の、参照番号230で特定される対象物の一部が示されている。下記においては、対象物230の表面上の点値z(x,y)に対して、記号「n1」で特定されている矢印により特定される更新法線ベクトルが決定されるということを仮定している。記号「n0」で特定される法線ベクトルは、更新前の表面に対する法線を表現している。照明方向は、記号「L」で特定される矢印に対応するベクトルから延伸している線により表現されている。具体的には、「L」は、その方向が、対象物を照明する光源からの照明方向に基づき、その大きさは、光源により提供される、対象物上の照明の大きさを表現している照明ベクトルを表現している。その場合、更新に基づいて、可能な新しい法線ベクトルの集合は、
」は更新法線ベクトルn1の大きさを示す式に対応する大きさを有する。
Referring first to FIG. 7, a portion of the object identified by
"Has the size corresponding to formula indicating the size of the updated normal vector n 1.
式(2.04)と式(2.05)とはベクトルの集合と、それぞれのベクトルの大きさを定義し、その1つは、点z(x,y)における更新された対象物に対する更新法線ベクトルである。コンピュータグラフィックスシステム200は、適切な更新法線ベクトルn1として、ベクトルの集合から1つのベクトルを下記のようにして選択する。上述したように、更新法線ベクトルは、円錐231の表面に存在する。元々の法線ベクトルn0と照明ベクトルLが平行でない場合は、それら(つまり、元々の法線ベクトルn0と照明ベクトルL)は平面を定義するということは明白である。これは、照明ベクトルLが対象物230上に当たる点z(x,y)と、対象物230上の法線ベクトルn0の原点が同一点であり、照明ベクトルの最後尾と元々の法線ベクトルn0先頭部が2つの追加点を提供し、これは、点z(x,y)と共に、平面を定義するには十分であるからである。その結果、参照番号232に特定される、照明ベクトルLと先行法線ベクトルn0の両者がその上に存在する平面が構築されると、その平面232は、図7において線33により表現されている、2本の線に沿って円錐と交差する。線233の1本は、元々の法線ベクトルn0に向かう照明ベクトルLの側である円錐231の表面上に存在し、他方の線233は、法線ベクトルn0から遠ざかる照明ベクトルLの側である円錐231の表面上に存在し、正確な更新法線ベクトルn1は、以前の法線ベクトルn0に向かう照明ベクトルLの側である円錐231上の線により定義される。
Equations (2.04) and (2.05) define a set of vectors and the magnitude of each vector, one of which is an update to the updated object at point z (x, y) It is a normal vector. The
これらの観察に基づくと、更新法線ベクトルの方向は、式(2.04)と下記から決定できる。以前の法線ベクトルn0と照明ベクトルLは平面232を形成するので、それらのクロス乗積、「n0×L」は、平面232に直交するベクトルを定義する。その結果、更新法線ベクトルn1もまた平面232内に存在するので、更新法線ベクトルn1と、以前の法線ベクトルn0と照明ベクトルLの間のクロス乗積により定義されるベクトルとの点乗積は、値ゼロを有する、つまり、
更に、以前のシェーディングと更新シェーディングにより提供されるピクセル値I0とI1の間の差は、∫I(上記の式(2.03))により境界を定められ、以前の法線ベクトルn0と更新法線ベクトルn1の間の角度δもまた、ある最大正値∫δにより境界を定められる。その結果、式(2.06)は、
これは、図8において図示されている。図8は、図7において示されている円錐232の一部と、更新法線ベクトルn1と、参照番号234により特定される、更新法線ベクトルn1がその中に存在することを制約される、以前の法線ベクトルからの最大角∫δを表現する領域を示している。
This is illustrated in FIG. FIG. 8 is constrained by the presence of an update normal vector n 1 , identified by a portion of the
コンピュータグラフィックスシステム200(図5)は、オペレータにより提供されるシェーディングに基づいて、画像平面220内の各ピクセル
に対する更新法線ベクトルn1を生成し、それにより、更新ベクトルフィールドN(x,y)を生成する。コンピュータグラフィックスシステム200が、ピクセルに対して更新法線ベクトルを生成した後、そのピクセルに対して新しい高さ値z(x,y)を生成でき、それにより、更新シェーディングに基づいて高さフィールドH(x,y)を更新する。高さ値z(x,y)の更新と関連して、コンピュータグラフィックスシステム200により実行される操作は、図9と図10と関連して説明する。図9は、図6に示されている画像平面220に対する例としての更新シェーディングを示している。図9に示されている画像平面220に対して、ピクセル
には座標が与えられ、行は、1から8のその両端の数を含む範囲の数により特定され、列は、AからIのその両端の文字を含む範囲の文字により特定される。図9に示されているように、更新シェーディングにおいては、
から
、
から
、および
から
のピクセルはすべて修正されており、コンピュータグラフィックスシステム200は、更新高さフィールドH(x,y)におけるピクセルに対する更新高さ値として、それらに対して更新高さ値h(x,y)を生成することになる。これを達成するために、コンピュータグラフィックスシステム200は、下記に説明するいくつかの操作を実行して、垂直方向、水平方向、および2つの対角線方向に沿ってシェーディングが修正された各ピクセル
に対して高さ値を生成し、4つの高さ値(つまり、垂直、水平、および2つの対角線方向に沿う高さ値)の平均として、ピクセルに対する最終高さ値を生成する。
The computer graphics system 200 (FIG. 5) uses each pixel in the
An update normal vector n 1 is generated for, thereby generating an update vector field N (x, y). After the
Is given a coordinate, a row is identified by a number of ranges including the numbers at its ends from 1 to 8, and a column is identified by a range of characters including the characters at its ends from A to I. As shown in FIG. 9, in update shading,
From
,
From
,and
From
And the
And a final height value for the pixel as the average of the four height values (ie, vertical, horizontal, and height values along two diagonal directions).
更新高さ値の生成において、コンピュータグラフィックスシステム200により実行される操作は、画像平面220における修正されたピクセルの1つ、つまり、方向の1つに沿う、つまり水平方向に沿うピクセル
との関連において説明する。他の方向との関連において実行される操作と、シェーディングが更新された他のピクセルは、当業者には明白であろう。更新高さ値の生成において、コンピュータグラフィックスシステム200はBezier-Bernstein内挿を利用し、Bezier-Bernstein内挿は、次元「n」の曲線P(t)を下記の
Will be described in relation to The operations performed in relation to other directions and other pixels with updated shading will be apparent to those skilled in the art. In generating the updated height value, the
ピクセル
に対する更新高さ値h1の決定に適用される式(2.09)は、
Equation (2.09) applied to determine the updated height value h 1 for
式(2.10)から、t=0に対しては、ピクセル
に対する更新高さ値h1は、ピクセル
に対する高さ値であるhaに対応し、t=1に対しては、ピクセル
に対する更新高さ値h1は、ピクセル
に対する高さ値であるhbに対応する。一方、0または1以外の値を有するtに対しては、更新高さ値h1は、ピクセル
と
の高さ値haとhbと、制御点B1とB2に対する高さ値の関数である。
From equation (2.10), for t = 0 the pixel
The updated height value h 1 for the pixel
Corresponds to a height value h a , and for t = 1 the pixel
The updated height value h 1 for the pixel
Corresponding to h b is the height value for. On the other hand, for t having a value other than 0 or 1, the updated height value h 1 is equal to pixel
When
Is a function of height values h a and h b and height values for control points B 1 and B 2 .
上述したように、n次曲線P(t)に対しては、端点B0とB1における接線は、ベクトルB0B1とBn−1Bnに対応する。その結果、図10に示されている曲線Pn=3(t)に対しては、端点B0と隣接する制御点B1により定義されるベクトルB1B0は、端点B0において曲線Pn=3(t)に接し、端点B3と隣接する制御点B2により定義されるベクトルB2B3は、端点B3において曲線に接する接線である。従って、ベクトルB1B0はピクセル
において法線ベクトルnaに直交し、ベクトルB2B3は、ピクセル
において法線ベクトルnbに直交する。その結果、
Perpendicular to the normal vector n a in, the vector B 2 B 3, the pixel
Perpendicular to the normal vector n b in. as a result,
水平方向(図9参照)における更新高さ値h1の決定に対して、ベクトルの形式である式(2.10)は、次元「x」と「z」(「z」次元は画像平面に直交している)のそれぞれに対して下記の
である、その高さ値が決定されるピクセルの位置の関数となることは理解されよう。更に、式(2.12)は、下記の2つの
It will be appreciated that the height value is a function of the position of the pixel being determined. Further, the formula (2.12) is expressed by the following two
更に、上述したように、曲線Pn=3(t)に対して更なる制約があり、特に、更新法線n1は、ピクセル
に対応する点において、曲線に対して垂直とならなければならないという制約がある。図10におけるベクトルB012B123がピクセル
に対応する点において曲線に接するならば、そのz成分は更新高さ値に対応する点h1もまたベクトルB012B123上に存在する。その結果、
There is a restriction that it must be perpendicular to the curve at the point corresponding to. The vector B 012 B 123 in FIG. 10 is a pixel.
If the tangent to the curve at a point corresponding to, then the z component of the point h 1 corresponding to the updated height value is also present on the vector B 012 B 123 . as a result,
8個の式(2.13)から式(2.16)、式(2.24)および式(2.25)はすべて、それぞれのxとz成分において一次元的であることは理解されよう。式(2.13)から式(2.16)、式(2.24)および式(2.25)に対しては、6個の未知の値がある、つまり、パラメータtの値、ベクトルB1のxとz成分の値(つまり、b1xとb1zの値)、ベクトルB2のxとz成分の値(つまり、b2xとb2zの値)、そして、ピクセル
に対する点Pn=3(t)へのベクトルh1のz成分(つまり、h1zの値)が未知である。(2.13)から(2.16)、(2.24)および(2.25)の8個の式は、当業者には明白な方法により、未知の値を決定できる連立方程式に対しては十分である。
It will be understood that the eight equations (2.13) through (2.16), (2.24), and (2.25) are all one-dimensional in their respective x and z components. . For equations (2.13) to (2.16), (2.24) and (2.25), there are six unknown values, ie the value of parameter t, vector B 1 x and z component values (ie, b 1x and b 1z values), vector B 2 x and z component values (ie, b 2x and b 2z values), and pixels
The z component of the vector h 1 to the point P n = 3 (t) with respect to (ie the value of h 1z ) is unknown. The eight equations (2.13) through (2.16), (2.24) and (2.25) are for simultaneous equations that can determine unknown values in a manner apparent to those skilled in the art. Is enough.
コンピュータグラフィックスシステム200は、上記の操作を水平方向(「x」座標軸に対応)に関連して実行すると共に、垂直および2つの対角線方向のそれぞれに対して、上記の操作に類似する対応する操作を実行して、ピクセル
に対する更新高さベクトルh1を決定する。4方向すべてに対して更新高さベクトルを決定した後、コンピュータグラフィックスシステム200は、それらを平均する。更新高さベクトルの平均のz成分は、対象物に対する更新モデルの高さ値に対応する。
The
An update height vector h 1 is determined for. After determining the updated height vectors for all four directions, the
コンピュータグラフィックスシステム200により実行される操作は、図11Aと図11Bとのフローチャートと関連して説明する。一般的には、オペレータはコンピュータグラフィックスシステムによりモデル化される対象物の画像を頭の中に描いているであろうことは予想される。図11Aと図11Bとを参照すると、対象物に対する初期モデルが決定され(ステップ250)、コンピュータグラフィックスシステムは、所定の照明方向に基づいて、表示方向が画像平面(図6で示されている基準画像平面20)に対応するようにして、その二次元画像をオペレータに対して表示する(ステップ251)。上述したように、初期モデルは、コンピュータグラフィックスシステムにより提供される半球や楕円のようなデフォルトの形状、またはオペレータにより提供される形状を定義できる。いずれの場合も、形状は、初期法線ベクトルフィールドN(x、y)と高さフィールドH(x、y)を定義して、画像における各ピクセルに対する法線ベクトルと高さ値を定義する。コンピュータグラフィックスシステム200が初期モデルを表示した後、オペレータは、本発明に関連するシェーディングモードを含む複数の操作モードの1つを、消去およびトリミングのような複数の従来のコンピュータグラフィックスモードの1つ共に選択できる(ステップ252)。オペレータがシェーディングモードを選択した場合は、オペレータは、例えば、システムのペンおよびデジタイジングタブレットにより二次元画像のシェーディングを更新する(ステップ253)。オペレータがステップ253で画像にシェーディングを適用している間、コンピュータグラフィックスシステム200はそのシェーディングをオペレータに表示できる。オペレータにより適用されるシェーディングは、好ましくは、所定の照明方向から照明され、コンピュータグラフィックスシステム200により表示される画像平面上に投影される最終対象物のシェーディングの表現である。
Operations performed by the
オペレータがステップ253においてピクセルに対するシェーディングを更新すると、コンピュータグラフィックスシステム200は、対象物のモデルに対する更新を生成する。更新モデルの生成において、コンピュータグラフィックスシステム200はまず、図7と8に関連して上記したように、画像内の各ピクセルに対して更新法線ベクトルを決定し、それにより、対象物に対する更新法線ベクトルフィールドを提供する(ステップ254)。その後、コンピュータグラフィックスシステム200は、画像内の各ピクセルに対して、図9と図10とに関連して上記したように、更新高さ値を決定し、それにより、対象物に対する更新高さフィールドを提供する(ステップ255)。
When the operator updates the shading for the pixel at step 253, the
更新法線ベクトルフィールドと更新高さフィールドを生成して、対象物の更新モデルを提供した後、コンピュータグラフィックスシステム200は、オペレータにより選択された(ステップ257)、画像の回転、平行移動、およびスケーリングおよび/またはズーミングの処理において、オペレータにより選択されたように(ステップ256)、更新モデルの画像を、1つまたは複数の方向およびズームでオペレータに対して表示する。オペレータが更新モデルは満足できるものと判断した場合(ステップ258)、これは、例えば、更新モデルが、オペレータが頭に描いていた、モデル化される対象物の画像と一致した場合であるが、オペレータは、更新モデルを対象物の最終モデルとしてコンピュータグラフィックスシステム200に保存させることができる(ステップ259)。一方、オペレータがステップ257で、更新モデルが満足できるものではないと判断した場合は、オペレータはコンピュータグラフィックスシステム200をステップ251に戻すことができる。
After generating an update normal vector field and an update height field to provide an update model of the object, the
ステップ252に戻って、オペレータがそのステップで、消去モードまたはトリミングモードのような従来の操作モードのような別の操作モードを選択した場合は、コンピュータグラフィックスシステムは、オペレータによりコンピュータグラフィックスシステム200に提供された消去情報またはトリミングおよび他の従来のコンピュータグラフィック情報に基づいてモデルを更新するためにステップ260までの一連のステップを行う。コンピュータグラフィックスシステムは、ステップ257までの一連のステップを行って、更新モデルに基づく対象物の画像を表示する。オペレータが、更新モデルが満足できるものと判断した場合(ステップ108)は、オペレータは、更新モデルを、対象物の最終モデルとしてコンピュータグラフィックスシステム200に保存させることができる(ステップ259)。一方、オペレータがステップ257で更新モデルが満足できるものではないと判断した場合は、オペレータはコンピュータグラフィックスシステム200をステップ251に戻すことができる。
Returning to step 252, if the operator selects another operating mode, such as a conventional operating mode such as an erase mode or a trimming mode, at that step, the computer graphics system will cause the
オペレータは、対象物の画像のシェーディングを更新するとき(ステップ253)、または他のコンピュータグラフィック情報を提供するとき(ステップ260)に、コンピュータグラフィックスシステム200にステップ251、253から257、および260を実行させることができ、コンピュータグラフィックスシステム200は、ステップ254と255において、更新法線ベクトルフィールドおよび更新高さフィールドを、またはステップ260において従来のコンピュータグラフィック成分を生成し、それにより、対象物の更新モデルを定義する。オペレータがステップ258で更新モデルが、オペレータが頭に描いていた対象物の画像に対応すると判断した場合、または満足できるものと判断した場合は、オペレータは、コンピュータグラフィックスシステム200に、更新法線ベクトルフィールドと更新高さフィールドを格納させ、対象物の最終モデルを定義させることができる(ステップ259)。
When the operator updates the shading of the image of the object (step 253) or provides other computer graphic information (step 260), the operator performs steps 251, 253 to 257, and 260 on the
本発明は、多数の利点を提供する。特に、本発明は、会話型コンピュータグラフィックスシステムを提供し、それにより、アーティストのようなオペレータは、対象物の所望の形状を想像でき、対象物に対するシェーディングが、特別な照明方向から照明され、特別な視覚方向(画像平面の位置により定義される方向)から見たときの対象物においてどのように現れるかを想像できる。オペレータが所望の形状に対応するあるシェーディング入力を提供した後、コンピュータグラフィックスシステムは対象物のモデルを、シェーディングに基づいて更新されたようにオペレータに表示する。オペレータはモデルを最終対象物として容認でき、またはシェーディングを更に更新でき、それによりコンピュータグラフィックスシステムは対象物のモデルを更に更新する。本発明に従って構築されたコンピュータグラフィックスシステムは、シェーディングからの形成化方法に従って作動する従来技術のシステムにおいては必要であった偏微分方程式を解く必要を回避する。 The present invention provides a number of advantages. In particular, the present invention provides an interactive computer graphics system whereby an operator, such as an artist, can imagine the desired shape of an object, and the shading for the object is illuminated from a special illumination direction, You can imagine how it will appear in the object when viewed from a special visual direction (direction defined by the position of the image plane). After the operator provides certain shading input corresponding to the desired shape, the computer graphics system displays the object model to the operator as updated based on the shading. The operator can accept the model as the final object or further update the shading, so that the computer graphics system further updates the object model. A computer graphics system constructed in accordance with the present invention avoids the need to solve partial differential equations that were necessary in prior art systems operating according to the shaping method from shading.
本発明の更なる利点は、生成される対象物のモデルに対する階層的な表現の使用を容易にするということである。その結果、例えば、オペレータがコンピュータグラフィックスシステム200に、対象物のスケールを拡大、または対象物をズームインし、それにより、より高い解像度を提供させると、画像の複数のピクセルは、より低い解像度では単一のピクセルと関連付けられていた画像の部分を表示するようになるということは理解されよう。この場合、オペレータがより高い解像度の画像のシェーディングを更新すると、コンピュータグラフィックスシステムは、上記のようにシェーディングが更新される、より高い解像度の各ピクセルに対する法線ベクトルと高さ値を生成し、それにより、高められた解像度における更新シェーディングに関連するモデルの部分を生成および/または更新する。より高い解像度のモデルの更新部分は、より低い解像度で以前に定義されていたモデルの特別な部分に関連付けられ、それにより、格納できる階層的表現を提供する。その結果、モデルにより定義された対象物は、基盤となる表面の表現における、より高い解像度に対応する詳細レベルを継承することになる。対応する操作は、オペレータがコンピュータグラフィックスシステム200に対象物のスケールを減少または対象物をズームアウトし、それにより、より低い解像度を提供できるようにすれば実行することができる。
A further advantage of the present invention is that it facilitates the use of a hierarchical representation for the model of the object being generated. As a result, for example, if the operator causes the
図5〜図11に関連して上記したように、多数の変形および修正をコンピュータグラフィックスシステム200に行うことができるということは理解されよう。例えば、コンピュータグラフィックスシステム200は、対象物のモデル情報、つまり、法線ベクトルフィールド情報および高さフィールド情報を、オペレータにより提供されたシェーディングの多数の更新に対して保持でき、それ(つまりシステム200)は、それぞれの更新に対して対象物のモデルを表示するために使用できる。これにより、オペレータは、例えば、それぞれの更新を通しての対象物の進展を見ることができるようにするために、それぞれのモデルの画像を見ることができる。更に、これにより、オペレータは、更新対象であったベースとして、以前の更新からのモデルに戻ることができる。これにより、オペレータは、例えば、特別なモデルにおける異なるシェーディングに基づく対象物のツリーを生成できる。
It will be appreciated that numerous variations and modifications may be made to the
更に、コンピュータグラフィックスシステム10は、Bezier-Bernstein内挿を利用して更新高さフィールドh(x、y)を決定するように説明したが、例えば、テイラー(Taylor)多項式およびBスプラインのような内挿の他の形式もまた使用できるということは理解されよう。更に、表面表現の複数の形式を本発明で使用できる。実際、コンピュータグラフィックスシステム200により使用されるモデル生成方法は、一般的な適用であるので、すべての自由な形式の表面表現が、例えば、三角形、四角形、および/または五角形から構成される区分的線形表面と共に使用できる。
Further, although the
更に、コンピュータグラフィックスシステム200は、正投影と単一光源を利用するとして説明したが、透視投影を含む他の形式の投影および複数の光源を使用できるということは理解されよう。
Further, although the
更に、コンピュータグラフィックスシステム200は、対象物の形状を、対象物の画像のシェーディングにより提供すると説明したが、それはまた、ペン204とデジタイジングタブレットの適切な操作モードを介して、トリミングや消去のようなコンピュータグラフィックス操作も提供できるということは理解されよう。
Furthermore, although the
更に、コンピュータグラフィックスシステムは、対象物のモデルを、対象物の表面はランベルト面であることを仮定して生成すると説明したが、対象物の画像のレンダリングを行うときに、対象物に対して他の表面処理も使用できるということは理解されよう。 Furthermore, although the computer graphics system has been described as generating a model of an object assuming that the surface of the object is a Lambertian surface, when rendering an image of the object, It will be appreciated that other surface treatments can be used.
本発明によるシステムは、その如何なる部分も適切なプログラムで制御できる特別用途のハードウェアまたは汎用コンピュータシステム、またはその任意の組合せからその全体を、または一部を構築できるということは理解されよう。如何なるプログラムも、その全体または部分的に、従来の方法でシステムの一部を含むことができ、またはシステム上に格納でき、またはネットワークを介して、または他の従来の方法で情報を伝達する機構を介して、システムにその全体、または一部を提供できる。更に、システムは、システムに直接接続できる、またはネットワークを介して、または従来の方法で情報を伝達できる機構を介して情報を伝達できるオペレータ入力要素(図示せず)を使用してオペレータにより提供された情報により操作でき、および/または制御できるということは理解されよう。 It will be appreciated that the system according to the present invention can be constructed in whole or in part from special purpose hardware or general purpose computer systems, or any combination thereof, where any part can be controlled by a suitable program. Any program, in whole or in part, can include a portion of the system in a conventional manner, or be stored on the system, or a mechanism for communicating information over a network or other conventional method The system can be provided in whole or in part. In addition, the system is provided by an operator using an operator input element (not shown) that can be connected directly to the system or via a network or via a mechanism that can convey information in a conventional manner. It will be understood that the information can be manipulated and / or controlled.
III.SBSモデラの改善
3.1 序章
上記のシステムと技術は、大きな発展を遂げた。3.2節ではSBSシェーディングと整形処理の簡潔な要約を説明する。3.3節から3.7節では、SBSシェーディングと整形処理に対する具体的な拡張と他の改善を説明する。
III. Improving the SBS modeler 3.1 Introduction The above systems and technologies have made great progress. Section 3.2 provides a brief summary of the SBS shading and shaping process. Sections 3.3 to 3.7 describe specific extensions and other improvements to SBS shading and shaping processes.
3.2 SBSシェーディングおよび整形処理
図12は、SBSシェーディングと整形サイクル300を示すフロー図を示している。
3.2 SBS Shading and Shaping Process FIG. 12 shows a flow diagram illustrating SBS shading and shaping
ステップ301:階層的細分割曲面と、ポリゴンメッシュと、非一様有理Bスプライン(NURBS)曲面がシェーディングによる形成化(SBS)への入力表面としてサポートされる。SBSの内部アルゴリズムは、階層的細分割曲面の特性を使用し、そのため、後者の2つのタイプのそれぞれは、シェーディングが始まる前に細分割曲面に変換される。 Step 301: Hierarchical subdivision surfaces, polygon meshes, and non-uniform rational B-spline (NURBS) surfaces are supported as input surfaces for shading formation (SBS). The SBS internal algorithm uses the properties of hierarchical subdivision surfaces, so each of the latter two types is converted to subdivision surfaces before shading begins.
ステップ302:細分割曲面がいったん定位置に置かれ、ユーザーに表示されると、それは、格子の隅、格子の幅および高さ、ピクセルサイズ、およびカメラから対象物への変換についての情報を含む2Dモデルビューと整合される。 Step 302: Once the subdivision surface is in place and displayed to the user, it contains information about the grid corners, grid width and height, pixel size, and camera-to-object conversion. Aligned with 2D model view.
ステップ303〜ステップ305:2Dモデルビューを使用して、ユーザーは照明方向を設定し、入力パラメータを調整し、シェーディングを行う、つまり、選択されたピクセルの強度を修正、または前以てシェーディングされたピクセルの集合をロードする。この情報は、整形アルゴリズム306に渡される。
Step 303-Step 305: Using the 2D model view, the user sets the lighting direction, adjusts the input parameters, and performs shading, ie, modifies the intensity of the selected pixel or has been previously shaded Load a set of pixels. This information is passed to the
ステップ306〜ステップ309:整形アルゴリズム306は、表面に対して行う正確な幾何学的変更を決定する。必要であれば、より多くの表面基本形が、十分な詳細が存在していることを確実にするために、シェーディングの領域における細分割を介して追加される(ステップ307)。2D設定で要求された変更を3Dで反映する高さフィールドが求められ(ステップ308)、細分割曲面は、それがこれらの高さを反映するように変更される(ステップ309)。
Steps 306-309: The shaping
結果は、更に変形でき(ステップ302〜ステップ309)、格納でき(ステップ310)、または所望の出力表面タイプに変換できる整形階層的細分割曲面となる。 The result is a shaped hierarchical subdivision surface that can be further transformed (steps 302-309), stored (step 310), or converted to the desired output surface type.
3.3 表面処理の改善
上記のII節で説明したSBSシステムおよび技術は、NURBS曲面の処理用に設計されている。ここで説明されるシステムと技術は、任意の階層的細分割曲面、ポリゴンメッシュ、またはNURBS曲面を容認するためにSBSを拡張する。入射メッシュは、まだそれが階層的細分割曲面でない場合は、階層的細分割曲面に変換され、結果としての細分割曲面は、それに対しSBSシェーディングと整形サイクルが実行されるものとなる。適合細分割を使用して、曲面へ詳細を追加し、分析と合成を使用して、その変化を曲面のすべてのレベルに伝達し、詳細の指定されたレベルでの修正を可能にする。method images(登録商標)の階層的細分割曲面(HSDS)ライブラリは、必要なすべての細分割サポートを提供する。HSDSライブラリの特徴は、本発明特許出願の所有者により所有されている特許に記載されている。SBS処理に起因する細分割曲面モデルは、所望するのであれば別の表面タイプに変換できる。このようにして、SBSは、入射および出射メッシュタイプの両者の選択における柔軟性を可能にし、そのアルゴリズムにおいて階層的細分割特性を利用する。
3.3 Improved Surface Treatment The SBS system and technique described in Section II above is designed for the treatment of NURBS surfaces. The systems and techniques described herein extend SBS to accept arbitrary hierarchical subdivision surfaces, polygon meshes, or NURBS surfaces. The incident mesh is converted to a hierarchical subdivision surface if it is not yet a hierarchical subdivision surface, and the resulting subdivision surface undergoes SBS shading and shaping cycles. Use adaptive subdivision to add details to the surface, and use analysis and synthesis to communicate the change to all levels of the surface, allowing for correction at the specified level of details. The method images® hierarchical subdivision surface (HSDS) library provides all necessary subdivision support. The features of the HSDS library are described in patents owned by the owners of the present patent application. The subdivision surface model resulting from the SBS process can be converted to another surface type if desired. In this way, SBS allows flexibility in the selection of both incoming and outgoing mesh types and utilizes hierarchical subdivision characteristics in its algorithm.
3.4 追加的整形アルゴリズム
連続であると仮定されている関心対象の表面は、ビューイング平面上に正投影される。この投影は、関連する高さフィールドを有し、その強度は、ランベルト反射マップを有する1つの光源により決定され、それにより、高さフィールドHを有する所与の表面のモデルビューにおける点(u,v)における離散強度Iは下記の
投影表面上の選択されたピクセルの強度は、シェーディングまたは前以て定義されたピクセルの集合をロードすることにより変更される。SBS整形アルゴリズムは、シェーディングにより決定された形状を求める。1つの解決法には、Bezier-Bernstein多項式が含まれる。モデルビューにおける2Dシェーディングを、表面上の3D形状として解釈するための新しい技術が、ここでSBSにおいて実践され、この節の残りの部分で説明される。 The intensity of the selected pixel on the projection surface is changed by shading or loading a predefined set of pixels. The SBS shaping algorithm obtains a shape determined by shading. One solution includes Bezier-Bernstein polynomials. A new technique for interpreting 2D shading in the model view as a 3D shape on the surface is now practiced in SBS and described in the rest of this section.
ここで記載される技術は、下記の
Pを、強度を修正されたモデルビューにおけるピクセルの集合とする。この集合は、修正ピクセルの集合と称される。一連の簡略化により、関数(3.02)を、
縮小された関数は、最小化するための計算上の負荷がより少ないが、これは、モデルビューにおけるすべてのピクセルの代わりに、修正されたピクセルの近傍で合計を求めるだけでよいことと、最小化問題の規模は、Γのサイズからxの長さに縮小されることの両者の理由による。 The reduced function is less computationally expensive to minimize, but this means that instead of all the pixels in the model view, it is only necessary to find the sum in the vicinity of the modified pixels, The scale of the problem is due to both reasons that the size of Γ is reduced to the length of x.
関数(3.03)を最小化するために使用される方法は、信頼領域法である。まず、関数は、下記の
はfの勾配ベクトルであり、
はfのヘッシアン行列である二次関数によりモデル化される。そして、モデルFは、ある
に対して、
である領域において最小化される。最小化を行うために使用される方法は、特殊疎行列乗算を有するCG-Steihaug法である。テスト値は、結果としての最小点x1から構築され、
Is the gradient vector of f,
Is modeled by a quadratic function that is a Hessian matrix of f. And model F is
Against
Is minimized in an area. The method used to perform the minimization is the CG-Steihaug method with special sparse matrix multiplication. Test value is constructed from the minimum point x 1 as a result,
ρが1に近ければ、Fは信頼領域内で、fに対する良好なモデルであると考えられる。信頼領域の中心は、x1に移動され、信頼領域の半径は増大する。ρが1から離れていれば、信頼領域の半径は減少する。この処理は繰り返され、つまり、新しい信頼領域におけるFに対して最小値が求められる。処理を停止する基準は、現在の信頼領域の中心において、
が十分に小さい、つまり、fの極小値が達成されたかどうかということである。この方法は収束することが証明できる。
If ρ is close to 1, F is considered to be a good model for f in the confidence region. The center of the confidence region is moved to x 1, the radius of the confidence region is increased. If ρ is away from 1, the radius of the trust region decreases. This process is repeated, that is, a minimum value is determined for F in the new confidence region. The criteria for stopping processing is at the center of the current trust region
Is sufficiently small, that is, whether a minimum value of f has been achieved. This method can be proved to converge.
3.5 SBS C++ API
C++アプリケーションプログラミングインタフェース(API)は、最近、SBSに対して開発されてきた。C++ APIは上記のmental matter(登録商標)ライブラリ上で機能し、連結時にlibmentalmatter.libを要求する。mental matterライブラリは、SBSライブラリの内部で開始され、終了する。
3.5 SBS C ++ API
The C ++ application programming interface (API) has recently been developed for SBS. The C ++ API functions on the above mental matter (registered trademark) library and requests libmentalmatter.lib at the time of connection. The mental matter library starts and ends inside the SBS library.
3つの主要SBSクラス
miSbs_surface
miSbs_ogl_view
miSbs_solver
がある。これらのクラスへのアクセスと作成方法は、miSbs_moduleより提供される。
Three major SBS classes
miSbs_surface
miSbs_ogl_view
miSbs_solver
There is. Access to these classes and how to create them is provided by miSbs_module.
miSbs_moduleの初期化は無条件であり、最初にクラスにアクセスするときに行われる。miSbs_moduleのインスタンスはその静的メソッドgetにより返される。terminateメソッドはライブラリをアンロードするときに呼び出さなければならない。SBSは、create_surfaceメソッドを介して、miSbs_surfaceオブジェクトにラップされているmental matterライブラリのmiCapi_cl_subsurfクラスからのオブジェクトを使用する。プラグインライタは、SBS APIにmiCapi_cl_subsurfのインスタンス、またはmiGeoBoxの形式のモザイク状のメッシュを提供する。別の可能性は、表面を提供しないことであり、その場合は、ライブラリは、空の細分割曲面を保持するラッパーを作成する。miSbs_moduleクラスにおける他のメソッドは、creat_viewerとget_solverを含む。 The initialization of miSbs_module is unconditional and is performed when the class is first accessed. An instance of miSbs_module is returned by its static method get. The terminate method must be called when unloading a library. SBS uses objects from the miCapi_cl_subsurf class of the mental matter library that are wrapped in the miSbs_surface object via the create_surface method. The plug-in writer provides the SBS API with an instance of miCapi_cl_subsurf or a mosaic mesh in the form of miGeoBox. Another possibility is not to provide a surface, in which case the library creates a wrapper that holds an empty subdivision surface. Other methods in the miSbs_module class include creat_viewer and get_solver.
miSbs_surfaceクラスは、miSbs_solverへのコールにおいて、SBS整形アルゴリズムへのアクセス、およびmiSbs_ogl_viewにおいて、表示および相互作用のために使用される。miSbs_surface実装は、miSbs_moduleのcreate_surfaceメソッドを使用してインスタンス化され、destroyメソッドにより破壊される。miSbs_surfaceクラスの他のメソッドは、get_subsurfと、get_depthと、convert(メッシュ指標をsurf指標へ、またはsurf指標から変換する)を含む。他の関連するクラスは、積分の速度を速めるために提供される。例えば、miSbsMax_meshは、3ds max(登録商標)メッシュを、miSbs_surfaceオブジェクトに、およびmiSbs_surfaceオブジェクトから変換する技術的詳細を隠す。 The miSbs_surface class is used for access to the SBS shaping algorithm in calls to miSbs_solver, and for display and interaction in miSbs_ogl_view. The miSbs_surface implementation is instantiated using the create_surface method of miSbs_module and destroyed by the destroy method. Other methods of the miSbs_surface class include get_subsurf, get_depth, and convert (converts a mesh index to or from a surf index). Other related classes are provided to speed up the integration. For example, miSbsMax_mesh hides the technical details of transforming a 3ds max® mesh into and out of a miSbs_surface object.
miSbs_ogl_viewクラスは、miSbs_surfaceのインスタンスを表示するために使用される。miSbs_ogl_view実装は、miSbs_moduleのcreate_viewerメソッドを使用してインスタンス化され、destroyメソッドにより破壊される。miSbs_ogl_viewエンティティは、所与のmiSbs_surfaceインスタンスへのリファレンスを維持していない。そのメッシュ表現(おそらく簡略化された)と、OpenGL(登録商標) contexts and triangle strip buffersのような補助データに関連するデータを保持するのみである。miSbs_ogl_viewクラスのメソッドは、set_settingsとupdateを、メッシュ頂点と面の2D投影の周りのメソッドの集合と共に含む。これらは、get_face_in_pixel、get_vtxs_in_face、get_vtx_pixels、get_2d_distance_from_vtx、get_face_color、set_face_color、reset_face_colors、set_pixel_buffer、get_pixels_noとcopy_pixel_bufferを含む。追加的helperクラスmiSbs-wind32_viewportは、既存のウィンドウ上でフックアップされるように提供される。それは、基本リフレッシュおよびメッセージ取扱い機能を提供する。 The miSbs_ogl_view class is used to display an instance of miSbs_surface. The miSbs_ogl_view implementation is instantiated using the create_viewer method of miSbs_module and destroyed by the destroy method. The miSbs_ogl_view entity does not maintain a reference to a given miSbs_surface instance. It only holds data related to its mesh representation (possibly simplified) and auxiliary data such as OpenGL® contexts and triangle strip buffers. The methods of the miSbs_ogl_view class include set_settings and update along with a set of methods around 2D projection of mesh vertices and faces. These include get_face_in_pixel, get_vtxs_in_face, get_vtx_pixels, get_2d_distance_from_vtx, get_face_color, set_face_color, reset_face_colors, set_pixel_buffer, get_pixels_no and copy_pixel_buffer. An additional helper class miSbs-wind32_viewport is provided to be hooked up on an existing window. It provides basic refresh and message handling functions.
miSbs_solverと称される第3クラスは、API内で呈示されてSBS操作を実行する。それは、静的、無状態インスタンスとして実践され、miSbs_moduleのget_solverメソッドを介してアクセスされる。そのメソッドは、get_default_settingsと、udpdate(2Dシェーディングから3D形状を決定する主要アルゴリズム)と、cancelを含む。 A third class called miSbs_solver is presented in the API to perform SBS operations. It is implemented as a static, stateless instance and is accessed via the miSbs_module get_solver method. The methods include get_default_settings, udpdate (the main algorithm that determines 3D shape from 2D shading), and cancel.
3.6 プロトタイプ:3ds max(登録商標)用SBSプラグイン
SBSは、Autodesk(登録商標)/discreet(登録商標)からの3ds max(登録商標)に対するモディファイヤとして最近、実装された。モディファイヤにより、アーティストは、単純なブラシにより3ds maxビューポイント上で直接2DにおいてシェーディングすることによりSBSモデル化を実行できる。SBSモデル化ライブラリのすべての機能は、プラグインにおいて入手可能である。図13は、3ds maxにおけるSBS Modifierのスクリーンショット350を示している。
3.6 Prototype: SBS Plug-in for 3ds max (R) SBS was recently implemented as a modifier for 3ds max (R) from Autodesk (R) / discreet (R). The modifier allows artists to perform SBS modeling by shading in 2D directly on the 3ds max viewpoint with a simple brush. All functions of the SBS modeling library are available in the plug-in. FIG. 13 shows a screen shot 350 of the SBS Modifier at 3ds max.
プラグイン機能は、
基本2Dペイントパッケージとシェーディングをロードおよび保存する機能を有するシェーディングツールと、
光制御と、
シェーディング情報と、光方向と、入力パラメータに基づく表面形状の更新と、
モディファイヤの内部のアンドゥ/リドゥと、
更新(マスキング)する領域を選択するツールと、
標準細分割曲面操作機能を有する選択ツールを含む。
Plug-in function
A shading tool with the ability to load and save a basic 2D paint package and shading;
Light control,
Updating the surface shape based on shading information, light direction, and input parameters;
Undo / redo inside the modifier,
A tool to select the area to be updated (masking),
Includes a selection tool with standard subdivision surface manipulation functions.
3.7 SBSの拡張
上記のシステムと技術は、多数の方法で補強できると考えられる。例えば、これらのシステムと技術は、下記を含むように修正できる。
3.7 SBS Extension The above systems and technologies could be augmented in a number of ways. For example, these systems and techniques can be modified to include:
Mesh-Based SBS:最初に、細分割曲面の特性に変換、および/または細分割曲面の特性を使用することなく、SBS処理をポリゴンメッシュ上で行う機能。 Mesh-Based SBS: A function to perform SBS processing on a polygon mesh without first converting to the characteristics of subdivision surfaces and / or using the characteristics of subdivision surfaces.
Real-Time Mesh Display:会話形式で、大きく、複雑なメッシュを表示する機能。他の修正には、ビュー依存簡略化およびカスタムメッシュ操作を含むことができる。 Real-Time Mesh Display: A function that displays large and complex meshes in a conversational format. Other modifications can include view dependent simplification and custom mesh manipulation.
Trimming:表面全体を任意にトリミングする機能。 Trimming: A function that arbitrarily trims the entire surface.
Creasing:表面全体に任意にしわを付ける機能。 Creasing: A function that arbitrarily wrinkles the entire surface.
Shape from Contour Lines:SBSモデル化処理を完成するためのツールとしての、輪郭線を描いて、初期3D形状を作成する機能。 Shape from Contour Lines: A function for creating an initial 3D shape by drawing an outline as a tool for completing the SBS modeling process.
NURBS-Based SBS:SBS処理を、非一様有理Bスプライン(NURBS)上で起動する機能。 NURBS-Based SBS: A function that starts SBS processing on non-uniform rational B-splines (NURBS).
IV.SBSモデラ内で実装される整形方法およびアルゴリズム
4.1 序章
シェーディングによる形成化(SBS)処理の目標は、二次元(2D)シェーディングを、三次元(3D)形状として解釈することである。ここでは、これを達成するための多数の技術とシステムが説明される。ここでの説明の目的のために、グレースケールシェーディングがビューイング平面上への、表面の投影に対して既に行われていることと、基盤となる表面は連続であることと、投影表面のグレースケール強度は、数学的に記載できることが仮定されている。Hは、ビューイングウィンドウ内で見ることができる表面の一部と関連する、カメラ空間内の高さ値を表わし、
は、表面に与えられた照明条件λ表わし、CHは、曲面の曲率を表わすとする。SBSシェーディングアルゴリズムは、高さ値Hに加算され、下記の
Represents the illumination condition λ given to the surface, and C H represents the curvature of the curved surface. The SBS shading algorithm is added to the height value H and
SBS処理は、効率的で、基盤となる表面の連続性を乱さないような方法で行わなければない。理論的設定から計算上の設定へ移行するためには、次節で検討するディスクレタイズ(discretize)が必要となる。 The SBS process must be performed in a way that is efficient and does not disturb the continuity of the underlying surface. In order to move from theoretical settings to computational settings, the discretize discussed in the next section is required.
4.2 ラスタライゼーション
SBSに対する解を求めるためには、問題は、適宜に説明され、離散計算のためにラスター化されなければならない。
4.2 Rasterization In order to find a solution for SBS, the problem must be explained accordingly and rasterized for discrete computation.
4.2.1 モデルビュー
ビューイングウィンドウは、整数値座標(u,v)と、対応するカメラ空間座標(x,y)を有するピクセルの直交格子Mとしてラスター化される。このラスター化されたものは、「モデルビュー」と称される。
4.2.1 Model View The viewing window is rasterized as an orthogonal grid M of pixels having integer value coordinates (u, v) and corresponding camera space coordinates (x, y). This rasterized image is called a “model view”.
ラスターピクセルの近傍
は、ピクセルそれ自身を含み、|u0−u|≦1と|v0−v|≦1となるようなすべてのピクセル
として定義される。ピクセルの集合Aの近傍は、nbhd(A)として表わされる。ピクセルは、ピクセルがAのメンバーであれば集合Aの境界上にあると定義されるが、その隣の1つまたは2つ以上はA内にない。Aの境界は、∂Aと表わされる。Aの内部は、
と定義され、符号「\」は、集合の減算を表わす。モデルビューの内部のピクセルは、9個のピクセルを含む近傍を有している。
Raster pixel neighborhood
All pixels that contain the pixel itself, such that | u 0 −u | ≦ 1 and | v 0 −v | ≦ 1
Is defined as The neighborhood of the pixel set A is denoted as nbhd (A). A pixel is defined to be on the boundary of set A if the pixel is a member of A, but one or more of its neighbors are not in A. The boundary of A is denoted ∂A. The inside of A is
The symbol “\” represents set subtraction. The pixels inside the model view have a neighborhood that contains nine pixels.
4.2.2 表面の投影
SBSアルゴリズムは、ビューイング平面上への、表面の正投影を仮定している。Sは、投影表面と交差するモデルビュー内のピクセルの集合を表わしている。表面の高さフィールドは、Hで表わされるが、S内のピクセル上で定義され、カメラ空間における表面の高さを含む。H(u,v)は、モデルビュー内のピクセル(u,v)において見ることができる表面の部分の浮動小数点高さである。
4.2.2 Surface projection The SBS algorithm assumes an orthographic projection of the surface onto the viewing plane. S represents the set of pixels in the model view that intersect the projection surface. The surface height field, represented by H, is defined on pixels in S and includes the height of the surface in camera space. H (u, v) is the floating point height of the portion of the surface that can be seen at pixel (u, v) in the model view.
4.2.3 第1導関数
モデルビュー内のラスター点は、それらの垂直方向および水平方向距離が等しくなるように、つまり、モデルビューピクセルは正方形で、同じサイズとなるように配置されていると仮定されている。しかし、ここで説明しているシステムと技術は、非正方形ピクセルに関しても実装できるということに留意されたい。非正方形ピクセルは、例えば、SBSのメッシュに基づく実装において使用できる。その場合、投影基本形頂角は、ピクセルの定義に使用できる。
4.2.3 First derivative The raster points in the model view are arranged so that their vertical and horizontal distances are equal, that is, the model view pixels are square and the same size. It is assumed. However, it should be noted that the systems and techniques described herein can also be implemented for non-square pixels. Non-square pixels can be used, for example, in SBS mesh-based implementations. In that case, the projected basic apex angle can be used to define the pixel.
∫をカメラ空間における、近傍ラスター点間の浮動小数点幅(高さ)とする。高さフィールドHを有する表面のu方向における離散第1導関数は、関心対象の点に跨る2個のピクセルにわたる単純な勾配公式に基づき、
同様に、v方向における離散第1導関数は、
4.2.4 表面法線
高さフィールドHを有する表面に対する離散法線は、
4.2.5 照明条件と強度
SBSにおいては、照明条件は、1つの光源によるランベルト面であると仮定されている。しかし、別の照明モデルを使用すること、および/または複数の照明源を使用することも可能である。光源は、光の方向を指し示す単位ベクトルλにより記載され、無限に遠くにある。高さフィールドHを有する所与の表面の離散強度Iと光ベクトルλは、
この数式は、0.0(黒)と1.0(白)の間のスカラー値を生成し、光源に面している表面の領域は、面していない部分よりも明るいことを暗に意味している。 This formula produces a scalar value between 0.0 (black) and 1.0 (white), implying that the surface area facing the light source is brighter than the unfaced area. is doing.
4.2.6 第2導関数
高さフィールドHを有する表面の離散第2導関数は、代替の数式
4.2.7 曲率
高さフィールドHを有する曲面の離散曲率は、非負スカラー
4.2.8 最小化対象の離散関数
関数(4.01)の打切りバージョンは、離散強度および曲率の定義を使用して作成できる。それらの式は近傍ピクセル値に依存するので、モデルビューの内部と、投影表面の内部の両者にあるピクセルのみが、関心対象領域に含まれていると考えられる。関数(4.01)の離散バージョンは
に対して、Γ(u,v)=0.0の条件が課せられ、それにより、モデルビュー上へのその投影の境界における、またはモデルビューのエッジにおける表面上のアーティファクトが回避される。
4.2.8 Discrete function to be minimized A truncated version of the function (4.01) can be created using the definition of discrete strength and curvature. Since these equations depend on neighboring pixel values, only pixels that are both inside the model view and inside the projection surface are considered to be included in the region of interest. The discrete version of the function (4.01) is
Is subject to the condition Γ (u, v) = 0.0, thereby avoiding artifacts on the surface of the projection on the model view or at the edges of the model view.
4.3 最小化される関数の縮小
この節では、関数(4.10)は、
におけるすべてのピクセルではなく、ユーザーにより強度が修正されたピクセルの近傍におけるピクセルにわたる合計を含むことのみが必要であることが示される。更に、関数の規模は、提案された高さ増分を、よりコンパクトな方法で表現することにより縮小されることが示される。
4.3 Reduction of function to be minimized In this section, function (4.10) is
It is shown that it is only necessary to include the sum over the pixels in the vicinity of the pixels whose intensity has been modified by the user, rather than all the pixels in. Furthermore, it is shown that the function scale is reduced by expressing the proposed height increment in a more compact way.
4.3.1 修正ピクセル
下記の
4.3.2 ビューコード
ビューコードは、計算における縮小の発展を支援する。ビューコードはピクセルを、提案された高さ増分で分類する。パスと接続された集合の表記がビューコードの構築には必要となる。ピクセル(u0,v0)からピクセル(uj,vj)へのパスは、ピクセルの任意のシーケンス
ならば集合Bの接続成分であり、各
に対して、Aに完全に含まれる(u0,v0)から(u1,v1)のパスがある。ビューコードは、高さ増分ΓはS\Pの接続成分上では定数であることを仮定している。表面アーティファクトを回避するために、この定数は、接続成分が、
と交差するならば0.0と仮定されている。
4.3.2 View codes View codes support the evolution of reduction in computation. The view code sorts the pixels by the proposed height increment. The notation of the set connected to the path is necessary to construct the view code. The path from pixel (u 0 , v 0 ) to pixel (u j , v j ) is an arbitrary sequence of pixels
Is the connected component of set B, and
On the other hand, there are paths (u 0 , v 0 ) to (u 1 , v 1 ) that are completely included in A. The view code assumes that the height increment Γ is a constant on the connected component of S \ P. In order to avoid surface artifacts, this constant is
Is assumed to cross 0.0.
T=(T−1,T0,T1,...,Tn−1)を、S\Pの分割とし、T−1を、
と交差するすべての接続成分の和集合とし、0≦i<nに対するTiを、S\Pの接続成分で、それを適切に含むものがないという意味で最大である接続成分とする。そうすると、増分の集合Γは、多くとも(m+n)の固有非ゼロ値を、修正ピクセルに対して1つ、各Tiに対して1つ有し、それによりi≠−1である。
Let T = (T −1 , T 0 , T 1 ,..., T n−1 ) be a division of S \ P, and T −1
Let T i for 0 ≦ i <n be the largest connected component in the sense that none of the connected components of S \ P is appropriate. Then, the incremental set Γ has at most (m + n) unique non-zero values, one for the modified pixel and one for each T i , so that i ≠ -1.
「ビューコード」は、
4.3.3 関数ピクセルと計算における第1縮小
表面の断面の高さを、一定量だけ移動させても、その断面の内部の強度または曲率は変化しない。各Tiにおけるピクセルは、一定量だけ移動され、TはS\Pの分割であるので、
に含まれる。下記の
include. below
4.3.4 増分ベクトルと計算における第2縮小
Γには、最大(m+n)の固有非ゼロ高さ増分があるので、最小化される関数は、ビューコードにより特定されるように、それらの増分の関数であることのみが必要である。下記の
4.3.5 目的関数
関数(4.13)と関数(4.16)とは組み合わせて下記の関数を形成することができ、その関数は最小化されるときは、関数(4.10)の最小化と等価になる。
4.4 信頼領域ニュートン−CG法
4.4.1 概要
SBSは信頼領域ニュートン−CG法を使用して目的関数(関数(4.17))を最小化する。信頼領域法の主要な思想は、関数に対して二次式モデルを構成し、「信頼領域」内でモデル関数を最小化して、ある基準に従って信頼領域を調整し、新しい信頼領域内でモデル関数を最小化して、その領域を再び調整、更に再び最小化して、・・・ということである。ある制限が与えられると、そのような方法は、元の関数の極小値に対応する点に収束することが保証される。
4.4 Trust Region Newton-CG Method 4.4.1 Overview SBS uses the trust region Newton-CG method to minimize the objective function (function (4.17)). The main idea of the trust region method is to construct a quadratic model for the function, minimize the model function within the “trust region”, adjust the trust region according to a certain criterion, and model function within the new trust region , Adjust the area again, minimize it again, and so on. Given certain restrictions, such a method is guaranteed to converge to a point corresponding to the local minimum of the original function.
増分ベクトルに集中化された目的関数の信頼領域域モデル
は勾配ベクトル
はヘッシアン行列
Is the gradient vector
Is a Hessian matrix
が十分に小さい場合、つまり、ある収束閾値よりも小さい場合は、極小値オフ(off)がx0において起こり、処理は終了したと結論される。そうでない場合は、モデルF0は、ある正数Δ0に対する円形信頼領域
において、下記に説明するCG-Steihaug法を介して最小化される。p0を、信頼領域においてモデルの最小化が起きた結果としての増分ベクトルとする。
が、収束閾値よりも小さい場合は、fの極小値がx0+p0で起こり、処理は終了したと結論される。それ以外では、テスト値
は0との近さをテストされる。十分に近くない場合は、処理は、
が収束閾値以下になるまで再び繰り返される。fの極小値は、xi+piにおいて求められる。モデルをどのように計算するか(特に、f、
、
をどのように求めるか)についての詳細は5節で、CG-Steihaug法に必要な計算は6節で、そして、
の収束についての検討は7節で行う。
If sufficiently small, that is, if less than a certain convergence threshold, minimum value off (off) occurs at x 0, the process is concluded to be completed. Otherwise, the model F 0 is a circular confidence region for some positive number Δ 0
Is minimized via the CG-Steihaug method described below. Let p 0 be the incremental vector as a result of model minimization in the confidence region.
However, if it is smaller than the convergence threshold, the minimum value of f occurs at x 0 + p 0 , and it is concluded that the process is finished. Otherwise, test value
Is tested for proximity to zero. If not close enough, the process
Is repeated again until becomes below the convergence threshold. minimum value of f is determined in x i + p i. How to calculate the model (especially f,
,
For details on how to find the CG-Steihaug method in Section 6, and
A discussion of convergence is given in Section 7.
4.4.2 擬似コード
図14は、説明した技術の擬似コードのリストを示している。
4.4.2 Pseudocode FIG. 14 shows a list of pseudocodes for the described technique.
4.5 信頼領域モデルの計算
この節の目標は、信頼領域法に対して使用される二次式モデルである関数(4.18)の計算を支援するツールを構築することである。特に、f(x)、
、および
に対する式を求めるために残差が使用される。
4.5 Computation of the trust region model The goal of this section is to build a tool that supports the computation of the function (4.18), a quadratic model used for the trust region method. In particular, f (x),
,and
The residual is used to find the expression for.
4.5.1 関数、勾配、およびヘッシアンを取得するための残差の使用
であることを思い起こして、関数(4.18)の残差を0≦i<tに対して、
のように定義する。関数(4.18)の残差ベクトルを、次のように第1、第2、第3、および第4種の残差すべての結合と定義する。
は、以前に定義したように残差勾配ベクトルであり、
は残差ヘッシアン、
と、
とを求め、その結果、f(x)、
、および、
を求めるために使用できる。その最終的な結果は、信頼領域モデル関数(関数(4.18))を計算する簡単な方法である。
4.5.1 Using residuals to obtain functions, gradients, and Hessians
Recall that the residual of the function (4.18) is 0 ≦ i <t,
Define as follows. The residual vector of function (4.18) is defined as the combination of all residuals of the first, second, third and fourth types as follows:
Is the residual gradient vector as defined previously,
Is the residual Hessian,
When,
And as a result, f (x),
,and,
Can be used to The final result is a simple method of calculating the trust region model function (function (4.18)).
4.5.2 第1種の残差
強度に対する式は、第1種の残差を、0≦i<tに対して、
4.5.3 第2、第3、および第4種の残差
第2種の残差は、0≦i<tに対して、
4.6 信頼領域モデルの最小化:CG-Steihaug法
4.6.1 概要
信頼領域ニュートン−CG法における各ステップにおいて、SBSは、CG-Steihaug法を使用して、信頼領域におけるモデル関数の最小値を求める。共役勾配法は、一次連立方程式Ax=−b、ここでAは対称行列である方程式を解こうとする。問題は、下記のように再公式化でき、
最小化因子αi,jを計算するために、項同士の乗算を行い、αの冪数に従って整理することにより、φpi,j+αdi,jに沿う式を求める。
数列の開始時の量は、pi,0=0、ri,0=−▽f(xi)=b、およびdi,0=−▽f(xi)=bである。数列における後続する項は、ヘルパー式
4.6.2 擬似コード
続く擬似コードにおいて、点の数列pi,jは、min_ptと表わされ、方向の数列はdi,jは方向により表わされ、残差の数列ri,jは残差により表わされる。「aドットb」はaTbを表わすために使用される。
4.6.2 Pseudocode In the following pseudocode, the sequence of points p i, j is represented as min_pt, the sequence of directions is represented by d i, j by the direction, and the sequence of residuals r i, j Is represented by the residual. “A dot b” is used to represent a T b.
4.6.3 疎行列乗算
CG-Steihaug法の各反復において、遥かに多くの手間がかかる演算は、Aの方向ベクトルとの乗算である。目的関数の残差の観点からのAに対する下記の式を呼び出す。
In each iteration of the CG-Steihaug method, a much more laborious operation is multiplication with the A direction vector. Call the following expression for A in terms of the residual of the objective function:
4.7 信頼領域ニュートン−CG法の収束
信頼領域法により構築された数列xiは、
・信頼領域法の各ステップiにおいて、最小化アルゴリズムにより構築されたpiは、ある定数
に対して、
・最小化アルゴリズムにより構築された数列piは、ある定数c2≧1に対して、
・信頼領域の中心を移動する閾値は、区間(0,1/4)に含まれる。
・fは、レベル集合
、つまり、ある定数
に対して、
・Lは、境界を区切られる、つまり、ある定数
に対して、
・すべてのi≧0に対して、
が存在する。
・fはL上でリプシッツ連続微分可能、つまり、任意の
に対して、
が存在する。上記に主張された条件のそれぞれを下記で証明する。
4.7 Convergence of Trust Region Newton-CG Method The sequence x i constructed by the trust region method is
In each step i of the trust region method, p i constructed by the minimization algorithm is a constant
Against
The sequence p i constructed by the minimization algorithm is for some constant c 2 ≧ 1
The threshold value for moving the center of the trust region is included in the section (0, 1/4).
・ F is a level set
That is, a constant
Against
L is bounded, ie a constant
Against
・ For all i ≧ 0
Exists.
F is Lipschitz continuously differentiable on L, that is, any
Against
Exists. Each of the above asserted conditions is proved below.
4.7.1 モデル推定
SBSは、CG-Steihaug法をそれぞれのステップiにおいて使用して、信頼領域におけるモデルFiの最小値に対応する点
4.7.2 モデル最小値の境界
任意のjに対して、CG-Steihaugアルゴリズムにより計算されたpi,jが信頼領域の外部となる場合は、それは内部のベクトルと置換され、アルゴリズムはその値を返すので、
である。
4.7.2 Model Minimum Boundary For any j, if pi , j computed by the CG-Steihaug algorithm is outside the trust region, it is replaced with an internal vector and the algorithm Returns a value,
It is.
4.7.3 信頼領域中心移動閾値範囲
閾値に対する範囲を強制して、信頼領域の中心を移動することは、それを適切に設定することである。擬似コードにおいては、移動閾値は、
に設定される。
4.7.3 Trust Region Center Movement Threshold Range To force the range for the threshold and move the center of the trust region is to set it appropriately. In the pseudo code, the movement threshold is
Set to
4.7.4 レベル集合のfの下方境界
に対してf(x)≧0であり、従って、xに対してもf(x)≦f(x0)となる。
4.7.4 Lower boundary of f in level set
Therefore, f (x) ≧ 0, so that f (x) ≦ f (x 0 ) even for x.
4.7.5 レベル集合の境界
となるようなc4>0が存在し、t>c4が、h(tx)>f(x0)を暗示するので、
であり、t>c4がf(tx)>f(x0)を暗示し、f(tx)≦f(x0)が、
およびt≦c4、つまり、所望するように、
であることを暗示していることを意味する。
4.7.5 Level set boundaries
C 4 > 0 such that and t> c 4 implies h (tx)> f (x 0 )
T> c 4 implies f (tx)> f (x 0 ), and f (tx) ≦ f (x 0 )
And t ≦ c 4 , that is, as desired,
Means that it is.
任意のスカラーs>0と各jに対して、
およびt>0なので、hx(t)>0であり、これは、
に対して、
And t> 0, so hx (t)> 0,
Against
4.7.6 ヘッシアンの境界
信頼領域ニュートン−CG法においては、xi+1に対して2つの可能性がある。xi+1=xiであって、その場合はf(xi+1)=f(xi)であり、またはxi+1=xi+piであり、ここにおいてpiはCG-Steihaug法に起因する点である。後者の場合は、モデルテスト値
となるように成り立ち、従って、
Therefore, therefore,
4.7.7 fのリプシッツ連続微分可能性
ki,jを前節と同様にし、
とする。iを固定して、
And i is fixed,
4.8 表記
図16Aと図16Bとは、参照の利便性のために、本発明の形態によるシステムと技術を記載するために使用される数学的表記の一覧を示している表500aと表500bとを記載している。
4.8 Notation FIGS. 16A and 16B are tables 500a and 500b showing a list of mathematical notations used to describe systems and techniques according to aspects of the present invention for convenience of reference. Is described.
V.一般化された方法のフローチャート
図17〜図22は、三次元(3d)対象物の表面の少なくとも一部分の幾何形状を表現する幾何学的モデルを、画像平面上に投影された対象物を表現する、対象物の二次元(2d)画像との関連におけるオペレータによるシェーディングにより生成する、本発明の上記に検討した態様に従う、一般化された方法600と、補助的方法620、640、660、680、および700を例示する一連のフローチャートを示している。
V. Generalized Method Flowcharts FIGS. 17-22 represent a geometric model representing the geometry of at least a portion of the surface of a three-dimensional (3d) object, representing the object projected onto the image plane. A
図17に示されている一般化された方法600は下記のステップを含む。
The
ステップ601:対象物の画像との関連において、画像の少なくとも一部分の明度レベルにおける変化を表現している、オペレータにより提供されるシェーディング情報を受け取る。 Step 601: Receive shading information provided by an operator representing a change in lightness level of at least a portion of an image in the context of an image of an object.
ステップ602:更新幾何学的モデルの少なくとも1つの幾何学的特徴を決定するために使用されるシェーディング情報に応じて、対象物の更新幾何学的モデルを生成する。 Step 602: Generate an updated geometric model of the object in response to the shading information used to determine at least one geometric feature of the updated geometric model.
ステップ603:更新幾何学的モデルにより定義されたように、対象物の画像を表示する。 Step 603: Display an image of the object as defined by the updated geometric model.
上記で検討したように、一般化された方法600は、任意の階層的細分割曲面、ポリゴンメッシュ、またはNURBS曲面のデジタル入力に基づいて作動できる。
As discussed above, the
一般化された方法600は、図18に示されている補助的方法620を含み、補助的方法620は、下記のステップを含む。
The
ステップ621:いったん細分割曲面が生成され、ユーザーに表示されると、細分割曲面を、格子の隅と、格子の幅と高さと、ピクセルサイズと、カメラから対象物への変換についての情報を含む2dモデルビューと整合する。 Step 621: Once the subdivision surface is generated and displayed to the user, the subdivision surface is obtained with information about the corners of the grid, the width and height of the grid, the pixel size, and the camera-to-object conversion. Consistent with the containing 2d model view.
ステップ622:2dモデルビューを利用して、照明方向を設定し、入力パラメータとシェードを調整し、それにより、選択されたピクセルの強度を修正するか、または予めシェーディングされたピクセルの集合をロードする。 Step 622: Utilizing the 2d model view, set the lighting direction, adjust input parameters and shades, thereby modifying the intensity of the selected pixels or loading a set of pre-shaded pixels .
この情報は、整形アルゴリズムにより利用される。パラメータは、修正領域においてどの程度の細分割が起きるかに対する影響(a)および幾何学的修正がどの程度目立つかに対する影響(b)のいずれかを含むことができる。 This information is used by the shaping algorithm. The parameters can include either an effect on how much subdivision occurs in the correction region (a) and an effect on how noticeable the geometric correction is (b).
ステップ623:表面に対する正確な幾何学的変更を決定し、シェーディングの領域において、細分割を介して、必要であれば表面基本形状を追加して、十分な詳細が存在することを確実にし、3Dにおいて、2D設定において要求された変化を反映する高さフィールドを決定し、細分割曲面を変更して決定された高さ値を反映し、それにより、整形された、階層的細分割曲面という結果になり、この細分割曲面は更に変更、保存、または所望の出力表面タイプに変換できる。表面基本形状は、三角形、四角形、または他の多角形のいずれかを含むことができる。 Step 623: Determine the exact geometric changes to the surface, add surface primitives if necessary, via subdivision, in the area of shading to ensure that there is enough detail 3D Result in a hierarchical subdivision surface shaped by determining a height field reflecting the requested change in 2D settings and changing the subdivision surface to reflect the determined height value This subdivision surface can be further modified, stored, or converted to the desired output surface type. The surface basic shape can include either a triangle, a quadrangle, or another polygon.
一般化された方法600は、図19に示されている補助的方法640を含み、補助的方法640は、下記のステップを含む。
The
ステップ641:基盤となる細分割曲面を作成する。 Step 641: Create a subdivision curved surface as a base.
ステップ642:2Dシェードビューを表示する。 Step 642: Display a 2D shade view.
ステップ643:ユーザーが照明、シェーディングを設定し、パラメータを調整できるようにする。 Step 643: Allow the user to set lighting and shading and adjust parameters.
ステップ644:(a)詳細を表面上に導入し、(b)表面に対して新しい高さパラメータを決定し、(c)細分割曲面を整形することを含む整形処理を実行して、それにより3D細分割曲面を生成する。パラメータは、(a)修正領域においてどの程度の細分割が起きるかに対する影響および(b)幾何学的修正がどの程度目立つかに対する影響のいずれかを含むことができる。 Step 644: (a) introducing details on the surface, (b) determining a new height parameter for the surface, and (c) performing a shaping process including shaping the subdivision surface, thereby Generate a 3D subdivision curved surface. The parameters can include either (a) the effect on how much subdivision occurs in the correction region and (b) the effect on how noticeable the geometric correction is.
一般化された方法600はまた、図20に示されている補助的方法660を含み、補助的方法660は、下記のステップを含む。
The
ステップ661:メッシュ表現またはNURBS曲面のいずれかを含む入力を受け取る。 Step 661: Receive input including either a mesh representation or a NURBS surface.
ステップ662:まだ階層的細分割曲面になっていなければ、入力を階層的細分割曲面に変換する。 Step 662: If not yet a hierarchical subdivision surface, convert the input to a hierarchical subdivision surface.
ステップ663:階層的細分割曲面に対し、シェーディングと整形を実行する。 Step 663: Perform shading and shaping on the hierarchical subdivision surface.
ステップ664:曲面に詳細を追加するために適合細分割を利用し、変化を曲面のすべてのレベルに伝播するために分析および合成を利用し、それにより、詳細の選択されたレベルでの修正を可能にする。 Step 664: Use adaptive subdivision to add details to the surface, and use analysis and synthesis to propagate changes to all levels of the surface, thereby modifying the details at the selected level. enable.
ステップ665:階層的細分割曲面ライブラリを提供する。 Step 665: Provide a hierarchical subdivision surface library.
ステップ666:所望するのであれば、SBS処理の結果としての細分割曲面モデルを、別の表面タイプに変換する。 Step 666: If desired, convert the subdivision surface model as a result of the SBS process to another surface type.
一般化された方法600はまた、図21に示されている補助的方法680を含み、補助的方法680は、下記のステップを含む。
The
ステップ681:
ステップ682:関数を、
ステップ683:投影表面の内部と交差する、モデルビューにおけるすべてのピクセル上の合計から、それを修正ピクセルの近傍と交差させることにより、Qと称される縮小された集合上のみでの合計への縮小を実行し、それにより、計算は、モデルビューにおいて見られるように、投影表面全体で行う必要がなくなる。 Step 683: From the sum over all pixels in the model view that intersect the interior of the projection surface to the sum over only the reduced set called Q by intersecting it with the neighborhood of the modified pixel Reduction is performed so that calculations need not be performed across the projection surface, as seen in the model view.
一般化された方法600はまた、図22に示されている下記の補助的方法700を含み、補助的方法700は、下記のステップを含む。
The
ステップ701:二次関数
はfの勾配ベクトルであり、
は、fのヘッシアン行列である式により関数をモデル化する。
Step 701: Quadratic function
Is the gradient vector of f,
Models a function with an expression that is a Hessian matrix of f.
ステップ702:モデルFを選択された領域で最小化する。この例においては、選択された領域は、ある
に対して、
である。
Step 702: Minimize model F in the selected region. In this example, the selected region is
Against
It is.
ステップ703:特殊疎行列乗算を伴うCG-Steihaug法を利用することにより最小化を実践する。 Step 703: Minimize by using CG-Steihaug method with special sparse matrix multiplication.
ステップ704:結果としての最小値点x1から、
ステップ705:信頼領域において、fに対する最小値が、確立された基準に基づいて求められるまで処理を繰り返す。この例においては、処理を停止する基準は、
が、fの極小値が達成された現在の信頼領域の中心において、十分に小さいかどうかである。
Step 705: Repeat the process until the minimum value for f is determined based on established criteria in the trust region. In this example, the criterion for stopping the process is
Is sufficiently small at the center of the current confidence region where the local minimum of f is achieved.
上述した一般化された方法と補助的方法は、コンピュータ援用設計(CAD)システム、コンピュータグラフィックスシステム、または幾何形状を作成、表示、操作、またはモデル化できるソフトウェアアプリケーションのいずれかと相互作動が可能なように適合されたコンピュータソフトウェアプラグイン製品として実装できるということに留意されたい。プラグイン製品の機能は、2d描画機能と、シェーディング、光制御、パラメータ調整、シェーディング情報に基づく表面形状の更新、光方向、および入力パラメータ、アンドゥ/リドゥ機能をモディファイヤの内部にロードおよび保存する機能を有するシェーディングツールと、マスキング技術を利用して、更新する領域を選択するツールと、標準細分割曲面操作の集合を有する選択ツールのいずれかを含むことができ、パラメータは、(a)修正領域においてどの程度の細分割が起きるかに対する影響および(b)幾何学的修正がどの程度目立つかに対する影響、のいずれかを含むことができる。 The generalized and auxiliary methods described above can interoperate with any computer-aided design (CAD) system, computer graphics system, or software application that can create, display, manipulate, or model geometry. Note that it can be implemented as a computer software plug-in product adapted to Plug-in product functions load and save 2d rendering functions, shading, light control, parameter adjustment, surface shape update based on shading information, light direction and input parameters, undo / redo functions inside the modifier A function shading tool, a tool for selecting an area to be updated using a masking technique, and a selection tool having a set of standard subdivision curved surface operations can be included. It can include either the effect on how much subdivision occurs in the region and (b) the effect on how noticeable geometric modifications are.
更に、上述したように、一般化された方法と補助的方法は、最初に細分割曲面の特性に変換、またはそれを使用することなく、ポリゴンメッシュまたはNURBS曲面上で、SBS処理を行う機能を有することができる。この方法と補助的方法は、大きく、複雑なメッシュを会話形式で表示する機能と、曲面全体にわたって任意にトリミングする機能と、SBSモデル化処理と連係して使用可能な、初期3d形状を生成するために、輪郭線を描画する機能も更に含むことができる。 Furthermore, as described above, the generalized method and the auxiliary method have the function of performing the SBS processing on the polygon mesh or the NURBS surface without first converting into the characteristics of the subdivision surface or using it. Can have. This method and the auxiliary method generate an initial 3d shape that can be used in conjunction with the ability to interactively display large, complex meshes, arbitrarily trim the entire curved surface, and the SBS modeling process. Therefore, a function of drawing a contour line can be further included.
上記の説明は、当業者が本発明を行うことができるようにする詳細を含むが、説明は本質的に例としてであって、その多数の修正と変形が、これらの教示の恩恵を受けた当業者には明白であるということを認識されたい。従って、本明細書における本発明は、ここに付随する請求項によってのみ定義され、請求項は、従来技術により容認される程度に広く解釈されるように意図されている。 While the above description includes details that enable those skilled in the art to practice the invention, the description is by way of example only, and numerous modifications and variations have benefited from these teachings. It should be recognized that it will be apparent to those skilled in the art. Accordingly, the invention herein is defined solely by the claims appended hereto and the claims are intended to be construed as broadly as is acceptable by the prior art.
本発明は、特に付随する請求項により示される。本発明の上記のおよび更なる利点は、添付された図面と連係する下記の説明を参照することでより良好に理解されよう。
Claims (27)
A.前記対象物の前記画像との関連において、前記画像の少なくとも一部分の明度レベルにおける変化を表現している、前記オペレータにより提供されるシェーディング情報を受け取り、
B.更新幾何学的モデルの少なくとも1つの幾何学的特徴を決定するために使用される前記シェーディング情報に応じて、前記対象物の前記更新幾何学的モデルを生成し、
C.前記更新幾何学的モデルにより定義されたように、前記対象物の前記画像を表示し、さらに、
D.前記方法は、任意の階層的細分割曲面、ポリゴンメッシュ、またはNURBS曲面のデジタル入力により作動できる、
ことを特徴とする、製図方法。 A geometric model representing the geometry of at least a portion of the surface of a three-dimensional (3D) object, associated with a two-dimensional (2D) image of the object representing the object projected onto an image plane A drawing method by a computer generated by shading by an operator,
A. Receiving shading information provided by the operator representing a change in lightness level of at least a portion of the image in relation to the image of the object;
B. Generating the updated geometric model of the object in response to the shading information used to determine at least one geometric feature of the updated geometric model;
C. Displaying the image of the object as defined by the updated geometric model; and
D. The method can be operated by digital input of any hierarchical subdivision surface, polygon mesh, or NURBS surface,
A drawing method characterized by that.
ことを特徴とする、請求項1記載の方法。 Once the subdivision surface is generated and displayed to the user, it is aligned with the 2D model view.
The method according to claim 1, wherein:
ことを特徴とする、請求項2記載の方法。 The 2D model view includes information about grid corners, grid width and height, pixel size, and camera-to-object conversion.
The method according to claim 2, wherein:
前記パラメータは、(a)前記修正領域においてどの程度の細分割が起きるかに対する影響と、(b)前記幾何学的修正がどの程度目立つかに対する影響、のいずれかを含むことができる、
ことを特徴とする、請求項3記載の方法。 Using the 2D model view, the user sets the lighting direction, adjusts input parameters and shades, thereby modifying the intensity of selected pixels, or loads a pre-shaded set of pixels. This information is then used in the shaping algorithm,
The parameters can include either (a) an effect on how much subdivision occurs in the correction region and (b) an effect on how noticeable the geometric correction is.
The method of claim 3, wherein:
追加的表面基本形状が、前記シェーディング領域における細分割を介して、十分な詳細が存在することを確実にするために必要な場合に追加され、
前記2D設定において要求された前記変化を3Dにおいて反映する高さフィールドが決定され、次に前記細分割曲面は、前記決定された高さの値を反映するように変更され、
それにより、更に変更、保存、または所望の出力表面タイプに変換できる、整形された、階層的細分割曲面という結果になり、
表面基本形状は、三角形、四角形、または他の多角形のいずれかを含むことができる、
ことを特徴とする、請求項4記載の方法。 The shaping algorithm determines an exact geometric change to the surface;
Additional surface primitives are added when necessary to ensure that sufficient details exist through subdivision in the shading area,
A height field is determined that reflects in 3D the change required in the 2D setting, and then the subdivision surface is modified to reflect the determined height value;
This results in a shaped, hierarchical subdivision surface that can be further modified, saved, or converted to the desired output surface type,
Surface basic shapes can include either triangles, squares, or other polygons,
The method of claim 4, wherein:
2Dシェードビューを表示し、
ユーザーが照明、シェーディングを設定し、パラメータを調整できるようにし、
整形処理を実行し、それにより3D細分割曲面を生成し、
前記整形処理は、
前記表面上に詳細を導入し、
前記表面に対して新しい高さパラメータを決定し、
前記細分割曲面を整形し、さらに、
前記パラメータは、(a)前記修正領域においてどの程度の細分割が起きるかに対する影響および、(b)前記幾何学的修正がどの程度目立つかに対する影響、のいずれかを含むことができる、
ことを特徴とする、請求項1記載の方法。 Create a subdivision surface to be the foundation,
Display 2D shade view,
Allow users to set lighting, shading and adjust parameters,
Perform shaping, thereby generating a 3D subdivision surface,
The shaping process is
Introducing details on the surface,
Determine a new height parameter for the surface;
Shaping the subdivision surface, and
The parameters can include either (a) an effect on how much subdivision occurs in the correction region and (b) an effect on how noticeable the geometric correction is.
The method according to claim 1, wherein:
前記入力がまだ階層的細分割曲面でない場合は、前記入力を階層的細分割曲面に変換し、
前記階層的細分割曲面上でシェーディングと整形を実行する、
ことを特徴とする、請求項6記載の方法。 Accepts an input containing either a mesh representation or a NURBS surface;
If the input is not yet a hierarchical subdivision surface, convert the input to a hierarchical subdivision surface;
Performing shading and shaping on the hierarchical subdivision surface;
The method according to claim 6, wherein:
ことを特徴とする、請求項7記載の方法。 Use adaptive subdivision to add details to the surface, and use analysis and synthesis to propagate changes to all levels of the surface, thereby allowing modification at selected levels of details To
The method according to claim 7, wherein:
ことを特徴とする、請求項6記載の方法。 Provides a hierarchical subdivision surface library,
The method according to claim 6, wherein:
ことを特徴とする、請求項9の方法。 Converting the subdivision curved surface model resulting from the SBS processing into another surface type;
10. The method of claim 9, wherein:
ことを特徴とする、請求項6記載の方法。
The method according to claim 6, wherein:
ことを特徴とする、請求項11記載の方法。 The set of height increments Γ has the function
The method of claim 11, wherein:
ことを特徴とする、請求項12記載の方法。 Correct it from the sum over all pixels in the model view that intersects the interior of the projection surface so that it does not have to be performed on the entire projection surface as seen in the model view Further including a reduction to the sum only on the reduced set called Q by intersecting with the neighborhood of the pixel;
The method according to claim 12, wherein:
はfの勾配ベクトルであり、
はfのヘッシアン行列である式により、まず前記関数を第1モデル化し、
次に、
の領域で、ある
に対して前記モデルFを最小化する、
ことを特徴とする、請求項12記載の方法。 The trust region method has the following quadratic function:
Is the gradient vector of f,
Is a first model of the function according to an expression that is a Hessian matrix of f,
next,
Is in the area
Minimizing the model F with respect to
The method according to claim 12, wherein:
テスト値は、結果としての最小点x1から構築され、下記の
ρが1に近ければ、Fは信頼領域内でfに対して良好なモデルと考えられ、前記信頼領域の中心はx1に移動され、前記信頼領域の半径は増大され、一方、ρが1から離れていれば、前記信頼領域の半径は減少され、
前記処理は、前記信頼領域においてFに対する最小値が求まるまで繰り返され、
前記処理を終了するための前記基準は、
が、fの極小値が達成された前記現在の信頼領域の中心において十分に小さいかどうか、である、
ことを特徴とする、請求項14記載の方法。 The method used to practice the minimization is the CG-Steihaug method with special sparse matrix multiplication,
The test value is constructed from the resulting minimum point x 1 and is
the closer [rho is the 1, F is considered good model for f in the confidence region, the center of the confidence region is moved to x 1, the radius of the confidence region is increased, whereas, [rho 1 Away from the radius of the trust region is reduced,
The process is repeated until a minimum value for F is found in the confidence region,
The criterion for ending the process is:
Is sufficiently small at the center of the current confidence region where the local minimum of f has been achieved,
The method according to claim 14, wherein:
ことを特徴とする、請求項15記載の方法。 The method is adapted to interoperate with either a computer aided design (CAD) system, a computer graphics system, or a software application that operates to create, display, manipulate, or model a geometry. Implement as a computer software plug-in product,
The method according to claim 15, wherein:
2D描画機能と、シェーディング、光制御、パラメータ調整、シェーディング情報に基づく表面形状の更新、光方向、および入力パラメータ、アンドゥ/リドゥ機能をモディファイヤの内部にロードおよび保存する機能を有するシェーディングツールと、
マスキング技術を利用して、更新する領域を選択するツールと、
標準細分割曲面操作の集合を有する選択ツールと、のいずれかを含み、
前記パラメータは、前記修正領域においてどの程度の細分割が起きるかに対する影響(a)および前記幾何学的修正がどの程度目立つかに対する影響(b)のいずれかを含むことができる、
ことを特徴とする、請求項16記載の方法。 The function of the plug-in product is as follows:
A shading tool having a 2D rendering function and a function for loading and saving shading, light control, parameter adjustment, surface shape update based on shading information, light direction, and input parameters, undo / redo functions inside the modifier,
A tool that uses masking technology to select areas to update,
A selection tool having a set of standard subdivision surface operations, and
The parameters can include either an effect on how much subdivision occurs in the correction region (a) and an effect on how noticeable the geometric correction is (b),
The method according to claim 16, wherein:
ことを特徴とする、請求項10記載の方法。 Further including the ability to convert the SBS process to a subdivided surface property first or without using it on a polygon mesh or NURBS surface;
The method according to claim 10, wherein:
ことを特徴とする、請求項10記載の方法。 Further includes the ability to display large, complex meshes with interactive capabilities,
The method according to claim 10, wherein:
ことを特徴とする、請求項10記載の方法。 Further includes the ability to arbitrarily trim the entire surface;
The method according to claim 10, wherein:
ことを特徴とする、請求項10記載の方法。 Further comprising the ability to delineate and generate an initial 3D shape that can be used in connection with the SBS modeling process;
The method according to claim 10, wherein:
A.前記画像の少なくとも一部分の明度レベルにおける変化を表現している、前記オペレータにより提供されるシェーディング情報を受け取るように構成されるオペレータ入力装置と、
B.前記オペレータ入力装置から前記シェーディング情報を受け取り、それに応じて、前記対象物の更新された幾何学的モデルを生成するように構成され、前記シェーディング情報を使用して、前記更新幾何学的モデルの少なくとも1つの幾何学的特徴を決定するように構成されるモデルジェネレータと、
C.前記対象物の画像を、前記更新幾何学的モデルにより定義されるように表示するように構成される対象物表示装置と、を備え、
D.前記システムは、任意の階層的細分割曲面、ポリゴンメッシュ、またはNURBS曲面を容認できる、
ことを特徴とする、コンピュータグラフィックスシステム。 By an operator in the context of a two-dimensional image of the object, representing a geometric model representing the geometry of at least a portion of the surface of the three-dimensional object, as the object is projected onto an image plane A computer graphics system generated by shading,
A. An operator input device configured to receive shading information provided by the operator representing a change in lightness level of at least a portion of the image;
B. Configured to receive the shading information from the operator input device and generate an updated geometric model of the object in response, and using the shading information, at least one of the updated geometric models A model generator configured to determine one geometric feature;
C. An object display device configured to display an image of the object as defined by the updated geometric model;
D. The system can accept any hierarchical subdivision surface, polygon mesh, or NURBS surface;
A computer graphics system characterized by the above.
前記コンピュータプログラム製品は、前記コンピュータグラフィックスシステムにより実行でき、コンピュータ読取可能媒体上にコード化されるコンピュータソフトウェアコード命令を含み、
前記コンピュータプログラム製品は、前記コンピュータグラフィックスシステム内で動作可能で、三次元対象物の表面の少なくとも一部分の幾何形状を表現する幾何学的モデルを、前記対象物を画像平面上に投影されたものとして表現する、前記対象物の二次元画像との関連におけるオペレータによるシェーディングにより生成でき、前記コンピュータプログラム製品は、
A.前記画像の少なくとも一部分の明度レベルにおける変化を表現している、オペレータが入力装置を使用することにより提供されるシェーディング情報を受け取るように作動可能な第1コンピュータソフトウェアコード手段と、
B.前記オペレータ入力装置から前記シェーディング情報を受け取り、それに応じて、前記対象物の更新された幾何学的モデルを生成するように作動でき、前記シェーディング情報を使用して、前記更新幾何学的モデルの少なくとも1つの幾何学的特徴を決定するように作動可能なモデル・ジェネレータ・コンピュータ・ソフトウェア・コード手段と、
C.前記コンピュータグラフィックスシステムが、表示装置上に、前記更新幾何学的モデルにより定義されるように、前記対象物の画像を表示できるように構成される対象物表示コンピュータソフトウェアコード手段と、を備え、
D.前記コンピュータプログラム製品は、任意の階層的細分割曲面、ポリゴンメッシュ、またはNURBS曲面を容認するように作動できる、
ことを特徴とする、コンピュータプログラム製品。 A computer program product executable in a computer graphics system comprising a human-usable input device and a display device operable to produce a human-recognizable display comprising:
The computer program product includes computer software code instructions that can be executed by the computer graphics system and encoded on a computer-readable medium;
The computer program product is operable in the computer graphics system, and a geometric model representing a geometric shape of at least a part of a surface of a three-dimensional object is projected on the image plane. Can be generated by shading by an operator in the context of a two-dimensional image of the object expressed as:
A. First computer software code means operable to receive shading information provided by an operator using an input device representing a change in lightness level of at least a portion of the image;
B. It is operable to receive the shading information from the operator input device and generate an updated geometric model of the object in response, and using the shading information, at least one of the updated geometric models A model generator computer software code means operable to determine one geometric feature;
C. Object display computer software code means configured to display an image of the object on a display device as defined by the updated geometric model, the computer graphics system comprising:
D. The computer program product can operate to accept any hierarchical subdivision surface, polygon mesh, or NURBS surface.
A computer program product characterized by that.
ことを特徴とする、請求項14記載の方法。 Further comprising minimizing by using a trust region Newton-CG method;
The method according to claim 14, wherein:
ことを特徴とする、請求項24記載の方法。 Use the residual to obtain the function, its slope and its Hessian,
25. The method of claim 24, wherein:
ことを特徴とする、請求項14記載の方法。 Calculations are integrated with or into the API,
The method according to claim 14, wherein:
ことを特徴とする、請求項14記載の方法。 Calculations are integrated with or within computer software application plug-ins,
The method according to claim 14, wherein:
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US75223005P | 2005-12-20 | 2005-12-20 | |
US82346406P | 2006-08-24 | 2006-08-24 | |
PCT/US2006/062405 WO2007079361A2 (en) | 2005-12-20 | 2006-12-20 | Modeling the three-dimensional shape of an object by shading of a two-dimensional image |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009521062A true JP2009521062A (en) | 2009-05-28 |
Family
ID=38228928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008547751A Pending JP2009521062A (en) | 2005-12-20 | 2006-12-20 | Modeling the 3D shape of an object by shading 2D images |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1964065A2 (en) |
JP (1) | JP2009521062A (en) |
AU (1) | AU2006332582A1 (en) |
CA (1) | CA2633680A1 (en) |
WO (1) | WO2007079361A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10922884B2 (en) | 2019-07-18 | 2021-02-16 | Sony Corporation | Shape-refinement of triangular three-dimensional mesh using a modified shape from shading (SFS) scheme |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8984447B2 (en) | 2011-03-11 | 2015-03-17 | Oracle International Corporation | Comprehensibility of flowcharts |
US11679053B2 (en) | 2017-02-17 | 2023-06-20 | Medtec Llc | Body part fixation device with pitch and/or roll adjustment |
US11712580B2 (en) | 2017-02-17 | 2023-08-01 | Medtec Llc | Body part fixation device with pitch and/or roll adjustment |
CN114777678B (en) * | 2017-10-06 | 2024-06-14 | 维西公司 | Generating one or more luminance edges to form a three-dimensional model of an object |
US11433480B2 (en) | 2018-03-23 | 2022-09-06 | Lawrence Livermore National Security, Llc | Additive manufacturing power map to mitigate overhang structure |
EP3773220B1 (en) | 2018-03-26 | 2023-10-25 | Medtec Llc | Easy on/easy off clips or clamps for mounting mask to body part fixation device |
US10475250B1 (en) | 2018-08-30 | 2019-11-12 | Houzz, Inc. | Virtual item simulation using detected surfaces |
CN110262865B (en) * | 2019-06-14 | 2022-07-12 | 网易(杭州)网络有限公司 | Method and device for constructing game scene, computer storage medium and electronic equipment |
CN113435773B (en) * | 2021-03-16 | 2022-10-21 | 明度智云(浙江)科技有限公司 | Production progress monitoring method, system and storage medium for digital factory |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050062739A1 (en) * | 2003-09-17 | 2005-03-24 | International Business Machines Corporation | Method and structure for image-based object editing |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5255184A (en) * | 1990-12-19 | 1993-10-19 | Andersen Consulting | Airline seat inventory control method and apparatus for computerized airline reservation systems |
US6313840B1 (en) * | 1997-04-18 | 2001-11-06 | Adobe Systems Incorporated | Smooth shading of objects on display devices |
US6487322B1 (en) * | 1999-03-03 | 2002-11-26 | Autodesk Canada Inc. | Generating image data |
US6449560B1 (en) * | 2000-04-19 | 2002-09-10 | Schlumberger Technology Corporation | Sonic well logging with multiwave processing utilizing a reduced propagator matrix |
WO2002088995A1 (en) * | 2001-04-30 | 2002-11-07 | Nagabhushana Prabhu | Optimization on nonlinear surfaces |
JP4075039B2 (en) * | 2002-02-19 | 2008-04-16 | 株式会社セガ | Texture mapping method, program and apparatus |
US7720269B2 (en) * | 2003-10-02 | 2010-05-18 | Siemens Medical Solutions Usa, Inc. | Volumetric characterization using covariance estimation from scale-space hessian matrices |
-
2006
- 2006-12-20 AU AU2006332582A patent/AU2006332582A1/en not_active Abandoned
- 2006-12-20 CA CA002633680A patent/CA2633680A1/en not_active Abandoned
- 2006-12-20 EP EP06849019A patent/EP1964065A2/en not_active Withdrawn
- 2006-12-20 WO PCT/US2006/062405 patent/WO2007079361A2/en active Application Filing
- 2006-12-20 JP JP2008547751A patent/JP2009521062A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050062739A1 (en) * | 2003-09-17 | 2005-03-24 | International Business Machines Corporation | Method and structure for image-based object editing |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10922884B2 (en) | 2019-07-18 | 2021-02-16 | Sony Corporation | Shape-refinement of triangular three-dimensional mesh using a modified shape from shading (SFS) scheme |
JP2022542548A (en) * | 2019-07-18 | 2022-10-05 | ソニーグループ株式会社 | Shape improvement of triangular 3D meshes using a modified shape-from-shading (SFS) scheme |
JP7362044B2 (en) | 2019-07-18 | 2023-10-17 | ソニーグループ株式会社 | Shape improvement of triangular 3D mesh using modified shape-from-shading (SFS) scheme |
Also Published As
Publication number | Publication date |
---|---|
EP1964065A2 (en) | 2008-09-03 |
WO2007079361A3 (en) | 2008-04-03 |
AU2006332582A1 (en) | 2007-07-12 |
CA2633680A1 (en) | 2007-07-12 |
WO2007079361A2 (en) | 2007-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009521062A (en) | Modeling the 3D shape of an object by shading 2D images | |
EP1000409B1 (en) | Texture mapping and other uses of scalar fields on subdivision surfaces in computer graphics and animation | |
US6489960B2 (en) | Hybrid subdivision in computer graphics | |
US7425954B2 (en) | Systems and methods for providing signal-specialized parametrization | |
US5673377A (en) | Method and system for displaying a representation of a three-dimensional object with surface features that conform to the surface of the three-dimensional object | |
JP4563554B2 (en) | How to sculpt objects represented as models | |
US6724393B2 (en) | System and method for sculpting digital models | |
Nießner et al. | Analytic displacement mapping using hardware tessellation | |
JP3626144B2 (en) | Method and program for generating 2D image of cartoon expression from 3D object data | |
US7034818B2 (en) | System and method for converting range data to 3D models | |
US6222553B1 (en) | Hybrid subdivision in computer graphics | |
US6724383B1 (en) | System and computer-implemented method for modeling the three-dimensional shape of an object by shading of a two-dimensional image of the object | |
US6741246B2 (en) | Hierarchical control point editing of adaptively sampled distance fields | |
US20040169652A1 (en) | System and computer-implemented method for modeling the three-dimensional shape of an object by shading of a two-dimensional image of the object | |
JP4809480B2 (en) | Computer graphics method and system for generating images with rounded corners | |
CA2282240C (en) | System and computer-implemented method for modeling the three-dimensional shape of an object by shading of a two-dimensional image of the object | |
Kim et al. | Multiresolution model generation with geometry and texture | |
Li | Parametric Surface Rendering. | |
JP2000040163A (en) | Smoothing method of surface of object | |
CA2307356A1 (en) | Texturing apparatus and method therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20090512 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20090512 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110426 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111206 |