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 PDF

Info

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
Application number
JP2008547751A
Other languages
Japanese (ja)
Inventor
ロルフ ヘルケン、
トム−マイクル タム、
ジェニファー コルター、
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia ARC GmbH
Original Assignee
Mental Images GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mental Images GmbH filed Critical Mental Images GmbH
Publication of JP2009521062A publication Critical patent/JP2009521062A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/507Depth 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曲面のデジタル入力により作動できる。
【選択図】図13
A 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)により表現できる。画像平面上に投影される対象物の画像は、二次元定義域

Figure 2009521062
上での画像照射関数I(x,y)により表現され、一方、対象物の形状は、定義域
Figure 2009521062
上の高さ関数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.
Figure 2009521062
Represented by the image illumination function I (x, y) above, while the shape of the object is defined by the domain
Figure 2009521062
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 exemplary computer system 10 capable of performing such computer graphics processing. Referring to FIG. 1, a computer system 10 in one embodiment includes a processor module 11 and operator interface elements (or generally operator input elements, including operator input components such as a keyboard 12A and / or a mouse 12B). A digitizing tablet or other similar element identified as 12) and an operator output element such as a video display 13. The example computer system 10 may be a conventional stored program computer architecture. The processor module 11 may include, for example, a mass storage device such as one or more processors, memory, and disk and / or tape storage elements (not separately shown). Perform processing and storage operations associated with the digital data provided. An operator input element 12 can be provided to allow the operator to enter information for processing. The video display device 13 can provide output information generated by the processor module 11 on the screen 14 to be displayed to the operator. The output information includes data that can be input by the operator for processing and processing by the operator. Information that can be entered for control is included with the information generated during processing. The processor module 11 uses a so-called “graphical user interface” (“GUI”) in which information for various application programs is displayed using various “windows” for display by the video display device 13. Information can be generated.

コンピュータシステム10は、オペレータから入力情報を受け取るためのキーボード12Aとマウス12Bや、オペレータに出力情報を表示するためのビデオ表示装置13のような特別な構成要素を含んで示されているが、コンピュータシステム10は、図1に示されているものに加えて、またはそれらの代わりに多様な構成要素を含むことができるということは理解されよう。   The computer system 10 is shown including special components such as a keyboard 12A and mouse 12B for receiving input information from an operator, and a video display device 13 for displaying output information to the operator. It will be appreciated that the system 10 can include a variety of components in addition to or in place of those shown in FIG.

更に、プロセッサモジュール11は、全体としては参照番号14により特定される1つまたは複数のネットワークポートを含むことができ、ネットワークポートは、コンピュータネットワーク内のコンピュータシステム10に接続する通信リンクに接続されている。ネットワークポートにより、コンピュータシステム10は情報を、ネットワーク内の他のコンピュータシステムおよび他の装置に送信でき、また、それらから情報を受信することができる。例えば、クライアント−サーバーパラダイムに従って構成された典型的なネットワークにおいては、ネットワーク内におけるあるコンピュータシステムはサーバーとして指定され、他のクライアントコンピュータシステムによる処理のためにデータおよびプログラム(総称して「情報」)を格納し、それにより、クライアントコンピュータシステムは便利に情報を共有できる。特別なサーバーにより維持された情報へアクセスする必要のあるクライアントコンピュータシステムは、サーバーがネットワークを介してそこに情報をダウンロードできるようにする。データの処理後は、クライアントコンピュータシステムはまた、処理されたデータを格納のためにサーバーに戻す。コンピュータシステム(上記のサーバーおよびクライアントを含む)に加えて、ネットワークはまた、例えば、プリンタ、ファクシミリ装置、デジタルオーディオまたはビデオ格納装置および配布装置など、ネットワーク内で接続された種々のコンピュータシステム間で共有できる装置を含んでもよい。ネットワーク内でコンピュータシステムを相互接続する通信リンクは、従来のように、ワイヤ、光ファイバー、またはコンピュータシステム間で信号を搬送するための他の媒体を含む、任意の便利な情報搬送媒体を備えてもよい。コンピュータシステムは、通信リンクを介して転送されるメッセージにより、ネットワーク上で情報を転送し、各メッセージは、情報と、そのメッセージを受信する装置を特定する識別子を含む。   In addition, the processor module 11 may include one or more network ports, generally identified by reference numeral 14, that are connected to a communication link that connects to a computer system 10 in the computer network. Yes. The network port allows the computer system 10 to send information to and receive information from other computer systems and other devices in the network. For example, in a typical network configured according to a client-server paradigm, one computer system in the network is designated as a server and data and programs (collectively “information”) for processing by other client computer systems. So that client computer systems can conveniently share information. Client computer systems that need access to information maintained by a special server allow the server to download information there over the network. After processing the data, the client computer system also returns the processed data to the server for storage. In addition to computer systems (including the servers and clients described above), the network is also shared among various computer systems connected within the network, such as printers, facsimile machines, digital audio or video storage and distribution devices, for example. A possible device may be included. Communication links interconnecting computer systems within a network may comprise any convenient information carrying medium, including wires, optical fibers, or other media for carrying signals between computer systems, as is conventional. Good. Computer systems transfer information over a network by means of messages transferred over a communication link, each message including information and an identifier that identifies the device that receives the message.

図に示されているコンピュータシステム10に加えて、本発明に従う方法、装置、またはソフトウェア製品は、図2に例として示されている(例えば、ネットワークシステム100)ような、従来のPC102、ラップトップ104、手持ち、または携帯コンピュータ106を含む、スタンドアロンであろうが、ネットワーク化されていようが、携帯型であろうが、固定されていようが、または、インターネットまたは他のネットワーク108を介して、そしてその結果サーバー110と格納装置120を含むことができる、幅広い範囲の従来のコンピュータ装置およびシステムの何れにおいても作動できる。   In addition to the computer system 10 shown in the figure, a method, apparatus, or software product according to the present invention is a conventional PC 102, laptop, such as shown by way of example in FIG. 2 (eg, network system 100). 104, including handheld or portable computer 106, whether stand alone, networked, portable, fixed, or via the Internet or other network 108, and As a result, it can operate in any of a wide range of conventional computer devices and systems that can include server 110 and storage device 120.

従来のコンピュータソフトウェアおよびハードウェアの実行と同調して、本発明に従って構成されたソフトウェアアプリケーションは、例えば、図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 PC 102 as shown in FIGS. 2 and 3, and program instructions can be stored in ROM or It can be read from CD ROM 116 (FIG. 3), magnetic disk, or other storage device 120 and loaded into RAM 114 for execution by CPU 118. Data can be entered into the system via any known device or means including a conventional keyboard, scanner, mouse, digitizing tablet, or other element 103.

当業者は、ここで記述される本発明の方法形態が、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 processing system 102, as shown in FIG. According to the systems and techniques described below, the shading shaping module 150 may include one or more of the following sub-modules, a shading information input module 150a, a model generator module 150b, and a display output module 150c. it can. The shading shaping module 150 may also include other components described herein, generally indicated as a “tool / API / plug-in” in the square 150d. As further shown in FIG. 4, the output of the shading shaping module 150 can be provided in a number of different forms, such as displayable images, digitally updated geometric models, subdivision surfaces, and the like.

当業者はまた、本発明の方法形態が、ワークステーションおよびパーソナルコンピュータ(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 computer graphics system 200 typically includes a pen 204 and a trackball or mouse device 206 that are typically used in conjunction with a digitizing tablet 205. In general, the pen 204 and digitizing tablet are used by the operator in several modes. In one mode, pen 204 and a digitizing tablet are used to provide updated shading information to a computer graphics system, although particularly useful in the context of the present invention. In other modes, the pen and digitizing tablet may input conventional computer graphics information, such as line drawings for surface trimming, and other information into the computer graphics system 200, thereby causing the system 200 to Is used to allow conventional computer graphics operations. The trackball or mouse device 206 can be used to move a cursor or pointer on the screen to a special point in the screen where the operator can provide input with a pen and digitizing tablet. The computer graphics system 200 can also include a keyboard (not shown) that can be used by an operator to provide text input to the system 200.

プロセッサモジュール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 system 200 to a hardcopy output device such as a printer that facilitates the generation of hardcopy output, to a public telephone system, and / or in a computer network to facilitate the transmission of information. A connection to a modem and / or network interface (not shown) or the like (also not shown) may be included.

コンピュータグラフィックスシステム200は、ペンとデジタイジングタブレット、およびマウスを介して、オペレータにより提供された入力から、三次元対象物の初期のそしてその後の形状を定義する情報を生成し、その情報は、オペレータへの表示のための、対応する対象物の二次元画像を生成するために使用でき、それにより、対象物のモデルを生成できる。コンピュータグラフィックスシステム200により表示される画像は、照明方向から照明され、画像面上に投影される対象物の画像を表現しており、この対象物は、照明方向と画像平面に関する空間位置と回転方向と、オペレータにより選択されたスケーリングおよび/またはズーム設定を有している。モデル生成処理において使用される初期モデルは、半球または楕円形状を定義するモデルのような、コンピュータグラフィックスシステムそれ自身により提供される複数のデフォルトモデルの1つであってよい。または、初期モデルは、ペン204とデジタイジングタブレット205を使用して、画像平面の少なくとも1つのピクセルの初期シェーディングを提供することによりオペレータにより提供されてもよい。初期モデルがオペレータにより提供されると、画像平面上のピクセルの1つが選択されて、対象物に対する初期表面断片の「基準」部分を提供し、基準初期表面断片部分は、画像平面に関して、選択された空間位置、回転方向、および高さ値を有し、コンピュータグラフィックスシステムは、画像平面上の他のピクセルに適用されたシェーディング(もしあれば)に関連する表面断片(もしあれば)の残りに対する初期モデルを決定する。1つの実施形態において、基準初期表面断片部分は、オペレータがシェーディングを施す画像平面上の第1ピクセルに対する表面断片の部分として選択される。更に、この実施形態においては、基準初期表面断片部分は画像平面に平行になるように決定され、それにより、基準初期表面断片部分に垂直なベクトルは、画像平面に直交し、基準初期表面断片部分は、オペレータにより選択された高さ値を有する。いずれの場合も、コンピュータグラフィックスシステムは、初期モデルの画像を表示し、その画像は、特別な照明方向から照明され、画像平面上に投影される初期モデルに関連する対象物のシェーディングを定義する。   The computer graphics system 200 generates information defining the initial and subsequent shape of a three-dimensional object from input provided by an operator via a pen, a digitizing tablet, and a mouse, It can be used to generate a two-dimensional image of the corresponding object for display to the operator, thereby generating a model of the object. The image displayed by the computer graphics system 200 represents an image of an object that is illuminated from the illumination direction and projected onto the image plane. The object is a spatial position and rotation with respect to the illumination direction and the image plane. With the direction and scaling and / or zoom settings selected by the operator. The initial model used in the model generation process may be one of a plurality of default models provided by the computer graphics system itself, such as a model that defines a hemisphere or an elliptical shape. Alternatively, the initial model may be provided by the operator by using pen 204 and digitizing tablet 205 to provide initial shading of at least one pixel in the image plane. When the initial model is provided by the operator, one of the pixels on the image plane is selected to provide a “reference” portion of the initial surface fragment for the object, and the reference initial surface fragment portion is selected with respect to the image plane. The computer graphics system has the rest of the surface fragments (if any) associated with the shading (if any) applied to other pixels on the image plane. Determine the initial model for. In one embodiment, the reference initial surface fragment portion is selected as the portion of the surface fragment for the first pixel on the image plane on which the operator shades. Further, in this embodiment, the reference initial surface fragment portion is determined to be parallel to the image plane so that the vector perpendicular to the reference initial surface fragment portion is orthogonal to the image plane and the reference initial surface fragment portion is Has a height value selected by the operator. In any case, the computer graphics system displays an image of the initial model, which is illuminated from a special illumination direction and defines the object shading associated with the initial model projected onto the image plane. .

オペレータは、マウスとペンとデジタイジングタブレットを使用して、初期対象物の画像の更新シェーディングを提供し、および/または画像平面上の隣接領域をシェーディングすることにより対象物を拡張し、コンピュータグラフィックスシステム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 system 200 generates an update model that represents the shape of the object based on the update shading provided by the operator. When updating the shading, the operator can increase or decrease the amount of shading applied to a particular point on the image plane. In addition, the operator can use a mouse or trackball and pen and a digitizing tablet to perform conventional computer graphics operations associated with the image, such as cropping the surface representation of the object defined by the model. it can. The computer graphics system 200 uses the updated shading provided by the operator and other computer graphics information to generate an updated model that defines the shape of the object, and from the updated model to the operator. Can be generated from the respective spatial position, rotation direction, and scaling and / or zoom settings selected by the operator. When the operator determines that the shape of the object represented by the updated model is satisfactory, the operator can cause the computer graphics system 200 to store an updated model that defines the shape of the final object. On the other hand, if the operator determines that the shape of the object represented by the updated model is not satisfactory, the operator cooperates with the computer graphics system 200 to perform three-dimensional rotation, translation, and In a process that uses scaling or zooming, shading and other computer graphics information can be further updated. As the shading and other computer graphics information is updated, the computer graphics system 200 updates the model information, which includes the rotation direction, translation or spatial positioning selected by the operator, and scale and / or From the zoom setting, it is again used to provide a two-dimensional image of the object. These operations can continue until the operator determines that the shape of the object is satisfactory, at which point the computer graphics system 200 assumes that the updated model represents the final object. Store.

対象物の形状を決定するときにコンピュータグラフィックスシステム200により実行される詳細な操作は、図6〜図11と関連して説明する。図6を参照すると、コンピュータグラフィックスシステム200の操作においては、対象物の画像は、所定数の行と列を有するモザイク状のピクセル221(i,j)に形成される二次元画像平面220に投影されることを仮定している。画像平面220は、行がx方向に延伸し、列がy方向に延伸しているx、yデカルト平面を定義する。形成される対象物の表面の投影は、図6においては参照番号222により特定されているが、正投影であり、カメラの「目」の方向はx、y画像平面に直交するz方向である。画像平面上の各点は、ここでは、

Figure 2009521062
かつ
Figure 2009521062
であって、Nが列の最大数(添え字iは画像平面内の列の範囲)であり、Mが列の最大数(添え字jは画像平面内の行の範囲)である
Figure 2009521062
により表現される画素、または「ピクセル」に対応している。図6に示されている例としての画像平面220においては、列数Nは8であり、行数Mは9である。画像平面220をオペレータに示すために使用される表示装置203がラスター走査装置の場合は、行は、画像を表示するために装置により使用される走査線に対応する。各ピクセル
Figure 2009521062
は座標系の特別な点(x,y)に対応し、M×Nは画像の解像度を特定する。更に、コンピュータグラフィックスシステム10は、対象物が方向
Figure 2009521062
、ここで、
Figure 2009521062
はベクトルである方向を有する光源により照明され、対象物の表面はランベルト面であることを仮定している。明示されていないカメラは、その画像平面は画像平面220により表現されているが、「CAMERA」と記されている矢印により表現されているように、画像平面220に直交する方向から画像平面220を見ると仮定されている。 Detailed operations performed by the computer graphics system 200 when determining the shape of the object will be described in conjunction with FIGS. Referring to FIG. 6, in the operation of the computer graphics system 200, an image of an object is displayed on a two-dimensional image plane 220 formed on a mosaic pixel 221 (i, j) having a predetermined number of rows and columns. It is assumed that it is projected. Image plane 220 defines an x, y Cartesian plane with rows extending in the x direction and columns extending in the y direction. The projection of the surface of the object to be formed is identified by reference numeral 222 in FIG. 6, but is an orthographic projection, and the direction of the “eye” of the camera is the z direction orthogonal to the x and y image planes. . Each point on the image plane is
Figure 2009521062
And
Figure 2009521062
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).
Figure 2009521062
Corresponds to a pixel or “pixel”. In the example image plane 220 shown in FIG. 6, the number of columns N is 8 and the number of rows M is 9. If the display device 203 used to show the image plane 220 to the operator is a raster scanning device, the rows correspond to the scan lines used by the device to display the image. Each pixel
Figure 2009521062
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 computer graphics system 10 allows the object to be oriented.
Figure 2009521062
,here,
Figure 2009521062
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 image plane 220, but the image plane 220 is viewed from a direction orthogonal to the image plane 220 as represented by an arrow marked “CAMERA”. It is assumed to see.

上述したように、コンピュータグラフィックスシステム200は、モデル化される対象物の、少なくとも非常に小さな部分の対象物を、初期モデルとして初期化する。各ピクセル

Figure 2009521062
に対して、ピクセル上に投影される対象物の部分の高さを定義する高さ値z(x,y)は既知であり、下記の
Figure 2009521062

ここで、
Figure 2009521062
は、「定義域
Figure 2009521062
におけるすべての点(x,y)」を意味し、定義域
Figure 2009521062
は画像平面220である式のように高さフィールドH(x,y)として定義される。更に各ピクセル
Figure 2009521062
に対して、その上に投影される基本初期対象物の表面の部分の法線n(x,y)もまた既知であり、下記の
Figure 2009521062
のような法線フィールドN(x,y)として定義される。図6において、画像平面220の1つのピクセル上に投影される対象物の表面222に関連する法線は、「n」と記されている矢印により表現される。 As described above, the computer graphics system 200 initializes at least a very small portion of an object to be modeled as an initial model. Each pixel
Figure 2009521062
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
Figure 2009521062

here,
Figure 2009521062
Is the domain
Figure 2009521062
Means all points (x, y) in the domain
Figure 2009521062
Is defined as a height field H (x, y) as in the equation for image plane 220. Each pixel
Figure 2009521062
On the other hand, the normal n (x, y) of the surface portion of the basic initial object projected onto it is also known,
Figure 2009521062
Is defined as a normal field N (x, y). In FIG. 6, the normal associated with the surface 222 of the object projected onto one pixel of the image plane 220 is represented by an arrow labeled “n”.

コンピュータグラフィックスシステム200が、画像平面220上の画像として表示装置203上でオペレータに対して表示される、初期モデルにより定義される対象物を表現する画像を表示した後、オペレータは、ペン204とデジタイジングタブレット205(図5)を使用して、画像のシェーディングを更新することにより、画像の修正を開始できる。コンピュータグラフィックスシステムにより表示される初期モデルの画像はそれ自身が、初期モデルにより定義され、所定の照明方向から照明され、画像平面上に投影される対象物の形状を表現するためにシェーディングされるということは理解されよう。画像平面上の各ピクセル

Figure 2009521062
は、ピクセル
Figure 2009521062
における画像の相対明度を表現し、逆に、ピクセルの相対シェーディングを表現する関連強度値I(x,y)(ここでは、「ピクセル値」とも称される)を有する。各ピクセル
Figure 2009521062
に対する初期ピクセル値が、画像平面220上の位置(x,y)におけるそれぞれのピクセル
Figure 2009521062
の画像強度値または明度を表現するI(x,y)により与えられ、シェーディング後のピクセル値がI(x,y)により表現されると、オペレータは、好ましくは、各ピクセル値に対して、
Figure 2009521062
ここで、∫(∫>0)は選択された所定の境界値である式が成り立ち、それにより、式(2.03)が各ピクセルに対して満たされれば、対象物の形状は、オペレータにより提供されるシェーディングに基づいて更新できるように、画像に対するシェーディングを更新する。 After the computer graphics system 200 displays an image representing the object defined by the initial model that is displayed to the operator on the display device 203 as an image on the image plane 220, the operator Using the digitizing tablet 205 (FIG. 5), image correction can be started by updating the shading of the image. The initial model image displayed by the computer graphics system is itself defined by the initial model, illuminated from a predetermined illumination direction, and shaded to represent the shape of the object projected onto the image plane. That will be understood. Each pixel on the image plane
Figure 2009521062
Is a pixel
Figure 2009521062
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
Figure 2009521062
For each pixel at position (x, y) on the image plane 220.
Figure 2009521062
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
Figure 2009521062
Here, ∫ I (∫ I > 0) is an expression that is a selected predetermined boundary value, and if the expression (2.03) is satisfied for each pixel, the shape of the object is The shading for the image is updated so that it can be updated based on the shading provided by the operator.

オペレータがピクセルに対するシェーディングを更新した後、コンピュータグラフィックスシステム10は、対象物に対する更新形状の生成において、2つの一般的操作を行う。特に、コンピュータグラフィックスシステム200は、
(i)まず、シェーディングが更新された各ピクセル

Figure 2009521062
に対して、それぞれの新しい法線ベクトルn(x,y)を決定し、
(ii)更新法線ベクトルn(x,y)を生成後、新しい高さ値z(x,y)を決定する。 After the operator updates the shading for the pixel, the computer graphics system 10 performs two general operations in generating an updated shape for the object. In particular, the computer graphics system 200 includes:
(I) First, each pixel whose shading has been updated
Figure 2009521062
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)をシェーディングが更新された各ピクセル

Figure 2009521062
に対して実行し、それにより、新しい法線ベクトルフィールドN(x,y)と高さフィールドH(x,y)を提供する。ピクセル
Figure 2009521062
に対する法線ベクトルn(上記の(i)の説明)のシェーディングに関連して、コンピュータグラフィックスシステム200により実行される操作は、図7と図8と関連して説明し、各ピクセル
Figure 2009521062
に対する高さ値z(x,y)(上記の(ii)の項目)の更新に関連して実行される操作は、図9と図10と関連して説明する。 When the shading is updated, the computer graphics system 10 performs the operations (i) and (ii) for each pixel whose shading is updated.
Figure 2009521062
To provide a new normal vector field N (x, y) and a height field H (x, y). pixel
Figure 2009521062
The operations performed by the computer graphics system 200 in connection with the shading of the normal vector n 1 (description of (i) above) with respect to are described in conjunction with FIGS.
Figure 2009521062
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)に対して、記号「n」で特定されている矢印により特定される更新法線ベクトルが決定されるということを仮定している。記号「n」で特定される法線ベクトルは、更新前の表面に対する法線を表現している。照明方向は、記号「L」で特定される矢印に対応するベクトルから延伸している線により表現されている。具体的には、「L」は、その方向が、対象物を照明する光源からの照明方向に基づき、その大きさは、光源により提供される、対象物上の照明の大きさを表現している照明ベクトルを表現している。その場合、更新に基づいて、可能な新しい法線ベクトルの集合は、

Figure 2009521062
により定義される円錐231の表面上に存在、つまり、照明ベクトルとの点乗積に対するベクトルの集合は、オペレータにより提供されるシェーディングの更新後のピクセルに対するピクセル値「I」に対応する。更に、法線ベクトルnは、すべての法線ベクトルの場合と同様に、好ましくは値「1」の所定の大きさの値を有するように正規化されているので、更新法線ベクトルは下記の
Figure 2009521062
ここで、「
Figure 2009521062
」は更新法線ベクトルnの大きさを示す式に対応する大きさを有する。 Referring first to FIG. 7, a portion of the object identified by reference numeral 230 after the shading is updated by the operator is shown. In the following, it is assumed that the update normal vector specified by the arrow specified by the symbol “n 1 ” is determined for the point value z (x, y) on the surface of the object 230. is doing. The normal vector specified by the symbol “n 0 ” represents the normal to the surface before update. The illumination direction is represented by a line extending from the vector corresponding to the arrow identified by the symbol “L”. Specifically, “L” is based on the illumination direction from the light source that illuminates the object, and the magnitude represents the magnitude of illumination on the object provided by the light source. The lighting vector is expressed. In that case, based on the update, the set of possible new normal vectors is
Figure 2009521062
The set of vectors on the surface of the cone 231 defined by, i.e., the dot product with the illumination vector, corresponds to the pixel value “I” for the updated pixel of the shading provided by the operator. Further, since the normal vector n 1 is normalized so as to have a predetermined magnitude value of the value “1”, as in the case of all normal vectors, the updated normal vector is of
Figure 2009521062
here,"
Figure 2009521062
"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は、適切な更新法線ベクトルnとして、ベクトルの集合から1つのベクトルを下記のようにして選択する。上述したように、更新法線ベクトルは、円錐231の表面に存在する。元々の法線ベクトルnと照明ベクトルLが平行でない場合は、それら(つまり、元々の法線ベクトルnと照明ベクトルL)は平面を定義するということは明白である。これは、照明ベクトルLが対象物230上に当たる点z(x,y)と、対象物230上の法線ベクトルnの原点が同一点であり、照明ベクトルの最後尾と元々の法線ベクトルn先頭部が2つの追加点を提供し、これは、点z(x,y)と共に、平面を定義するには十分であるからである。その結果、参照番号232に特定される、照明ベクトルLと先行法線ベクトルnの両者がその上に存在する平面が構築されると、その平面232は、図7において線33により表現されている、2本の線に沿って円錐と交差する。線233の1本は、元々の法線ベクトルnに向かう照明ベクトルLの側である円錐231の表面上に存在し、他方の線233は、法線ベクトルnから遠ざかる照明ベクトルLの側である円錐231の表面上に存在し、正確な更新法線ベクトルnは、以前の法線ベクトルnに向かう照明ベクトル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 computer graphics system 200 selects a vector from the set of vectors as the appropriate update normal vector n 1 as follows. As described above, the update normal vector exists on the surface of the cone 231. Obviously, if the original normal vector n 0 and the illumination vector L are not parallel, they (ie, the original normal vector n 0 and the illumination vector L) define a plane. This is because the point z (x, y) where the illumination vector L hits the object 230 and the origin of the normal vector n 0 on the object 230 are the same point, and the tail of the illumination vector and the original normal vector The n 0 head provides two additional points because, together with the point z (x, y), it is sufficient to define a plane. As a result, when the plane specified by reference numeral 232 on which both the illumination vector L and the preceding normal vector n 0 exist is constructed, the plane 232 is represented by the line 33 in FIG. Intersects the cone along two lines. One of the lines 233 exists on the surface of the cone 231 that is on the side of the illumination vector L toward the original normal vector n 0 , and the other line 233 is on the side of the illumination vector L away from the normal vector n 0. The exact updated normal vector n 1 is defined by the line on the cone 231 that is on the side of the illumination vector L towards the previous normal vector n 0 .

これらの観察に基づくと、更新法線ベクトルの方向は、式(2.04)と下記から決定できる。以前の法線ベクトルnと照明ベクトルLは平面232を形成するので、それらのクロス乗積、「n×L」は、平面232に直交するベクトルを定義する。その結果、更新法線ベクトルnもまた平面232内に存在するので、更新法線ベクトルnと、以前の法線ベクトルnと照明ベクトルLの間のクロス乗積により定義されるベクトルとの点乗積は、値ゼロを有する、つまり、

Figure 2009521062
となる。 Based on these observations, the direction of the updated normal vector can be determined from equation (2.04) and: Since the previous normal vector n 0 and the illumination vector L form a plane 232, their cross product, “n 0 × L”, defines a vector that is orthogonal to the plane 232. As a result, since the updated normal vector n 1 is also present in the plane 232, the updated normal vector n 1 and the vector defined by the cross product between the previous normal vector n 0 and the illumination vector L The dot product of has the value zero, that is,
Figure 2009521062
It becomes.

更に、以前のシェーディングと更新シェーディングにより提供されるピクセル値IとIの間の差は、∫(上記の式(2.03))により境界を定められ、以前の法線ベクトルnと更新法線ベクトルnの間の角度δもまた、ある最大正値∫δにより境界を定められる。その結果、式(2.06)は、

Figure 2009521062
として書き直せる。 Furthermore, the difference between the pixel values I 0 and I 1 provided by the previous shading and the update shading is bounded by ∫ I (Equation (2.03) above) and the previous normal vector n 0 And the updated normal vector n 1 is also bounded by some maximum positive value ∫ δ . As a result, equation (2.06) becomes
Figure 2009521062
Can be rewritten as

これは、図8において図示されている。図8は、図7において示されている円錐232の一部と、更新法線ベクトルnと、参照番号234により特定される、更新法線ベクトルnがその中に存在することを制約される、以前の法線ベクトルからの最大角∫δを表現する領域を示している。 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 cone 232 shown in FIG. 7, the update normal vector n 1, and the reference number 234. that indicates a region representing the maximum angle ∫ [delta] from the previous normal vector.

コンピュータグラフィックスシステム200(図5)は、オペレータにより提供されるシェーディングに基づいて、画像平面220内の各ピクセル

Figure 2009521062
に対する更新法線ベクトルnを生成し、それにより、更新ベクトルフィールドN(x,y)を生成する。コンピュータグラフィックスシステム200が、ピクセルに対して更新法線ベクトルを生成した後、そのピクセルに対して新しい高さ値z(x,y)を生成でき、それにより、更新シェーディングに基づいて高さフィールドH(x,y)を更新する。高さ値z(x,y)の更新と関連して、コンピュータグラフィックスシステム200により実行される操作は、図9と図10と関連して説明する。図9は、図6に示されている画像平面220に対する例としての更新シェーディングを示している。図9に示されている画像平面220に対して、ピクセル
Figure 2009521062
には座標が与えられ、行は、1から8のその両端の数を含む範囲の数により特定され、列は、AからIのその両端の文字を含む範囲の文字により特定される。図9に示されているように、更新シェーディングにおいては、
Figure 2009521062
から
Figure 2009521062

Figure 2009521062
から
Figure 2009521062
、および
Figure 2009521062
から
Figure 2009521062
のピクセルはすべて修正されており、コンピュータグラフィックスシステム200は、更新高さフィールドH(x,y)におけるピクセルに対する更新高さ値として、それらに対して更新高さ値h(x,y)を生成することになる。これを達成するために、コンピュータグラフィックスシステム200は、下記に説明するいくつかの操作を実行して、垂直方向、水平方向、および2つの対角線方向に沿ってシェーディングが修正された各ピクセル
Figure 2009521062
に対して高さ値を生成し、4つの高さ値(つまり、垂直、水平、および2つの対角線方向に沿う高さ値)の平均として、ピクセルに対する最終高さ値を生成する。 The computer graphics system 200 (FIG. 5) uses each pixel in the image plane 220 based on shading provided by the operator.
Figure 2009521062
An update normal vector n 1 is generated for, thereby generating an update vector field N (x, y). After the computer graphics system 200 generates an updated normal vector for a pixel, it can generate a new height value z (x, y) for that pixel, thereby creating a height field based on the updated shading. Update H (x, y). The operations performed by the computer graphics system 200 in connection with updating the height value z (x, y) will be described in conjunction with FIGS. FIG. 9 shows an example update shading for the image plane 220 shown in FIG. For the image plane 220 shown in FIG.
Figure 2009521062
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,
Figure 2009521062
From
Figure 2009521062
,
Figure 2009521062
From
Figure 2009521062
,and
Figure 2009521062
From
Figure 2009521062
And the computer graphics system 200 uses the updated height value h (x, y) as the updated height value for the pixel in the updated height field H (x, y). Will be generated. To accomplish this, the computer graphics system 200 performs several operations, described below, for each pixel whose shading has been modified along the vertical, horizontal, and two diagonal directions.
Figure 2009521062
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つに沿う、つまり水平方向に沿うピクセル

Figure 2009521062
との関連において説明する。他の方向との関連において実行される操作と、シェーディングが更新された他のピクセルは、当業者には明白であろう。更新高さ値の生成において、コンピュータグラフィックスシステム200はBezier-Bernstein内挿を利用し、Bezier-Bernstein内挿は、次元「n」の曲線P(t)を下記の
Figure 2009521062
として定義する。ここで、tは0と1のその両端を含む区間上の数値パラメータであり、ベクトルB(成分(bix,biy,biz)により定義される)は、曲線P(t)に対する「n+1」個の制御点を定義し、制御点BとBは曲線の端点を含む。端点における曲線P(t)の接線は、ベクトルBとBn−1に対応する。1つの実施形態において、コンピュータグラフィックスシステム200は、立体Bezier-Bernstein内挿
Figure 2009521062
を使用して、更新高さ値を生成する。点B、B、B、およびBは立体曲線Pn=3(t)に対する制御点である。 In generating the updated height value, the operation performed by the computer graphics system 200 is one of the modified pixels in the image plane 220, ie, one of the directions, ie, the pixels along the horizontal direction.
Figure 2009521062
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 computer graphics system 200 uses Bezier-Bernstein interpolation, which uses the curve P (t) of dimension “n” as follows:
Figure 2009521062
Define as Here, t is a numerical parameter on the interval including both ends of 0 and 1, and the vector B i (defined by the components (b ix , b iy , b iz )) is “ n + 1 "control points are defined, and control points B 0 and B n include the end points of the curve. The tangent line of the curve P (t) at the end points corresponds to the vectors B 0 B 1 and B n-1 B n . In one embodiment, the computer graphics system 200 performs stereoscopic Bezier-Bernstein interpolation.
Figure 2009521062
To generate an updated height value. Points B 0 , B 1 , B 2 , and B 3 are control points for the solid curve P n = 3 (t).

ピクセル

Figure 2009521062
に対する更新高さ値hの決定に適用される式(2.09)は、
Figure 2009521062
に対応する。 pixel
Figure 2009521062
Equation (2.09) applied to determine the updated height value h 1 for
Figure 2009521062
Corresponding to

式(2.10)から、t=0に対しては、ピクセル

Figure 2009521062
に対する更新高さ値hは、ピクセル
Figure 2009521062
に対する高さ値であるhに対応し、t=1に対しては、ピクセル
Figure 2009521062
に対する更新高さ値hは、ピクセル
Figure 2009521062
に対する高さ値であるhに対応する。一方、0または1以外の値を有するtに対しては、更新高さ値hは、ピクセル
Figure 2009521062

Figure 2009521062
の高さ値hとhと、制御点BとBに対する高さ値の関数である。 From equation (2.10), for t = 0 the pixel
Figure 2009521062
The updated height value h 1 for the pixel
Figure 2009521062
Corresponds to a height value h a , and for t = 1 the pixel
Figure 2009521062
The updated height value h 1 for the pixel
Figure 2009521062
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
Figure 2009521062
When
Figure 2009521062
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)に対しては、端点BとBにおける接線は、ベクトルBとBn−1に対応する。その結果、図10に示されている曲線Pn=3(t)に対しては、端点Bと隣接する制御点Bにより定義されるベクトルBは、端点Bにおいて曲線Pn=3(t)に接し、端点Bと隣接する制御点Bにより定義されるベクトルBは、端点Bにおいて曲線に接する接線である。従って、ベクトルBはピクセル

Figure 2009521062
において法線ベクトルnに直交し、ベクトルBは、ピクセル
Figure 2009521062
において法線ベクトルnに直交する。その結果、
Figure 2009521062
となり、
Figure 2009521062
となる。 As described above, for the n-th order curve P (t), the tangent lines at the end points B 0 and B 1 correspond to the vectors B 0 B 1 and B n−1 B n . As a result, with respect to the curve P n = 3 shown in FIG. 10 (t), the vector B 1 B 0, which is defined by the control points B 1 and the adjacent end point B 0 is the curve P at the end point B 0 A vector B 2 B 3 defined by a control point B 2 that is adjacent to the end point B 3 and touches n = 3 (t) is a tangent line that touches the curve at the end point B 3 . Thus, the vector B 1 B 0 is a pixel
Figure 2009521062
Perpendicular to the normal vector n a in, the vector B 2 B 3, the pixel
Figure 2009521062
Perpendicular to the normal vector n b in. as a result,
Figure 2009521062
And
Figure 2009521062
It becomes.

水平方向(図9参照)における更新高さ値hの決定に対して、ベクトルの形式である式(2.10)は、次元「x」と「z」(「z」次元は画像平面に直交している)のそれぞれに対して下記の

Figure 2009521062
および
Figure 2009521062
ここで、数式(2.13)と数式(2.14)とのxとzの下付き文字は、数式(2.10)におけるそれぞれのベクトルに対する、それぞれxとzとの成分を示している式を誘導する。式(2.13)と(2.14)とに対しては、高さ値のz成分の値h1zのみが分かっておらず、「x」成分の値h1xは、この場合はピクセル
Figure 2009521062
である、その高さ値が決定されるピクセルの位置の関数となることは理解されよう。更に、式(2.12)は、下記の2つの
Figure 2009521062

Figure 2009521062
ここで、式(2.15)と(2.16)とにおける下付き文字x、y、およびzは、式(2.12)におけるそれぞれのベクトルに対する、それぞれx、y、およびz成分を示している式を誘導する。 For the determination of the updated height value h 1 in the horizontal direction (see FIG. 9), equation (2.10), which is a vector format, has dimensions “x” and “z” (“z” dimension is For each of the
Figure 2009521062
and
Figure 2009521062
Here, the subscripts of x and z in Equation (2.13) and Equation (2.14) indicate the components of x and z, respectively, for the respective vectors in Equation (2.10). Deriving the formula. For equations (2.13) and (2.14), only the z component value h 1z of the height value is not known, and the “x” component value h 1x is the pixel in this case.
Figure 2009521062
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
Figure 2009521062
When
Figure 2009521062
Here, the subscripts x, y, and z in the equations (2.15) and (2.16) indicate the x, y, and z components for the respective vectors in the equation (2.12), respectively. Deriving the formula that is.

更に、上述したように、曲線Pn=3(t)に対して更なる制約があり、特に、更新法線nは、ピクセル

Figure 2009521062
に対応する点において、曲線に対して垂直とならなければならないという制約がある。図10におけるベクトルB012123がピクセル
Figure 2009521062
に対応する点において曲線に接するならば、そのz成分は更新高さ値に対応する点hもまたベクトルB012123上に存在する。その結果、
Figure 2009521062

Figure 2009521062
となる。図10に示されている凸型組合せに基づくと、
Figure 2009521062

Figure 2009521062
になり、これは
Figure 2009521062

Figure 2009521062
という結果になる。式(2.17)と式(2.19)と式(2.21)とを組み合わせると、
Figure 2009521062
になり、この結果、それぞれのベクトルのxとz成分に対しては、
Figure 2009521062
となる。同様に、式(2.18)と式(2.20)と式(2.22)とに対しては、それぞれのベクトルのxとz成分に対して、
Figure 2009521062
となる。 Furthermore, as mentioned above, there are further constraints on the curve P n = 3 (t), in particular the update normal n 1 is the pixel
Figure 2009521062
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.
Figure 2009521062
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,
Figure 2009521062
When
Figure 2009521062
It becomes. Based on the convex combination shown in FIG.
Figure 2009521062
When
Figure 2009521062
This is
Figure 2009521062
When
Figure 2009521062
Result. Combining equation (2.17), equation (2.19) and equation (2.21),
Figure 2009521062
As a result, for the x and z components of each vector,
Figure 2009521062
It becomes. Similarly, for Equation (2.18), Equation (2.20), and Equation (2.22), for the x and z components of the respective vectors,
Figure 2009521062
It becomes.

8個の式(2.13)から式(2.16)、式(2.24)および式(2.25)はすべて、それぞれのxとz成分において一次元的であることは理解されよう。式(2.13)から式(2.16)、式(2.24)および式(2.25)に対しては、6個の未知の値がある、つまり、パラメータtの値、ベクトルBのxとz成分の値(つまり、b1xとb1zの値)、ベクトルBのxとz成分の値(つまり、b2xとb2zの値)、そして、ピクセル

Figure 2009521062
に対する点Pn=3(t)へのベクトルhの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
Figure 2009521062
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つの対角線方向のそれぞれに対して、上記の操作に類似する対応する操作を実行して、ピクセル

Figure 2009521062
に対する更新高さベクトルhを決定する。4方向すべてに対して更新高さベクトルを決定した後、コンピュータグラフィックスシステム200は、それらを平均する。更新高さベクトルの平均のz成分は、対象物に対する更新モデルの高さ値に対応する。 The computer graphics system 200 performs the above operations in relation to the horizontal direction (corresponding to the “x” coordinate axis) and corresponding operations similar to the above operations for the vertical and two diagonal directions, respectively. Run the pixel
Figure 2009521062
An update height vector h 1 is determined for. After determining the updated height vectors for all four directions, the computer graphics system 200 averages them. The average z component of the update height vector corresponds to the height value of the update model for the object.

コンピュータグラフィックスシステム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 computer graphics system 200 will be described in conjunction with the flowcharts of FIGS. 11A and 11B. In general, it is expected that the operator will have an image of the object modeled by the computer graphics system in his head. Referring to FIGS. 11A and 11B, an initial model for the object is determined (step 250), and the computer graphics system determines the display direction based on a predetermined illumination direction, the image plane (shown in FIG. 6). The two-dimensional image is displayed to the operator so as to correspond to the reference image plane 20) (step 251). As described above, the initial model can define a default shape such as a hemisphere or ellipse provided by a computer graphics system, or a shape provided by an operator. In either case, the shape defines an initial normal vector field N (x, y) and a height field H (x, y) to define a normal vector and height value for each pixel in the image. After the computer graphics system 200 displays the initial model, the operator can select one of a plurality of operating modes including a shading mode associated with the present invention, one of a plurality of conventional computer graphics modes such as erasing and trimming. Both can be selected (step 252). If the operator selects the shading mode, the operator updates the shading of the two-dimensional image, for example, with the pen and digitizing tablet of the system (step 253). While the operator is applying shading to the image at step 253, the computer graphics system 200 can display the shading to the operator. The shading applied by the operator is preferably a representation of the shading of the final object that is illuminated from a predetermined illumination direction and projected onto the image plane displayed by the computer graphics system 200.

オペレータがステップ253においてピクセルに対するシェーディングを更新すると、コンピュータグラフィックスシステム200は、対象物のモデルに対する更新を生成する。更新モデルの生成において、コンピュータグラフィックスシステム200はまず、図7と8に関連して上記したように、画像内の各ピクセルに対して更新法線ベクトルを決定し、それにより、対象物に対する更新法線ベクトルフィールドを提供する(ステップ254)。その後、コンピュータグラフィックスシステム200は、画像内の各ピクセルに対して、図9と図10とに関連して上記したように、更新高さ値を決定し、それにより、対象物に対する更新高さフィールドを提供する(ステップ255)。   When the operator updates the shading for the pixel at step 253, the computer graphics system 200 generates an update to the object model. In generating the update model, the computer graphics system 200 first determines an update normal vector for each pixel in the image, as described above with respect to FIGS. 7 and 8, thereby updating the object. A normal vector field is provided (step 254). Thereafter, the computer graphics system 200 determines an updated height value for each pixel in the image, as described above in connection with FIGS. 9 and 10, thereby updating the height for the object. A field is provided (step 255).

更新法線ベクトルフィールドと更新高さフィールドを生成して、対象物の更新モデルを提供した後、コンピュータグラフィックスシステム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 computer graphics system 200 is selected by the operator (step 257), image rotation, translation, and In the scaling and / or zooming process, as selected by the operator (step 256), an image of the updated model is displayed to the operator in one or more directions and zooms. If the operator determines that the updated model is satisfactory (step 258), this is the case, for example, when the updated model matches the image of the object to be modeled that the operator has drawn in mind, The operator can save the updated model in the computer graphics system 200 as the final model of the object (step 259). On the other hand, if the operator determines in step 257 that the updated model is not satisfactory, the operator can return the computer graphics system 200 to step 251.

ステップ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 computer graphics system 200 to be A series of steps up to step 260 is performed to update the model based on the erasure information or trimming and other conventional computer graphic information provided. The computer graphics system performs a series of steps up to step 257 to display an image of the object based on the updated model. If the operator determines that the updated model is satisfactory (step 108), the operator can cause the computer graphics system 200 to save the updated model as the final model of the object (step 259). On the other hand, if the operator determines in step 257 that the updated model is not satisfactory, the operator can return the computer graphics system 200 to step 251.

オペレータは、対象物の画像のシェーディングを更新するとき(ステップ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 computer graphics system 200. The computer graphics system 200 can generate an updated normal vector field and an updated height field in steps 254 and 255, or a conventional computer graphic component in step 260, so that the object's Define the update model. If the operator determines in step 258 that the update model corresponds to an image of the object that the operator has drawn on the head, or if it determines that the update model is satisfactory, the operator may send an update normal to the computer graphics system 200. The vector field and the updated height field can be stored to define the final model of the object (step 259).

本発明は、多数の利点を提供する。特に、本発明は、会話型コンピュータグラフィックスシステムを提供し、それにより、アーティストのようなオペレータは、対象物の所望の形状を想像でき、対象物に対するシェーディングが、特別な照明方向から照明され、特別な視覚方向(画像平面の位置により定義される方向)から見たときの対象物においてどのように現れるかを想像できる。オペレータが所望の形状に対応するあるシェーディング入力を提供した後、コンピュータグラフィックスシステムは対象物のモデルを、シェーディングに基づいて更新されたようにオペレータに表示する。オペレータはモデルを最終対象物として容認でき、またはシェーディングを更に更新でき、それによりコンピュータグラフィックスシステムは対象物のモデルを更に更新する。本発明に従って構築されたコンピュータグラフィックスシステムは、シェーディングからの形成化方法に従って作動する従来技術のシステムにおいては必要であった偏微分方程式を解く必要を回避する。   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 computer graphics system 200 to scale the object or zoom in on the object, thereby providing a higher resolution, the pixels of the image will be at a lower resolution. It will be appreciated that the portion of the image that was associated with a single pixel will be displayed. In this case, when the operator updates the shading of the higher resolution image, the computer graphics system generates a normal vector and height value for each higher resolution pixel whose shading is updated as described above, Thereby generating and / or updating parts of the model related to update shading at an increased resolution. The updated portion of the higher resolution model is associated with a special portion of the model previously defined at the lower resolution, thereby providing a hierarchical representation that can be stored. As a result, the object defined by the model inherits the level of detail corresponding to the higher resolution in the underlying surface representation. Corresponding operations can be performed if the operator can reduce the scale of the object or zoom out the object to the computer graphics system 200, thereby providing a lower resolution.

図5〜図11に関連して上記したように、多数の変形および修正をコンピュータグラフィックスシステム200に行うことができるということは理解されよう。例えば、コンピュータグラフィックスシステム200は、対象物のモデル情報、つまり、法線ベクトルフィールド情報および高さフィールド情報を、オペレータにより提供されたシェーディングの多数の更新に対して保持でき、それ(つまりシステム200)は、それぞれの更新に対して対象物のモデルを表示するために使用できる。これにより、オペレータは、例えば、それぞれの更新を通しての対象物の進展を見ることができるようにするために、それぞれのモデルの画像を見ることができる。更に、これにより、オペレータは、更新対象であったベースとして、以前の更新からのモデルに戻ることができる。これにより、オペレータは、例えば、特別なモデルにおける異なるシェーディングに基づく対象物のツリーを生成できる。   It will be appreciated that numerous variations and modifications may be made to the computer graphics system 200 as described above in connection with FIGS. For example, the computer graphics system 200 can maintain object model information, ie, normal vector field information and height field information, for multiple updates of shading provided by an operator (ie, system 200). ) Can be used to display a model of the object for each update. This allows the operator to see images of each model, for example, to be able to see the progress of the object through each update. In addition, this allows the operator to return to the model from the previous update as the base to be updated. This allows the operator to generate, for example, a tree of objects based on different shading in a special model.

更に、コンピュータグラフィックスシステム10は、Bezier-Bernstein内挿を利用して更新高さフィールドh(x、y)を決定するように説明したが、例えば、テイラー(Taylor)多項式およびBスプラインのような内挿の他の形式もまた使用できるということは理解されよう。更に、表面表現の複数の形式を本発明で使用できる。実際、コンピュータグラフィックスシステム200により使用されるモデル生成方法は、一般的な適用であるので、すべての自由な形式の表面表現が、例えば、三角形、四角形、および/または五角形から構成される区分的線形表面と共に使用できる。   Further, although the computer graphics system 10 has been described as determining an updated height field h (x, y) using Bezier-Bernstein interpolation, such as, for example, Taylor polynomials and B-splines It will be appreciated that other forms of interpolation can also be used. In addition, multiple forms of surface representation can be used with the present invention. In fact, the model generation method used by computer graphics system 200 is a general application, so that all free-form surface representations are piecewise composed of, for example, triangles, squares, and / or pentagons. Can be used with linear surfaces.

更に、コンピュータグラフィックスシステム200は、正投影と単一光源を利用するとして説明したが、透視投影を含む他の形式の投影および複数の光源を使用できるということは理解されよう。   Further, although the computer graphics system 200 has been described as utilizing an orthographic projection and a single light source, it will be appreciated that other types of projections and multiple light sources may be used, including perspective projection.

更に、コンピュータグラフィックスシステム200は、対象物の形状を、対象物の画像のシェーディングにより提供すると説明したが、それはまた、ペン204とデジタイジングタブレットの適切な操作モードを介して、トリミングや消去のようなコンピュータグラフィックス操作も提供できるということは理解されよう。   Furthermore, although the computer graphics system 200 has been described as providing the shape of an object by shading the image of the object, it can also be trimmed and erased via the appropriate operating mode of the pen 204 and the digitizing tablet. It will be appreciated that such computer graphics operations can also be provided.

更に、コンピュータグラフィックスシステムは、対象物のモデルを、対象物の表面はランベルト面であることを仮定して生成すると説明したが、対象物の画像のレンダリングを行うときに、対象物に対して他の表面処理も使用できるということは理解されよう。   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 cycle 300.

ステップ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 shaping algorithm 306.

ステップ306〜ステップ309:整形アルゴリズム306は、表面に対して行う正確な幾何学的変更を決定する。必要であれば、より多くの表面基本形が、十分な詳細が存在していることを確実にするために、シェーディングの領域における細分割を介して追加される(ステップ307)。2D設定で要求された変更を3Dで反映する高さフィールドが求められ(ステップ308)、細分割曲面は、それがこれらの高さを反映するように変更される(ステップ309)。   Steps 306-309: The shaping algorithm 306 determines the exact geometric changes to make to the surface. If necessary, more surface features are added via subdivision in the area of shading to ensure that sufficient details are present (step 307). A height field is obtained that reflects the changes requested in 2D settings in 3D (step 308), and the subdivision surface is modified so that it reflects these heights (step 309).

結果は、更に変形でき(ステップ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は下記の

Figure 2009521062
ここで、Nは表面に対する離散法線であり、λは、無限に遠くにある光源の方向を指し示す単位ベクトルである式により定義される。 3.4 Additional shaping algorithms The surface of interest that is assumed to be continuous is orthographically projected onto the viewing plane. This projection has an associated height field, the intensity of which is determined by one light source with a Lambertian reflection map, so that a point (u,) in the model view of a given surface with a height field H The discrete intensity I in v) is
Figure 2009521062
Here, NH is a discrete normal to the surface, and λ is defined by an expression that is a unit vector indicating the direction of a light source that is infinitely far away.

投影表面上の選択されたピクセルの強度は、シェーディングまたは前以て定義されたピクセルの集合をロードすることにより変更される。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.

ここで記載される技術は、下記の

Figure 2009521062
ここで、Cは関連する高さフィールドHを有する曲面の曲率を示し、λは平滑係数と称される定数で、合計は、投影曲面の内部と交差するモデルビュー内のピクセルに渡り実行される式を最小化する、モデルビュー全体にわたる高さ増分Γの集合を生成する。 The techniques described here are:
Figure 2009521062
Where C H is the curvature of the curved surface with the associated height field H, λ is a constant called the smoothing factor, and the sum is performed over the pixels in the model view that intersect the interior of the projected curved surface. Generate a set of height increments Γ over the entire model view that minimizes

Pを、強度を修正されたモデルビューにおけるピクセルの集合とする。この集合は、修正ピクセルの集合と称される。一連の簡略化により、関数(3.02)を、

Figure 2009521062
とまとめられるピクセルに縮小できる。更に、高さ増分Γの集合を、各ピクセルに対して1つの入力を含むベクトルx、または対応する高さ値がアルゴリズムにより変更できる接続領域に縮小できる。Γのサイズは、投影曲面の高さフィールドのサイズに整合する。ベクトルxは、潜在的にはるかに小さい集合である、Γにおける固有非ゼロ高さ増分の数に基づいてサイズを縮小する。そして、関数(3.02)は、
Figure 2009521062
の非制約最小化に縮小できる。 Let P be the set of pixels in the model view with modified intensity. This set is referred to as a set of modified pixels. Through a series of simplifications, the function (3.02) is
Figure 2009521062
Can be reduced to pixels that can be grouped together. Furthermore, the set of height increments Γ can be reduced to a vector x containing one input for each pixel, or a connected region whose corresponding height value can be changed by the algorithm. The size of Γ matches the size of the height field of the projection surface. The vector x reduces in size based on the number of intrinsic non-zero height increments in Γ, which is potentially a much smaller set. And the function (3.02) is
Figure 2009521062
Can be reduced to unconstrained minimization.

縮小された関数は、最小化するための計算上の負荷がより少ないが、これは、モデルビューにおけるすべてのピクセルの代わりに、修正されたピクセルの近傍で合計を求めるだけでよいことと、最小化問題の規模は、Γのサイズから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)を最小化するために使用される方法は、信頼領域法である。まず、関数は、下記の

Figure 2009521062
ここで、
Figure 2009521062
はfの勾配ベクトルであり、
Figure 2009521062
はfのヘッシアン行列である二次関数によりモデル化される。そして、モデルFは、ある
Figure 2009521062
に対して、
Figure 2009521062
である領域において最小化される。最小化を行うために使用される方法は、特殊疎行列乗算を有するCG-Steihaug法である。テスト値は、結果としての最小点xから構築され、
Figure 2009521062
である。 The method used to minimize the function (3.03) is the trust region method. First, the function
Figure 2009521062
here,
Figure 2009521062
Is the gradient vector of f,
Figure 2009521062
Is modeled by a quadratic function that is a Hessian matrix of f. And model F is
Figure 2009521062
Against
Figure 2009521062
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,
Figure 2009521062
It is.

ρが1に近ければ、Fは信頼領域内で、fに対する良好なモデルであると考えられる。信頼領域の中心は、xに移動され、信頼領域の半径は増大する。ρが1から離れていれば、信頼領域の半径は減少する。この処理は繰り返され、つまり、新しい信頼領域におけるFに対して最小値が求められる。処理を停止する基準は、現在の信頼領域の中心において、

Figure 2009521062
が十分に小さい、つまり、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
Figure 2009521062
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は、ビューイングウィンドウ内で見ることができる表面の一部と関連する、カメラ空間内の高さ値を表わし、

Figure 2009521062
は、表面に与えられた照明条件λ表わし、Cは、曲面の曲率を表わすとする。SBSシェーディングアルゴリズムは、高さ値Hに加算され、下記の
Figure 2009521062
ここで、λは平滑化係数と称される正の定数で、積分は、ビューイングウィンドウ内の投影表面の領域全体にわたり行われる関数を最小化する増分Γを求めようとする。理想的な結果は、強度がシェーディングの強度と整合する、λにより決定された平滑性を有する表面高さの新しい集合である。2Dシェーディングは、3D修正という結果になる。 IV. Shaping methods and algorithms implemented within the SBS modeler 4.1 Introduction The goal of Shading Shaping (SBS) processing is to interpret 2D (2D) shading as 3D (3D) shapes. A number of techniques and systems for accomplishing this are described herein. For purposes of this discussion, grayscale shading has already been performed on the projection of the surface onto the viewing plane, the underlying surface is continuous, and the gray of the projection surface. It is assumed that the scale intensity can be described mathematically. H represents the height value in camera space associated with the part of the surface that can be seen in the viewing window;
Figure 2009521062
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
Figure 2009521062
Where λ is a positive constant called the smoothing factor, and the integration seeks to find an increment Γ that minimizes the function performed over the entire area of the projection surface in the viewing window. The ideal result is a new set of surface heights with smoothness determined by λ whose intensity matches the intensity of the shading. 2D shading results in 3D modification.

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”.

ラスターピクセルの近傍

Figure 2009521062
は、ピクセルそれ自身を含み、|u−u|≦1と|v−v|≦1となるようなすべてのピクセル
Figure 2009521062
として定義される。ピクセルの集合Aの近傍は、nbhd(A)として表わされる。ピクセルは、ピクセルがAのメンバーであれば集合Aの境界上にあると定義されるが、その隣の1つまたは2つ以上はA内にない。Aの境界は、∂Aと表わされる。Aの内部は、
Figure 2009521062
と定義され、符号「\」は、集合の減算を表わす。モデルビューの内部のピクセルは、9個のピクセルを含む近傍を有している。 Raster pixel neighborhood
Figure 2009521062
All pixels that contain the pixel itself, such that | u 0 −u | ≦ 1 and | v 0 −v | ≦ 1
Figure 2009521062
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
Figure 2009521062
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個のピクセルにわたる単純な勾配公式に基づき、

Figure 2009521062
と定義される。 Let ∫ be the floating point width (height) between neighboring raster points in camera space. The discrete first derivative in the u direction of the surface with height field H is based on a simple gradient formula over two pixels across the point of interest:
Figure 2009521062
Is defined.

同様に、v方向における離散第1導関数は、

Figure 2009521062
と定義される。 Similarly, the discrete first derivative in the v direction is
Figure 2009521062
Is defined.

4.2.4 表面法線
高さフィールドHを有する表面に対する離散法線は、

Figure 2009521062
と定義され、表面接ベクトル<1、0、DH(u,v)>と<0、1、DH(u,v)>とのクロス積である。 4.2.4 Surface normal The discrete normal for a surface with a height field H is
Figure 2009521062
And is the cross product of the surface contact vector <1, 0, D 1 H (u, v)> and <0, 1, D 2 H (u, v)>.

4.2.5 照明条件と強度
SBSにおいては、照明条件は、1つの光源によるランベルト面であると仮定されている。しかし、別の照明モデルを使用すること、および/または複数の照明源を使用することも可能である。光源は、光の方向を指し示す単位ベクトルλにより記載され、無限に遠くにある。高さフィールドHを有する所与の表面の離散強度Iと光ベクトルλは、

Figure 2009521062
で定義される。 4.2.5 Illumination condition and intensity In SBS, the illumination condition is assumed to be a Lambertian surface by one light source. However, it is possible to use different illumination models and / or to use multiple illumination sources. The light source is described by a unit vector λ indicating the direction of light and is infinitely far away. The discrete intensity I and light vector λ for a given surface with height field H is
Figure 2009521062
Defined by

この数式は、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導関数は、代替の数式

Figure 2009521062
と、
Figure 2009521062
を、uおよびv方向それぞれにおける離散第1導関数に対して使用することに基づいている。u方向における第2導関数は、
Figure 2009521062
と定義される。同様に、
Figure 2009521062
と、
Figure 2009521062
であり、ここで、
Figure 2009521062
である。 4.2.6 Second Derivative The discrete second derivative of the surface with height field H is an alternative formula
Figure 2009521062
When,
Figure 2009521062
Is used for discrete first derivatives in the u and v directions, respectively. The second derivative in the u direction is
Figure 2009521062
Is defined. Similarly,
Figure 2009521062
When,
Figure 2009521062
And where
Figure 2009521062
It is.

4.2.7 曲率
高さフィールドHを有する曲面の離散曲率は、非負スカラー

Figure 2009521062
として定義される。 4.2.7 Curvature The discrete curvature of a curved surface with a height field H is a non-negative scalar.
Figure 2009521062
Is defined as

4.2.8 最小化対象の離散関数
関数(4.01)の打切りバージョンは、離散強度および曲率の定義を使用して作成できる。それらの式は近傍ピクセル値に依存するので、モデルビューの内部と、投影表面の内部の両者にあるピクセルのみが、関心対象領域に含まれていると考えられる。関数(4.01)の離散バージョンは

Figure 2009521062
ここで、λは平滑係数と称される正の定数であり、Γは、投影表面S上で定義される高さ増分の集合である式として定義される。
Figure 2009521062
に対して、Γ(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
Figure 2009521062
Here, λ is a positive constant called a smoothing coefficient, and Γ is defined as an expression that is a set of height increments defined on the projection surface S.
Figure 2009521062
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)は、

Figure 2009521062
におけるすべてのピクセルではなく、ユーザーにより強度が修正されたピクセルの近傍におけるピクセルにわたる合計を含むことのみが必要であることが示される。更に、関数の規模は、提案された高さ増分を、よりコンパクトな方法で表現することにより縮小されることが示される。 4.3 Reduction of function to be minimized In this section, function (4.10) is
Figure 2009521062
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 修正ピクセル
下記の

Figure 2009521062
を、ユーザーが強度を修正したモデルビューにおけるピクセルの集合とする。Pは「修正ピクセル」の集合と称され、近傍情報が強度を計算するために必要なので、
Figure 2009521062
が仮定されている。 4.3.1 Corrected pixels
Figure 2009521062
Let be the set of pixels in the model view whose intensity has been modified by the user. P is referred to as a set of “corrected pixels”, and neighborhood information is needed to calculate the intensity, so
Figure 2009521062
Is assumed.

4.3.2 ビューコード
ビューコードは、計算における縮小の発展を支援する。ビューコードはピクセルを、提案された高さ増分で分類する。パスと接続された集合の表記がビューコードの構築には必要となる。ピクセル(u,v)からピクセル(u,v)へのパスは、ピクセルの任意のシーケンス

Figure 2009521062
として定義され、それにより、
Figure 2009521062
となる。集合Aは、
Figure 2009521062
ならば集合Bの接続成分であり、各
Figure 2009521062
に対して、Aに完全に含まれる(u,v)から(u,v)のパスがある。ビューコードは、高さ増分ΓはS\Pの接続成分上では定数であることを仮定している。表面アーティファクトを回避するために、この定数は、接続成分が、
Figure 2009521062
と交差するならば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
Figure 2009521062
Is defined as
Figure 2009521062
It becomes. Set A is
Figure 2009521062
Is the connected component of set B, and
Figure 2009521062
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
Figure 2009521062
Is assumed to cross 0.0.

T=(T−1,T,T,...,Tn−1)を、S\Pの分割とし、T−1を、

Figure 2009521062
と交差するすべての接続成分の和集合とし、0≦i<nに対するTを、S\Pの接続成分で、それを適切に含むものがないという意味で最大である接続成分とする。そうすると、増分の集合Γは、多くとも(m+n)の固有非ゼロ値を、修正ピクセルに対して1つ、各Tに対して1つ有し、それによりi≠−1である。 Let T = (T −1 , T 0 , T 1 ,..., T n−1 ) be a division of S \ P, and T −1
Figure 2009521062
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.

「ビューコード」は、

Figure 2009521062
と定義される。これは、例えば、0≦V(u,v)<mであれば、(u,v)は修正ピクセルであることが分かる。また、V(u,v)=−1であれば、ピクセルV(u,v)は2Dシェーディング情報の結果として変更されない。これは、ビューコードが割り当てられていないピクセル、つまり、モデルビュー上への表面の投影上にないピクセルについても当てはまる。 "View code"
Figure 2009521062
Is defined. For example, if 0 ≦ V (u 0 , v 0 ) <m, it can be seen that (u 0 , v 0 ) is a modified pixel. If V (u 0 , v 0 ) = − 1, the pixel V (u 0 , v 0 ) is not changed as a result of the 2D shading information. This is also true for pixels that have not been assigned a view code, that is, pixels that are not on the projection of the surface onto the model view.

4.3.3 関数ピクセルと計算における第1縮小
表面の断面の高さを、一定量だけ移動させても、その断面の内部の強度または曲率は変化しない。各Tにおけるピクセルは、一定量だけ移動され、TはS\Pの分割であるので、

Figure 2009521062
が成り立つ可能なピクセルは、
Figure 2009521062
に含まれる。下記の
Figure 2009521062
ここで、qはモデルビューにおけるピクセル(u,v)を表わす式を仮定する。Qは「関数ピクセル」の集合と称され、関数(4.10)は、ここでは、
Figure 2009521062
と縮小され、ここでKは、集合
Figure 2009521062
上の
Figure 2009521062
の合計であり、定数である。 4.3.3 First Reduction in Function Pixel and Calculation Even if the height of the cross section of the surface is moved by a certain amount, the intensity or curvature inside the cross section does not change. Since the pixels at each T i are moved by a fixed amount, and T is a split of S \ P,
Figure 2009521062
The possible pixels for which
Figure 2009521062
include. below
Figure 2009521062
Here, q i is assumed to be an expression representing a pixel (u i , v i ) in the model view. Q is referred to as the set of “function pixels” and the function (4.10) is here:
Figure 2009521062
Where K is the set
Figure 2009521062
upper
Figure 2009521062
Is a constant.

4.3.4 増分ベクトルと計算における第2縮小
Γには、最大(m+n)の固有非ゼロ高さ増分があるので、最小化される関数は、ビューコードにより特定されるように、それらの増分の関数であることのみが必要である。下記の

Figure 2009521062
ここで、xはV(u,v)=iとなるような、すべてのピクセルに対するΓの増分値であるとする。xは「増分ベクトル」と称される。
Figure 2009521062
に対して、
Figure 2009521062
とする。すると、関数(4.10)は、
Figure 2009521062
の最小化に縮小される。 4.3.4 Increment vector and second reduction in computation Since Γ has a maximum (m + n) intrinsic non-zero height increments, the function to be minimized is determined by the view code as It only needs to be a function of the increment. below
Figure 2009521062
Here, x i is an increment value of Γ for all pixels such that V (u, v) = i. x is referred to as an “incremental vector”.
Figure 2009521062
Against
Figure 2009521062
And Then the function (4.10) is
Figure 2009521062
Reduced to minimization.

4.3.5 目的関数
関数(4.13)と関数(4.16)とは組み合わせて下記の関数を形成することができ、その関数は最小化されるときは、関数(4.10)の最小化と等価になる。

Figure 2009521062
ここで最小化はまた、非制約であってもよい。関数(4.17)は、整形アルゴリズムにより最小化される離散関数の最終バージョンである。この関数は「目的関数」と称され、その大きさは(m+n)である。 4.3.5 Objective Function The function (4.13) and the function (4.16) can be combined to form the following function, and when the function is minimized, the function (4.10) Is equivalent to minimizing.
Figure 2009521062
Here the minimization may also be unconstrained. Function (4.17) is the final version of the discrete function that is minimized by the shaping algorithm. This function is called an “objective function”, and its size is (m + n).

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.

増分ベクトルに集中化された目的関数の信頼領域域モデル

Figure 2009521062
は、
Figure 2009521062
であり、ここで、
Figure 2009521062
は勾配ベクトル
Figure 2009521062
であり、
Figure 2009521062
はヘッシアン行列
Figure 2009521062
である。信頼領域ニュートン−CGという名称における「ニュートン」という名前は、ヘッシアン行列がモデルで使用されるという事実から来ている。他の、普通は正の定符号行列を代わりに使用でき、その場合は、ニュートンは名前から落ちる。SBSの場合、ヘッシアン行列の使用は便利であり、より弱い収束条件の使用が可能になる。 Trust region model of objective function centralized in incremental vectors
Figure 2009521062
Is
Figure 2009521062
And where
Figure 2009521062
Is the gradient vector
Figure 2009521062
And
Figure 2009521062
Is a Hessian matrix
Figure 2009521062
It is. The name “Newton” in the name of trust region Newton-CG comes from the fact that the Hessian matrix is used in the model. Other, normally positive constant code matrices can be used instead, in which case Newton falls from the name. For SBS, the use of the Hessian matrix is convenient and allows the use of weaker convergence conditions.

Figure 2009521062
が十分に小さい場合、つまり、ある収束閾値よりも小さい場合は、極小値オフ(off)がxにおいて起こり、処理は終了したと結論される。そうでない場合は、モデルFは、ある正数Δに対する円形信頼領域
Figure 2009521062
において、下記に説明するCG-Steihaug法を介して最小化される。pを、信頼領域においてモデルの最小化が起きた結果としての増分ベクトルとする。
Figure 2009521062
が、収束閾値よりも小さい場合は、fの極小値がx+pで起こり、処理は終了したと結論される。それ以外では、テスト値
Figure 2009521062
を計算する。ρが閾値を超えると、実際の縮小と予想される縮小は、お互いに若干近くなり、信頼領域の中心は、x=x+pに移動される。それ以外では、信頼領域の中心はx=xに留まる。ρが1に近ければ、Fは信頼領域内においてfに対する良好なモデルと考えられ、半径は増大する。ρが1から離れれば、信頼領域の半径は減少する。新しい領域の半径はΔと表示され、xに集中化された新しいモデルFが構築され、最小化処理が繰り返される。
Figure 2009521062
は0との近さをテストされる。十分に近くない場合は、処理は、
Figure 2009521062
が収束閾値以下になるまで再び繰り返される。fの極小値は、x+pにおいて求められる。モデルをどのように計算するか(特に、f、
Figure 2009521062

Figure 2009521062
をどのように求めるか)についての詳細は5節で、CG-Steihaug法に必要な計算は6節で、そして、
Figure 2009521062
の収束についての検討は7節で行う。
Figure 2009521062
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
Figure 2009521062
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.
Figure 2009521062
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
Figure 2009521062
Calculate When ρ 0 exceeds the threshold, the actual reduction and the expected reduction are slightly closer to each other, and the center of the trust region is moved to x 1 = x 0 + p 0 . Otherwise, the center of the trust region remains at x 1 = x 0 . If ρ 0 is close to 1, F 0 is considered a good model for f in the confidence region and the radius increases. If ρ 0 is away from 1, the radius of the trust region decreases. The radius of the new region appears as delta 1, a new model F 1 which is centralized in x 1 is built, minimization processing is repeated.
Figure 2009521062
Is tested for proximity to zero. If not close enough, the process
Figure 2009521062
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,
Figure 2009521062
,
Figure 2009521062
For details on how to find the CG-Steihaug method in Section 6, and
Figure 2009521062
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)、

Figure 2009521062
、および
Figure 2009521062
に対する式を求めるために残差が使用される。 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),
Figure 2009521062
,and
Figure 2009521062
The residual is used to find the expression for.

4.5.1 関数、勾配、およびヘッシアンを取得するための残差の使用

Figure 2009521062
であることを思い起こして、関数(4.18)の残差を0≦i<tに対して、
Figure 2009521062
のように定義する。関数(4.18)の残差ベクトルを、次のように第1、第2、第3、および第4種の残差すべての結合と定義する。
Figure 2009521062
ここで、残差ベクトルのノルムの平方は、強度と曲率に分解される。
Figure 2009521062
その結果、
Figure 2009521062
となる。実際、残差は、上記の式が真であるように選択された。fの勾配とヘッシアンに対する式もまた残差から導出できる。
Figure 2009521062
とすると、
Figure 2009521062
となる。その結果、
Figure 2009521062
である。同様な導出が、ヘッシアンに対する下記の式という結果になり、
Figure 2009521062
ここで、
Figure 2009521062
は、以前に定義したように残差勾配ベクトルであり、
Figure 2009521062
は残差ヘッシアン、
Figure 2009521062
である。簡単な式が下記の
Figure 2009521062
と、
Figure 2009521062
のそれぞれに対して、残差式を分解し、その導関数を取ることにより導出される。ビューコードは計算を簡略化するために使用される。結果としての式は、これらの2つの値が、既知の値の小さな集合上を除いて0でなければならないことを示している。この情報は、
Figure 2009521062
と、
Figure 2009521062
とを求め、その結果、f(x)、
Figure 2009521062
、および、
Figure 2009521062
を求めるために使用できる。その最終的な結果は、信頼領域モデル関数(関数(4.18))を計算する簡単な方法である。 4.5.1 Using residuals to obtain functions, gradients, and Hessians
Figure 2009521062
Recall that the residual of the function (4.18) is 0 ≦ i <t,
Figure 2009521062
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:
Figure 2009521062
Here, the square of the norm of the residual vector is decomposed into intensity and curvature.
Figure 2009521062
as a result,
Figure 2009521062
It becomes. In fact, the residual was chosen so that the above equation is true. Equations for the slope of f and Hessian can also be derived from the residual.
Figure 2009521062
Then,
Figure 2009521062
It becomes. as a result,
Figure 2009521062
It is. A similar derivation results in the following equation for Hessian:
Figure 2009521062
here,
Figure 2009521062
Is the residual gradient vector as defined previously,
Figure 2009521062
Is the residual Hessian,
Figure 2009521062
It is. The simple formula is
Figure 2009521062
When,
Figure 2009521062
Is derived by decomposing the residual equation and taking its derivative. View codes are used to simplify calculations. The resulting equation shows that these two values must be zero except on a small set of known values. This information
Figure 2009521062
When,
Figure 2009521062
And as a result, f (x),
Figure 2009521062
,and,
Figure 2009521062
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に対して、

Figure 2009521062
と書くことで使用できる。偏微分をするために商法則を使用すると、
Figure 2009521062
と、
Figure 2009521062
という結果になる。式(4.31)と式(4.32)との主要部分は、より処理し易い形式に分解できる。
Figure 2009521062
の定義に鎖法則を使用することができ、
Figure 2009521062
が得られ、
Figure 2009521062
の偏微分を計算することにより、
Figure 2009521062
という結果になる。式(4.33)と式(4.34)とは、D(q)の偏微分とD(q)に対する式を求めることにより更に分解できる。下記の
Figure 2009521062
ここで、Vはビューコードである式を呼び出す。u方向における離散第1導関数の定義により、下記の
Figure 2009521062
ここで、δはラスター点(1,0)である式が与えられ、これは、
Figure 2009521062
を意味する。同様に、下記の
Figure 2009521062
ここで、δはラスター点(0,1)である式が与えられる。ビューコードにより、
Figure 2009521062
が与えられる。ここで、第1種の残差に対する第1および第2偏微分の式が可能な限り分解されたので、今度は、その微小部分を使用して、鎖を遡って計算する。式(4.38)を式(4.36)と式(4.37)とに代入して、
Figure 2009521062
と、
Figure 2009521062
とを計算する。そしてこれらを、式(4.33)と式(4.34)とに代入して、
Figure 2009521062
と、
Figure 2009521062
とを計算する。最後に、結果を式(4.31)と式(4.32)とに代入して所望するように、
Figure 2009521062
と、
Figure 2009521062
とを計算する。特に、
Figure 2009521062
および、
Figure 2009521062
であることに留意されたい。 4.5.2 Type 1 residual The equation for intensity is the type 1 residual for 0 ≦ i <t.
Figure 2009521062
It can be used by writing Using the commercial law to do partial differentiation,
Figure 2009521062
When,
Figure 2009521062
Result. The main parts of equations (4.31) and (4.32) can be broken down into a more manageable form.
Figure 2009521062
The chain law can be used to define
Figure 2009521062
Is obtained,
Figure 2009521062
By calculating the partial derivative of
Figure 2009521062
Result. And formula (4.34) Equation (4.33), can be further decomposed by obtaining the expression for D 1 H x (q i) of the partial differentiation and D 1 H x (q i) . below
Figure 2009521062
Here, V calls an expression that is a view code. By the definition of the discrete first derivative in the u direction,
Figure 2009521062
Where δ 1 is given the equation that is the raster point (1,0),
Figure 2009521062
Means. Similarly,
Figure 2009521062
Here, an expression is given in which δ 2 is a raster point (0, 1). View code
Figure 2009521062
Is given. Now that the first and second partial differential equations for the first type of residual have been resolved as much as possible, this small part is used to calculate the chain retrospectively. Substituting Equation (4.38) into Equation (4.36) and Equation (4.37),
Figure 2009521062
When,
Figure 2009521062
And calculate. Substituting these into the equations (4.33) and (4.34),
Figure 2009521062
When,
Figure 2009521062
And calculate. Finally, as desired by substituting the results into equations (4.31) and (4.32),
Figure 2009521062
When,
Figure 2009521062
And calculate. In particular,
Figure 2009521062
and,
Figure 2009521062
Please note that.

4.5.3 第2、第3、および第4種の残差
第2種の残差は、0≦i<tに対して、

Figure 2009521062
であり、それにより、
Figure 2009521062
が与えられる。上記の計算に対して式(4.38)を使用して、
Figure 2009521062
および、
Figure 2009521062
であることに留意されたい。第3種の残差は、0≦i<tに対して、
Figure 2009521062
であり、
Figure 2009521062
が与えられる。上記の計算に対して式(4.38)を使用して、
Figure 2009521062
および、
Figure 2009521062
であることに留意されたい。第4種の残差は、0≦i<tに対して、
Figure 2009521062
であり、ここで、
Figure 2009521062
であり、
Figure 2009521062
が与えられる。上記の計算に対して式(4.38)を使用して、
Figure 2009521062
および、
Figure 2009521062
であることに留意されたい。第1、第2、第3、および第4の残差に対して、つまり、0≦i<4tに対して、
Figure 2009521062
および、
Figure 2009521062
であることに留意されたい。 4.5.3 Second, Third, and Fourth Type Residues The second type residuals are for 0 ≦ i <t,
Figure 2009521062
And thereby
Figure 2009521062
Is given. Using equation (4.38) for the above calculation,
Figure 2009521062
and,
Figure 2009521062
Please note that. The third type residual is 0 ≦ i <t,
Figure 2009521062
And
Figure 2009521062
Is given. Using equation (4.38) for the above calculation,
Figure 2009521062
and,
Figure 2009521062
Please note that. The fourth type of residual is 0≤i <t,
Figure 2009521062
And where
Figure 2009521062
And
Figure 2009521062
Is given. Using equation (4.38) for the above calculation,
Figure 2009521062
and,
Figure 2009521062
Please note that. For the first, second, third and fourth residuals, ie for 0 ≦ i <4t,
Figure 2009521062
and,
Figure 2009521062
Please note that.

4.6 信頼領域モデルの最小化:CG-Steihaug法
4.6.1 概要
信頼領域ニュートン−CG法における各ステップにおいて、SBSは、CG-Steihaug法を使用して、信頼領域におけるモデル関数の最小値を求める。共役勾配法は、一次連立方程式Ax=−b、ここでAは対称行列である方程式を解こうとする。問題は、下記のように再公式化でき、

Figure 2009521062
これにより問題は、φ(x)の最小化という問題になる。ステップiにおける、fに対する信頼領域モデルFを、
Figure 2009521062
として呼び出す。φ(x)、A、およびbは、信頼領域法の立場から、下記の
Figure 2009521062
Figure 2009521062
および、
Figure 2009521062
と表現できる。Aは実際には対称であることに留意されたい。上記の観点から、CG-Steihaug法により最小化される関数は、
Figure 2009521062
であり、CG法は、共役勾配(CG)の表記を使用して、φ(x)の最小値に収束するベクトル列を構築する。所与のiに対して、ベクトル集合
Figure 2009521062
は、すべてのk≠1に対して、
Figure 2009521062
ならば、行列Aに関して共役(CGにおける「C」)と称される。信頼領域法のステップiにおいてそのような集合Dが与えられると、pi,j=0とj≧0に対して下記の
Figure 2009521062
ここで、ai,jは、
Figure 2009521062
に沿う、φ(x)の一次元最小化因子である数列pi,uを定義する。数列pi,jは、最大(m+n)(以前のように、(m+n)が目的関数の大きさの場合)ステップで、所望の最小値pに収束する。ここでの目標は、どのようにして集合Dを構築し、各j≧0に対してai,jをどのように求めるかである。 4.6 Minimization of the trust region model: CG-Steihaug method 4.6.1 Overview At each step in the trust region Newton-CG method, the SBS uses the CG-Steihaug method to minimize the model function in the trust region. Find the value. The conjugate gradient method tries to solve a linear simultaneous equation Ax = −b, where A is a symmetric matrix. The problem can be reformulated as follows:
Figure 2009521062
This causes a problem of minimizing φ (x). The trust region model F i for f in step i is
Figure 2009521062
Call as. φ (x), A, and b are the following from the standpoint of the trust region method:
Figure 2009521062
Figure 2009521062
and,
Figure 2009521062
Can be expressed as Note that A is actually symmetric. From the above viewpoint, the function minimized by the CG-Steihaug method is
Figure 2009521062
The CG method uses a conjugate gradient (CG) notation to construct a vector sequence that converges to the minimum value of φ (x). Vector set for a given i
Figure 2009521062
For all k ≠ 1
Figure 2009521062
Then, it is called conjugate (“C” in CG) with respect to the matrix A. Given such a set D in step i of the trust region method, for p i, j = 0 and j ≧ 0,
Figure 2009521062
Where a i, j is
Figure 2009521062
A number sequence p i, u that is a one-dimensional minimization factor of φ (x) is defined. The sequence p i, j converges to the desired minimum value p i in steps of maximum (m + n) (as before, where (m + n) is the magnitude of the objective function). The goal here is how to build the set D and how to find a i, j for each j ≧ 0.

Figure 2009521062
とする。言い換えれば、最小値を探す第1方向を、最も急峻な降下方向として選択する。これは、勾配(CGにおける「G」)により決定される方向である。系の残差はr(x)=Ax+bとして定義され、次の探す方向を決定する各ステップにおいて使用される。pi,0=0なので、ステップ0における残差は、j≧0に対してri,0=bであり、
Figure 2009521062
である。j≧0に対して、di,j+1を、
Figure 2009521062
ここで、
Figure 2009521062
であるように定義する。βi,j+1に対するそのような選択は、すべてのk<j+1に対して、
Figure 2009521062
となるようなdi,j+1の結果になり、それにより、集合Dが各jに対して共役であることが保証される。
Figure 2009521062
And In other words, the first direction in which the minimum value is searched is selected as the steepest descent direction. This is the direction determined by the gradient (“G” in CG). The system residual is defined as r (x) = Ax + b and is used in each step of determining the next search direction. Since p i, 0 = 0, the residual in step 0 is r i, 0 = b for j ≧ 0,
Figure 2009521062
It is. For j ≧ 0, let d i, j + 1 be
Figure 2009521062
here,
Figure 2009521062
To be defined. Such a choice for β i, j + 1 is for all k <j + 1
Figure 2009521062
Resulting in d i, j + 1 such that the set D is conjugate to each j.

最小化因子αi,jを計算するために、項同士の乗算を行い、αの冪数に従って整理することにより、φpi,j+αdi,jに沿う式を求める。

Figure 2009521062
ここで、Kはαに関して定数である。次に、αについての導関数を求める。
Figure 2009521062
上記の量を0に等しいと置いて、臨界点
Figure 2009521062
を求める。臨界点が最小値に対応することを確実にするために、第2導関数を計算して、関数の凹性を求める。
Figure 2009521062
上記の量が正かどうかは分からない。
Figure 2009521062
の場合も後で扱うが、導関数は、
Figure 2009521062
であることを仮定し続けている。αi,jに対する式は、各j>0に対して、
Figure 2009521062
という事実を使用して、より良好な方法で書くことができ、k<jのすべてに対しては、帰納法によりある事実が証明される。j=1に対しては、
Figure 2009521062
である。ここでk<j−1に対して、
Figure 2009521062
を仮定する。すると、k<j−1に対して、
Figure 2009521062
であり、ここで、帰納法仮説により、
Figure 2009521062
であり、Dの共役性により、
Figure 2009521062
である。ここでk=j−1の場合を扱うと、
Figure 2009521062
である。従って、各j>0に対して、
Figure 2009521062
がk<jのすべてに対して成り立つ。ここで、αi,jに対する新しい式は、
Figure 2009521062
と表わされる。要約すると、CG-SteihaugS法は、信頼領域ニュートン−CG法においてステップiにおいて使用され、信頼領域において、モデル関数の最小値が起こる点を求める。これを行うために、3つの数列が使用される。それは、di,j、ri,j、およびpi,jである。di,jは、共役勾配方向ベクトルの数列であり、ri,jは残差の数列であり、pi,jは、所望の最小値pに収束する。di,jの共役性は、最大(m+n)ステップでの収束を保証する。 In order to calculate the minimizing factor α i, j , terms are multiplied together and arranged according to the power of α to obtain an equation along φp i, j + α di, j .
Figure 2009521062
Here, K is a constant with respect to α. Next, a derivative with respect to α is obtained.
Figure 2009521062
Put the above quantity equal to 0, the critical point
Figure 2009521062
Ask for. In order to ensure that the critical point corresponds to the minimum value, the second derivative is calculated to determine the concave nature of the function.
Figure 2009521062
I don't know if the above amount is positive.
Figure 2009521062
Will be dealt with later, but the derivative is
Figure 2009521062
We continue to assume that. The formula for α i, j is for each j> 0:
Figure 2009521062
Can be written in a better way, and for all k <j, an induction proves a fact. For j = 1
Figure 2009521062
It is. Where k <j−1
Figure 2009521062
Assuming Then, for k <j-1,
Figure 2009521062
Where, by induction hypothesis,
Figure 2009521062
And due to the conjugation of D,
Figure 2009521062
It is. Here, when the case of k = j−1 is handled,
Figure 2009521062
It is. Therefore, for each j> 0
Figure 2009521062
Holds for all k <j. Where the new expression for α i, j is
Figure 2009521062
It is expressed as In summary, the CG-SteihaugS method is used in step i in the trust region Newton-CG method to find the point where the minimum value of the model function occurs in the trust region. Three sequences are used to do this. It is d i, j , r i, j and p i, j . d i, j is a sequence of conjugate gradient direction vectors, r i, j is a sequence of residuals, and p i, j converges to a desired minimum value p i . The conjugacy of d i, j ensures convergence at maximum (m + n) steps.

数列の開始時の量は、pi,0=0、ri,0=−▽f(x)=b、およびdi,0=−▽f(x)=bである。数列における後続する項は、ヘルパー式

Figure 2009521062
と、
Figure 2009521062
とを使用して与えられ、
Figure 2009521062
Figure 2009521062
および、
Figure 2009521062
である。この時点までは、説明された方法は標準CG法である。数列pi,jは、残差がある閾値以下になるまで生成される。CG法のSteihaug変形は、
Figure 2009521062
の場合を考慮しており、これは計算されたαi,jが最小値に対応するという仮定に反することになり、モデルの最小値は、関心対象、つまり所与の信頼領域の外側で求まる。これらの場合を扱うために、2つの追加的停止基準が追加される。
Figure 2009521062
または、
Figure 2009521062
であるならば、信頼境界と方向di,jの交差点は、最終点pとして割り当てられる。pi,0=0であるならば、各j>0に対して、
Figure 2009521062
であり、信頼領域境界との交差点の解を返すことが、境界に到達したときに数列ができる最善のことであることを意味している。そして、信頼領域法は、pを使用してテスト値を計算する。この結果に依存して、解は十分良好に見えるか、または信頼領域法は、信頼領域xi+1の中心が、xと同じか、x+pに移動されて、反復i+1に入るかのいずれかである。 The starting quantities of the sequence are p i, 0 = 0, r i, 0 = − ▽ f (x i ) = b, and d i, 0 = − ▽ f (x i ) = b. Subsequent terms in the sequence are helper expressions
Figure 2009521062
When,
Figure 2009521062
And given using
Figure 2009521062
Figure 2009521062
and,
Figure 2009521062
It is. Up to this point, the described method is a standard CG method. The sequence p i, j is generated until the residual falls below a certain threshold. The Steihaug variant of the CG method is
Figure 2009521062
This is contrary to the assumption that the calculated α i, j corresponds to the minimum value, and the minimum value of the model is found outside the object of interest, ie the given confidence region. . To handle these cases, two additional stop criteria are added.
Figure 2009521062
Or
Figure 2009521062
The intersection of the confidence boundary and the direction d i, j is assigned as the final point p i . If p i, 0 = 0, for each j> 0,
Figure 2009521062
And returning the solution at the intersection with the trust region boundary means that the sequence is the best that can be done when the boundary is reached. The trust-region calculates a test value using p i. The result depends, or solutions look good enough, or trust region, the center of the trust region x i + 1 is equal to or x i, is moved to x i + p i, if entering the iteration i + 1 Either.

4.6.2 擬似コード
続く擬似コードにおいて、点の数列pi,jは、min_ptと表わされ、方向の数列はdi,jは方向により表わされ、残差の数列ri,jは残差により表わされる。「aドットb」はabを表わすために使用される。
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に対する下記の式を呼び出す。

Figure 2009521062
ここで、各iに対して、
Figure 2009521062
とする。(aj,kをAの(j,k)要素、eを長さ(m+n)のベクトルとし、
Figure 2009521062
が成り立つとする。dは信頼領域法の固定ステップにおいて、CG-Steihaug法により構築された共役方向ベクトルの1つとする。すると、
Figure 2009521062
となり、(j,k)の各対に対して1回、つまり、(m+n)回の乗算を必要とする。しかし計算は、式(4.53)と式(4.54)とを使用することにより、より効率的に行うことができる。これらの式は、各iに対して、(aj,kは、jとkが共に、
Figure 2009521062
に含まれるときに限って非ゼロであることを示している。従って、それぞれのiとkに対して、
Figure 2009521062
となり、これはO(1)乗算において計算できる。従って、全体の規模は、(m+n)から(m+n)に減少される。 4.6.3 Sparse matrix multiplication
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:
Figure 2009521062
Where for each i
Figure 2009521062
And (A i ) Let j, k be a (j, k) element of A i , e i be a vector of length (m + n),
Figure 2009521062
Suppose that d is one of conjugate direction vectors constructed by the CG-Steihaug method in the fixed step of the trust region method. Then
Figure 2009521062
Thus, one multiplication is required for each pair of (j, k), that is, (m + n) 2 times. However, the calculation can be performed more efficiently by using the equations (4.53) and (4.54). These equations are as follows: for each i, (a i ) j, k
Figure 2009521062
This indicates that it is non-zero only when it is included in. Therefore, for each i and k,
Figure 2009521062
Which can be calculated in O (1) multiplication. Thus, the overall scale is reduced from (m + n) 2 to (m + n).

4.7 信頼領域ニュートン−CG法の収束
信頼領域法により構築された数列xは、

Figure 2009521062
を、i→∞のとき、下記の条件が成立すれば満たす。
・信頼領域法の各ステップiにおいて、最小化アルゴリズムにより構築されたpは、ある定数
Figure 2009521062
に対して、
Figure 2009521062
を満たす。
・最小化アルゴリズムにより構築された数列pは、ある定数c≧1に対して、
Figure 2009521062
を満たす。
・信頼領域の中心を移動する閾値は、区間(0,1/4)に含まれる。
・fは、レベル集合
Figure 2009521062
、つまり、ある定数
Figure 2009521062
に対して、
Figure 2009521062
が、f(x)≦f(x)となるようにすべてのxに対して成り立つ集合に対して、下方から境界を区切られる。
・Lは、境界を区切られる、つまり、ある定数
Figure 2009521062
に対して、
Figure 2009521062
となる。
・すべてのi≧0に対して、
Figure 2009521062
となるようなある定数
Figure 2009521062
が存在する。
・fはL上でリプシッツ連続微分可能、つまり、任意の
Figure 2009521062
に対して、
Figure 2009521062
となるようなある定数
Figure 2009521062
が存在する。上記に主張された条件のそれぞれを下記で証明する。 4.7 Convergence of Trust Region Newton-CG Method The sequence x i constructed by the trust region method is
Figure 2009521062
If i → ∞, the following condition is satisfied.
In each step i of the trust region method, p i constructed by the minimization algorithm is a constant
Figure 2009521062
Against
Figure 2009521062
Meet.
The sequence p i constructed by the minimization algorithm is for some constant c 2 ≧ 1
Figure 2009521062
Meet.
The threshold value for moving the center of the trust region is included in the section (0, 1/4).
・ F is a level set
Figure 2009521062
That is, a constant
Figure 2009521062
Against
Figure 2009521062
Is bounded from below for the set that holds for all x such that f (x) ≦ f (x 0 ).
L is bounded, ie a constant
Figure 2009521062
Against
Figure 2009521062
It becomes.
・ For all i ≧ 0
Figure 2009521062
A constant such that
Figure 2009521062
Exists.
F is Lipschitz continuously differentiable on L, that is, any
Figure 2009521062
Against
Figure 2009521062
A constant such that
Figure 2009521062
Exists. Each of the above asserted conditions is proved below.

4.7.1 モデル推定
SBSは、CG-Steihaug法をそれぞれのステップiにおいて使用して、信頼領域におけるモデルFの最小値に対応する点

Figure 2009521062
を求める。ステップiにおいて、コーシー点(pは、
Figure 2009521062
として定義され、ここで、
Figure 2009521062
が成り立つ。その結果、
Figure 2009521062
となる。CG-Steihaug法により、
Figure 2009521062
が与えられる。その結果、
Figure 2009521062
となる。 4.7.1 Model estimation The SBS uses the CG-Steihaug method at each step i to correspond to the minimum value of the model F i in the trust region.
Figure 2009521062
Ask for. In step i, the Cauchy point (p c ) i is
Figure 2009521062
Where, where
Figure 2009521062
Holds. as a result,
Figure 2009521062
It becomes. By CG-Steihaug method,
Figure 2009521062
Is given. as a result,
Figure 2009521062
It becomes.

4.7.2 モデル最小値の境界
任意のjに対して、CG-Steihaugアルゴリズムにより計算されたpi,jが信頼領域の外部となる場合は、それは内部のベクトルと置換され、アルゴリズムはその値を返すので、

Figure 2009521062
である。 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,
Figure 2009521062
It is.

4.7.3 信頼領域中心移動閾値範囲
閾値に対する範囲を強制して、信頼領域の中心を移動することは、それを適切に設定することである。擬似コードにおいては、移動閾値は、

Figure 2009521062
に設定される。 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
Figure 2009521062
Set to

4.7.4 レベル集合のfの下方境界

Figure 2009521062
を呼び出す。定義により、各qに対して、
Figure 2009521062
であり、選択によりλ>0である。従って、すべての
Figure 2009521062
に対してf(x)≧0であり、従って、xに対してもf(x)≦f(x)となる。 4.7.4 Lower boundary of f in level set
Figure 2009521062
Call. By definition, for each q i
Figure 2009521062
And λ> 0 by selection. Therefore, all
Figure 2009521062
Therefore, f (x) ≧ 0, so that f (x) ≦ f (x 0 ) even for x.

4.7.5 レベル集合の境界

Figure 2009521062
および、
Figure 2009521062
ここで、δ=(1,0)とする。hを
Figure 2009521062
で定義し、vを
Figure 2009521062
で定義し、すべてのxに対してh(x)≦f(x)であり、従って、
Figure 2009521062
となるようなc>0が存在し、t>cが、h(tx)>f(x)を暗示するので、
Figure 2009521062
であり、t>cがf(tx)>f(x)を暗示し、f(tx)≦f(x)が、
Figure 2009521062
およびt≦c、つまり、所望するように、
Figure 2009521062
であることを暗示していることを意味する。 4.7.5 Level set boundaries
Figure 2009521062
and,
Figure 2009521062
Here, δ 1 = (1, 0). h
Figure 2009521062
And define v as
Figure 2009521062
H (x) ≦ f (x) for all x, so
Figure 2009521062
C 4 > 0 such that and t> c 4 implies h (tx)> f (x 0 )
Figure 2009521062
T> c 4 implies f (tx)> f (x 0 ), and f (tx) ≦ f (x 0 )
Figure 2009521062
And t ≦ c 4 , that is, as desired,
Figure 2009521062
Means that it is.

任意のスカラーs>0と各jに対して、

Figure 2009521062
ここで、kはsに関しての定数であり、それは、
Figure 2009521062
ここで、kはsに関しての定数である式を暗示する。任意のスカラーt>0に対して、h(t)=h(tx)とする。すると、
Figure 2009521062
となり、hは平方の和であるからh≧0である。増分ベクトルtxが与えられれば、
Figure 2009521062
がすべてに対して成り立つ場合のみh(tx)=0となる。これは、増分ベクトルは、投影表面の境界上では0であることが要求されるので、txがゼロベクトルであることを暗示している。u方向における投影表面を通る任意のピクセル線は、境界上では0でなければならず、
Figure 2009521062
なので、0から変化できない。
Figure 2009521062
およびt>0なので、hx(t)>0であり、これは、
Figure 2009521062
を暗示している。ここで、
Figure 2009521062
および、
Figure 2009521062
とする。すると、任意のt>cおよび
Figure 2009521062
に対して、
Figure 2009521062
であり、これは、
Figure 2009521062
を暗示している。 For any scalar s> 0 and each j,
Figure 2009521062
Where k j is a constant with respect to s, which is
Figure 2009521062
Here, k implies an expression that is a constant with respect to s. For any scalar t> 0, let h x (t) = h (tx). Then
Figure 2009521062
Since h is the sum of squares, h ≧ 0. Given an increment vector tx,
Figure 2009521062
H (tx) = 0 if only holds for all. This implies that tx is a zero vector because the incremental vector is required to be zero on the projection surface boundary. Any pixel line that passes through the projection surface in the u direction must be zero on the boundary,
Figure 2009521062
So it cannot change from zero.
Figure 2009521062
And t> 0, so hx (t)> 0,
Figure 2009521062
Is implied. here,
Figure 2009521062
and,
Figure 2009521062
And Then any t> c 4 and
Figure 2009521062
Against
Figure 2009521062
And this is
Figure 2009521062
Is implied.

4.7.6 ヘッシアンの境界
信頼領域ニュートン−CG法においては、xi+1に対して2つの可能性がある。xi+1=xであって、その場合はf(xi+1)=f(x)であり、またはxi+1=x+pであり、ここにおいてpはCG-Steihaug法に起因する点である。後者の場合は、モデルテスト値

Figure 2009521062
が信頼領域の中心を移動する閾値よりも大きい場合のみ容認される。閾値は(0,1/4)において選択され、従って、信頼領域の中心が移動されると、ρ>0となる。CG-Steihaug法は信頼領域におけるモデルを最小化するので、
Figure 2009521062
が保証され、それはρの分母が非負であることを暗示している。ρ≧0ならば、
Figure 2009521062
である。従って、すべてのi≧0に対して、
Figure 2009521062
であり、それはLがすべてのxを含むことを意味している。主張された条件がL上で証明されると、それはすべてのxに対しても証明される。fとその偏微分のすべては連続である。コンパクト集合[0,c](cは、上記に計算されたL上の境界である)上では、fとその導関数のすべては境界が区切られている。各iとj≧0、および<(m+n)に対して、
Figure 2009521062
がすべてのxに対して、
Figure 2009521062
となるように成り立ち、従って、
Figure 2009521062
となるような定数ki,jが存在する。 4.7.6 Hessian boundary In the trust region Newton-CG method, there are two possibilities for x i + 1 . A x i + 1 = x i, if its is f (x i + 1) = f (x i), or a x i + 1 = x i + p i, p i wherein the point resulting from the CG-Steihaug method It is. In the latter case, the model test value
Figure 2009521062
Is allowed only if is greater than the threshold for moving through the center of the confidence region. The threshold is selected at (0, 1/4), so ρ i > 0 when the center of the confidence region is moved. Since the CG-Steihaug method minimizes the model in the trust region,
Figure 2009521062
Is guaranteed, which implies that the denominator of ρ i is non-negative. If ρ i ≧ 0,
Figure 2009521062
It is. Therefore, for all i ≧ 0,
Figure 2009521062
Which means that L contains all x i . If the asserted condition is proved on L, it is also proved for all x i . f and all of its partial derivatives are continuous. On the compact set [0, c 4 ] (c 4 is the boundary on L calculated above), f and all of its derivatives are bounded. For each i and j ≧ 0 and <(m + n),
Figure 2009521062
For all x
Figure 2009521062
Therefore, therefore,
Figure 2009521062
There are constants k i, j such that

4.7.7 fのリプシッツ連続微分可能性
i,jを前節と同様にし、

Figure 2009521062
とする。iを固定して、
Figure 2009521062
Figure 2009521062
および、
Figure 2009521062
とする。すると、
Figure 2009521062
となる。これは、
Figure 2009521062
が各iに対してリプシッツ連続であることを示し、それは、
Figure 2009521062
であることを示している。 4.7.7 Lipschitz continuous differentiability of f k i, j as in the previous section,
Figure 2009521062
And i is fixed,
Figure 2009521062
Figure 2009521062
and,
Figure 2009521062
And Then
Figure 2009521062
It becomes. this is,
Figure 2009521062
Is Lipschitz continuous for each i, which is
Figure 2009521062
It is shown that.

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 generalized method 600 and auxiliary methods 620, 640, 660, 680, generated by operator shading in the context of a two-dimensional (2d) image of the object, according to the above-discussed aspects of the invention, and auxiliary methods 620, 640, 660, 680, And a series of flow charts illustrating 700.

図17に示されている一般化された方法600は下記のステップを含む。   The generalized method 600 shown in FIG. 17 includes the following steps.

ステップ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 generalized method 600 can operate based on the digital input of any hierarchical subdivision surface, polygon mesh, or NURBS surface.

一般化された方法600は、図18に示されている補助的方法620を含み、補助的方法620は、下記のステップを含む。   The generalized method 600 includes the auxiliary method 620 shown in FIG. 18, and the auxiliary method 620 includes the following steps.

ステップ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 generalized method 600 includes the auxiliary method 640 shown in FIG. 19, and the auxiliary method 640 includes the following steps.

ステップ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 generalized method 600 also includes the auxiliary method 660 shown in FIG. 20, which includes the following steps.

ステップ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 generalized method 600 also includes the auxiliary method 680 shown in FIG. 21, which includes the following steps.

ステップ681:

Figure 2009521062
ここで、Iはピクセル(u,v)における離散強度であり、λは、無限に遠くに離れたシミュレートされた光源の方向を指し示す単位ベクトルであり、Hは、関連する高さフィールドであり、Cは、高さフィールドHに関連する曲面の曲率を表わし、λは平滑係数であり、合計は、投影曲面の内部と交差するモデルビューにおけるピクセル上で行われる式により与えられる関数を最小化する、モデルビュー上の高さ増分集合Γを生成するように構成される選択された整形操作を適用する。 Step 681:
Figure 2009521062
Where I is the discrete intensity at pixel (u, v), λ is a unit vector pointing to the direction of the simulated light source that is infinitely far away, and H is the associated height field , C H represents the curvature of the curved surface associated with the height field H, λ is the smoothing factor, and the sum is the function given by the formula performed on the pixels in the model view that intersects the interior of the projected curved surface Apply a selected shaping operation that is configured to generate a height increment set Γ on the model view.

ステップ682:関数を、

Figure 2009521062
の非制約最小化に縮小し、ここで最小化を実行するために使用される方法は、信頼領域法である。 Step 682: The function
Figure 2009521062
The method used to reduce to an unconstrained minimization, where the minimization is performed is the trust region method.

ステップ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 generalized method 600 also includes the following auxiliary method 700 shown in FIG. 22, which includes the following steps.

ステップ701:二次関数

Figure 2009521062
ここで、
Figure 2009521062
はfの勾配ベクトルであり、
Figure 2009521062
は、fのヘッシアン行列である式により関数をモデル化する。 Step 701: Quadratic function
Figure 2009521062
here,
Figure 2009521062
Is the gradient vector of f,
Figure 2009521062
Models a function with an expression that is a Hessian matrix of f.

ステップ702:モデルFを選択された領域で最小化する。この例においては、選択された領域は、ある

Figure 2009521062
に対して、
Figure 2009521062
である。 Step 702: Minimize model F in the selected region. In this example, the selected region is
Figure 2009521062
Against
Figure 2009521062
It is.

ステップ703:特殊疎行列乗算を伴うCG-Steihaug法を利用することにより最小化を実践する。   Step 703: Minimize by using CG-Steihaug method with special sparse matrix multiplication.

ステップ704:結果としての最小値点xから、

Figure 2009521062
であって、ここで、ρが1に近ければ、Fは信頼領域内で、fに対して良好なモデルと考えられ、信頼領域の中心はxへ移動され、信頼領域の半径は増大し、または、ρが1から遠く離れていれば、信頼領域の半径は減少する式で表わされるテスト値を構築する。 Step 704: the minimum point x 1 as a result,
Figure 2009521062
Where ρ is close to 1, F is considered to be a good model for f in the trust region, the center of the trust region is moved to x 1 and the radius of the trust region increases. Or, if ρ is far from 1, build a test value represented by a formula in which the radius of the confidence region decreases.

ステップ705:信頼領域において、fに対する最小値が、確立された基準に基づいて求められるまで処理を繰り返す。この例においては、処理を停止する基準は、

Figure 2009521062
が、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
Figure 2009521062
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.

本発明は、特に付随する請求項により示される。本発明の上記のおよび更なる利点は、添付された図面と連係する下記の説明を参照することでより良好に理解されよう。
本発明の形態を展開することができる例としてのデジタル処理環境の構成要素を例示する一連の図である。 本発明の形態を展開することができる例としてのデジタル処理環境の構成要素を例示する一連の図である。 本発明の形態を展開することができる例としてのデジタル処理環境の構成要素を例示する一連の図である。 本発明の形態を展開することができる例としてのデジタル処理環境の構成要素を例示する一連の図である。 オペレータなどにより、任意の時点におけるその作成の所与の状態における対象物の二次元画像に適用されるシェーディングにより、対象物の三次元モデルを生成する、本発明に従って構築されるコンピュータグラフィックスシステムを示している。 図5に示されているコンピュータグラフィックスシステムにより、任意の時点におけるその作成の所与の状態における対象物の二次元画像に適用されるシェーディングにより、対象物のモデルの更新を決定するときに実行される動作を理解するために有効な一連の図である。 図5に示されているコンピュータグラフィックスシステムにより、任意の時点におけるその作成の所与の状態における対象物の二次元画像に適用されるシェーディングにより、対象物のモデルの更新を決定するときに実行される動作を理解するために有効な一連の図である。 図5に示されているコンピュータグラフィックスシステムにより、任意の時点におけるその作成の所与の状態における対象物の二次元画像に適用されるシェーディングにより、対象物のモデルの更新を決定するときに実行される動作を理解するために有効な一連の図である。 図5に示されているコンピュータグラフィックスシステムにより、任意の時点におけるその作成の所与の状態における対象物の二次元画像に適用されるシェーディングにより、対象物のモデルの更新を決定するときに実行される動作を理解するために有効な一連の図である。 図5に示されているコンピュータグラフィックスシステムにより、任意の時点におけるその作成の所与の状態における対象物の二次元画像に適用されるシェーディングにより、対象物のモデルの更新を決定するときに実行される動作を理解するために有効な一連の図である。 本発明に関連する、コンピュータグラフィックスシステムとオペレータにより実行される動作を示すフローチャートである。 本発明に関連する、コンピュータグラフィックスシステムとオペレータにより実行される動作を示すフローチャートである。 本発明によるSBSシステム内のデータフローを示す図を示している。 3ds maxにおける、SBSモディファイヤのスクリーンショット350を示す図である。 本発明の形態による、SBS技術の擬似コード実装を示す図である。 本発明の形態による、SBS技術の擬似コード実装を示す図である。 本発明の説明において使用される数学的表記法のリストを提供するテーブルを示す図である。 本発明の説明において使用される数学的表記法のリストを提供するテーブルを示す図である。 本発明の種々の形態による、一般化された方法と補助的方法の一連のフローチャートである。 本発明の種々の形態による、一般化された方法と補助的方法の一連のフローチャートである。 本発明の種々の形態による、一般化された方法と補助的方法の一連のフローチャートである。 本発明の種々の形態による、一般化された方法と補助的方法の一連のフローチャートである。 本発明の種々の形態による、一般化された方法と補助的方法の一連のフローチャートである。 本発明の種々の形態による、一般化された方法と補助的方法の一連のフローチャートである。
The invention is set forth with particularity by the appended claims. The above and further advantages of the present invention will be better understood with reference to the following description taken in conjunction with the accompanying drawings.
FIG. 6 is a series of diagrams illustrating components of an exemplary digital processing environment in which aspects of the invention can be developed. FIG. 6 is a series of diagrams illustrating components of an exemplary digital processing environment in which aspects of the invention can be developed. FIG. 6 is a series of diagrams illustrating components of an exemplary digital processing environment in which aspects of the invention can be developed. FIG. 6 is a series of diagrams illustrating components of an exemplary digital processing environment in which aspects of the invention can be developed. A computer graphics system constructed in accordance with the present invention that generates 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 point in time, such as by an operator Show. Performed by the computer graphics system shown in FIG. 5 when determining an object model update by shading applied to a two-dimensional image of the object in a given state of its creation at any point in time FIG. 6 is a series of diagrams useful for understanding the operations performed. Performed by the computer graphics system shown in FIG. 5 when determining an object model update by shading applied to a two-dimensional image of the object in a given state of its creation at any point in time FIG. 6 is a series of diagrams useful for understanding the operations performed. Performed by the computer graphics system shown in FIG. 5 when determining an object model update by shading applied to a two-dimensional image of the object in a given state of its creation at any point in time FIG. 6 is a series of diagrams useful for understanding the operations performed. Performed by the computer graphics system shown in FIG. 5 when determining an object model update by shading applied to a two-dimensional image of the object in a given state of its creation at any point in time FIG. 6 is a series of diagrams useful for understanding the operations performed. Performed by the computer graphics system shown in FIG. 5 when determining an object model update by shading applied to a two-dimensional image of the object in a given state of its creation at any point in time FIG. 6 is a series of diagrams useful for understanding the operations performed. 6 is a flowchart illustrating operations performed by a computer graphics system and an operator related to the present invention. 6 is a flowchart illustrating operations performed by a computer graphics system and an operator related to the present invention. FIG. 2 shows a diagram illustrating the data flow in an SBS system according to the invention. FIG. 6 shows a screen shot 350 of an SBS modifier at 3ds max. FIG. 3 illustrates a pseudo code implementation of SBS technology according to an aspect of the present invention. FIG. 3 illustrates a pseudo code implementation of SBS technology according to an aspect of the present invention. FIG. 3 shows a table providing a list of mathematical notations used in the description of the invention. FIG. 3 shows a table providing a list of mathematical notations used in the description of the invention. 2 is a series of flow charts of generalized and auxiliary methods according to various aspects of the present invention. 2 is a series of flow charts of generalized and auxiliary methods according to various aspects of the present invention. 2 is a series of flow charts of generalized and auxiliary methods according to various aspects of the present invention. 2 is a series of flow charts of generalized and auxiliary methods according to various aspects of the present invention. 2 is a series of flow charts of generalized and auxiliary methods according to various aspects of the present invention. 2 is a series of flow charts of generalized and auxiliary methods according to various aspects of the present invention.

Claims (27)

三次元(3D)対象物の表面の少なくとも一部分の幾何形状を表現する幾何学的モデルを、画像平面上に投影された前記対象物を表現する、前記対象物の二次元(2D)画像に関連してオペレータによるシェーディングにより生成するコンピュータによる製図方法であって、
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.
いったん細分割曲面が生成され、ユーザーに表示されると、2Dモデルビューと整合される、
ことを特徴とする、請求項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:
前記2Dモデルビューは、格子の隅と、格子の幅と高さと、ピクセルサイズと、カメラから対象物への変換とについての情報を含む、
ことを特徴とする、請求項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:
前記2Dモデルビューを利用して、前記ユーザーは照明方向を設定し、入力パラメータとシェードを調整し、それにより選択されたピクセルの強度を修正するか、または予めシェーディングされたピクセルの集合をロードし、次にこの情報は整形アルゴリズムに利用され、
前記パラメータは、(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:
メッシュ表現またはNURBS曲面のいずれかを含む入力を受け取り、
前記入力がまだ階層的細分割曲面でない場合は、前記入力を階層的細分割曲面に変換し、
前記階層的細分割曲面上でシェーディングと整形を実行する、
ことを特徴とする、請求項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:
前記SBS処理に起因する前記細分割曲面モデルを、別の表面タイプに変換する、
ことを特徴とする、請求項9の方法。
Converting the subdivision curved surface model resulting from the SBS processing into another surface type;
10. The method of claim 9, wherein:
Figure 2009521062
ここで、Iは前記ピクセル(u,v)における前記離散強度であって、lは無限に離れたシミュレートされた光源の方向を指し示す単位ベクトルであり、Hは関連する高さフィールドであり、Cは関連する高さフィールドHを有する曲面の曲率を表わし、λは平滑係数であり、合計は、前記投影曲面の内部と交差する前記モデルビューにおけるピクセル上において実行される式により与えられる関数を最小化する、上記の式により、前記モデルビュー上の高さ増分Γの集合を生成するように構成される選択された整形操作を適用する、
ことを特徴とする、請求項6記載の方法。
Figure 2009521062
Where I is the discrete intensity at the pixel (u, v), l is a unit vector pointing to the direction of the simulated light source that is infinitely separated, H is the associated height field, C H represents the curvature of a curved surface with an associated height field H, λ is a smoothing factor, and the sum is a function given by the equation executed on the pixels in the model view that intersect the interior of the projected curved surface Applying a selected shaping operation configured to generate a set of height increments Γ on the model view according to the above equation,
The method according to claim 6, wherein:
前記高さ増分Γの集合は、前記関数が、
Figure 2009521062
の前記非制約最小化に縮小されるように、その対応する高さ値が、前記整形アルゴリズムにより変更できる、各ピクセルまたは接続領域に対して1つの入力を含むベクトルxに縮小でき、前記最小化を実行するために使用される前記方法は、信頼領域法である、
ことを特徴とする、請求項11記載の方法。
The set of height increments Γ has the function
Figure 2009521062
The corresponding height value can be reduced by the shaping algorithm so that it can be reduced to a vector x containing one input for each pixel or connected region, and the minimization The method used to perform is the trust region method,
The method of claim 11, wherein:
前記モデルビューにおいて見られるように、前記投影曲面全体に対して前記計算を行う必要がないように、前記投影曲面の内部と交差する、前記モデルビューにおけるすべてのピクセル上の合計から、それを修正ピクセルの近傍と交差させることにより、Qと称される縮小された集合上のみの合計への縮小を更に含む、
ことを特徴とする、請求項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:
前記信頼領域法は、下記の二次関数
Figure 2009521062
ここで、
Figure 2009521062
はfの勾配ベクトルであり、
Figure 2009521062
はfのヘッシアン行列である式により、まず前記関数を第1モデル化し、
次に、
Figure 2009521062
の領域で、ある
Figure 2009521062
に対して前記モデルFを最小化する、
ことを特徴とする、請求項12記載の方法。
The trust region method has the following quadratic function:
Figure 2009521062
here,
Figure 2009521062
Is the gradient vector of f,
Figure 2009521062
Is a first model of the function according to an expression that is a Hessian matrix of f,
next,
Figure 2009521062
Is in the area
Figure 2009521062
Minimizing the model F with respect to
The method according to claim 12, wherein:
前記最小化を実践するために利用される前記方法は、特殊疎行列乗算を伴うCG-Steihaug法であり、
テスト値は、結果としての最小点xから構築され、下記の
Figure 2009521062
であり、
ρが1に近ければ、Fは信頼領域内でfに対して良好なモデルと考えられ、前記信頼領域の中心はxに移動され、前記信頼領域の半径は増大され、一方、ρが1から離れていれば、前記信頼領域の半径は減少され、
前記処理は、前記信頼領域においてFに対する最小値が求まるまで繰り返され、
前記処理を終了するための前記基準は、
Figure 2009521062
が、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
Figure 2009521062
And
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:
Figure 2009521062
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:
前記方法を、コンピュータ援用デザイン(CAD)システム、コンピュータグラフィックスシステム、または幾何形状を作成、表示、操作、またはモデル化するように作動するソフトウェアアプリケーションのいずれかと相互作動が可能なように適合されたコンピュータソフトウェアプラグイン製品として実装する、
ことを特徴とする、請求項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:
ポリゴンメッシュまたはNURBS曲面上で、前記SBS処理を、まず細分割曲面の特性に変換、またはそれを使用することなくできる能力を更に含む、
ことを特徴とする、請求項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:
輪郭線を描いて、前記SBSモデル化処理との関連において使用できる初期3D形状を生成する能力を更に含む、
ことを特徴とする、請求項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.
信頼領域ニュートン−CG法を使用することにより最小化するステップを更に含む、
ことを特徴とする、請求項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:
計算は、APIと共に、またはその中へ統合される、
ことを特徴とする、請求項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:
JP2008547751A 2005-12-20 2006-12-20 Modeling the 3D shape of an object by shading 2D images Pending JP2009521062A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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