CA2633680A1 - Modeling the three-dimensional shape of an object by shading of a two-dimensional image - Google Patents

Modeling the three-dimensional shape of an object by shading of a two-dimensional image Download PDF

Info

Publication number
CA2633680A1
CA2633680A1 CA002633680A CA2633680A CA2633680A1 CA 2633680 A1 CA2633680 A1 CA 2633680A1 CA 002633680 A CA002633680 A CA 002633680A CA 2633680 A CA2633680 A CA 2633680A CA 2633680 A1 CA2633680 A1 CA 2633680A1
Authority
CA
Canada
Prior art keywords
shading
model
subdivision
image
computer
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.)
Abandoned
Application number
CA002633680A
Other languages
French (fr)
Inventor
Rolf Herken
Tom-Michael Thamm
Jennifer Courter
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
Rolf Herken
Tom-Michael Thamm
Jennifer Courter
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, Rolf Herken, Tom-Michael Thamm, Jennifer Courter filed Critical Mental Images Gmbh
Publication of CA2633680A1 publication Critical patent/CA2633680A1/en
Abandoned legal-status Critical Current

Links

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

Abstract

System for generating a geometrical model representing a portion of a three-dimensional object by shading by an operator in connection with a two-dimensional image of the object, the image representing the object as projected onto an image plane, comprising receiving shading information, updating a geometric model, displaying the updated geometric model, and operat-ing on input of a hierarchical subdivision, polygon mesh, or NURBS
surface.

Description

MODELING THE TJliRl'<:E-]f9iMF"tiSIO"tiAL StiAPE OF AN
OBJECT BY StIA]1'?ING OF A TWO--1Ã3iMENS1Ã3NA11 iMACF.
C:rc~s~_~c4~.rc.~~~~ t~?_l:~late,d_::~~'1~1~~,~tÃc~~_a~
Thisapplication is a cc?nt:uluatio:n-iaxr p.rrt. of co:nu-ncanlv mvii4ci, co-pending U.S. :Patcaxt Application Se.ri,&l No. 10/795.704 {AÃtortxey Docket M:1=!.NT-0Ã3D 1}.. filed on March 5, 20Ã)4.
is a di visi~.~nal of US Patciit Apk'licai.ion Nv. 09/Ã327,175 (Attorney Doc:k-ct MENT-003), file:~~ on 1='of3. No. 6,724,383f: which clainis the prio:ritc laenefit ii4 U.S.
Provisional Application for Patent Serial No. 60r0-738.08 (Att~~~ey Do~ket ;~iEN T-003-!?h), filed on Feb. 21.. 1997; all three applicatiorts 17i;i.ng inc-arfao.ra.
Ã:ez3he.re;i.n ba: refi,renc-':.
'I7-iis application for US . Patent ~also cl~ain1s ttl~. lariority l.~crlcfiÃ
ot'U.S. 1'roviaioÃrzij 1'atent Appliention Set'i.al No. hÃt, 752,' Ã? {ACÃoa't7<:v Docket MN'T1s406-1'ft), f'ilcd I)econzlaer. 2t3r 20Ã15;
and U.S. Prov=isional Patent Application Ser-ia1 No. 601823.=164 (Attorncs Docket 'L11";NT-089-1=3--PR)~ filed Atig. 24, 22006; thcse tlvoapplicadons also being incorporated hcrci.n by rGferGnce=
Also incQilaora:teel he>rcin h-v rc.lcri;Ã~cc are cQiiiiiioÃ-ils ~.~NN-ticcl, co-pending U.S. Patent A.pplication Serial :tio, 09/ 852,9(}Ã> (N11r.NT-060}. filucà ;~~ay 9. 2001.
noiv all~Nk-icl; mid U.S.
1'atotit."'rpplicativrl Setial No. 10.4162.192) (MEN'1'-062)}. filed Feb. 1.
2002, now allvix-ecÃ.

Field of the h~gi.L.nti011 Pae pri;sUnt iavent:ion relatcy tc) t1zi;1=icltl of coaiiptiter <,rapl~aics, cf~a~~l~irter-~~idi;cl ~Utozrt~:t:~=iG
Closagii and th:G li.ke, and in particnlaa' to iinl.~rovc:d si steans and techniques for modi;littg Che t1irGe-di:mendional sb.i.p c of aax object by s1Aa.ciiaxg of a t4~'o-ci:unensio:naJ
image.

~~3cl,.~rc~t~racl e~1'tl-ao 1ri~_e) itir,ri .1n eomlauter g.ral.~hics, woni.pnter-aiti<:d geamotrie design attd the lal:e, ajrt :~rtist, draftsanan or the like (generally reterred to hereiri cis an "operntoa"), a.ftempts to generate a tliree-z3.irnensianaJ model of an ol~ject, as mW.ntainLEl ba: a ccanxpnÃer, Ã.rom lines cietining m:o-c.~liilYensiona1 views ot'Qbte:ct.s. C~.~nvetYtic.~~nally., ~arra~~gcnnents gcÃrcattc a thr<.o-dimensit~nal iziotiel 1==roni., for examp1G, various two-dam.ensionnl.
line dr.asvln~~s comp:risi.ng contoaxa-, and/or uross-sections of the objc;ut ani-i by applyina~ a nisi-nber of operations to saxch lines ivhich lvill result in m,-o-dirncax:j.ional surfaces in thre:e-clisnc:nsional :j.pacG.,~axd 5tib:suqne-nt iiY~.~c$ificat:ic.~ti ot'parame>tera zuicl coÃ-itrQl poiiits of stflch st#rf-~accs Ãc.~ corrvot orot:lYoi~visc rnc.~ciif{: tlie:
shape of thU result'izx~ iiiodel of'tlie: obÃect. Afwr a thrUc-dimenyit?a:al iiioclel 1=t?r the 0lajec:t:has been gene e-atecÃ, it maN txc via:~vocl vt- displaN~icl i . anN of a nuinf?er of ciriunt~ati031s, I.n a#iGlrl ofarCi#'icÃal iflltc.lli90nce Cofllrtjtloill.y rc.ferrcd to as i'obot vision or ~~~achinc vasioll (which tivill txc.nera1(~':- ben, fc.:r:rec# to lxc.rcial.is "rn.i.c:hine vÃsic?n"), arnethc3clcllogy wfu.r.n:d to as "~1i,rpL #ro.m sbadi.ng" is usGd to 4FLlxeraw a th.ree-ciimc;axsiEarfl.fll rncldL:l oÃ= an existing cik?ject frEarflx o1-ic or l-tiorc; two-dirnension.rl isnages of tbc. otljc.ct -i.s rGcordc.cl by a caani;ra. Ci-c.nera.lly. in ~ ilY~tcfYine visicrn~ tlle tylx of tlic Qbiect rccc.~rc$i:d Qii the i~~~~~c(sB is initia.lly tflnknQwn bs tlle macvlcl the irlo+la:l of the ob Ji;.ct: th;.~t: is gcneratccl is generally u.socl, for example, to ~';.~cilit-?.tc identi~catlon of the type of the object tlelaicte~l on the inlagclsj by the l~lachil~s~ r~r nsiotl~cr dei icc.
In diG shapefrom shading zlaa.tliot#olc~gy, ifie ob~#ect to be 1i1ocleled i -sillurzxitiatet# by a ligfit sourct, and a cairtefl-a, such as a p1Yotor7raphic c.~r vicicc.~ c;arni;ra, is used to rcc;Qrcl Ã1-c. Mrtkgc(s) l=i-ori1 vvhich t'lic object be modelecl, it is assumed t.ll;.~t the clric.rltaticlrl of a ligll:t son.fl'ca:, the carilura laosition and the 1111a ;c. p.lane'relative totllecal=rjc.c>t. wc; l:nov,-ii.
re#1ec:tanca. Propertia.s of the sur#:rcc, of the object are also k.nown. It is #:urdiGr n.s:~tfliiied tllat an orthc?gmaf~llflc l~r~~jc~:tit?r~ tcGl111ique is used to pro~jcet the srflrfztcc. of the object otato the :flra1ag4 plan4.
that Es, it is asSL#IT1iCl that Lflll 1llipk1t Cw11LI'a that is ['ucf?[Cllllg ttli image t?n the image p1;:131i'~ haS a focal length C?$ .1rifi.111.t1. The I:nl'3ge ].?:lei.11f; represents thex, t ct?ord1.11at.G a\e5 (t:l1at #ti, any ].?o1:nt {39.1 the i-mage plane cwl be identified lav coordinates {:a:,y}}, and [hc. xaais is tlitits iior7i1al to the irnage pl:uxe; as a flesu1t_ am; poflrat on thetiul fhee of the objcGt: t#iat: can be plY?jecti;cl t?ato the image p1arae can be represented #1-y tlzc coordinat.c;s (x, } , z} The inikog<: of the o1.~j<:w,t as projected onto the ~e plane is represented hv an irn.ivu imadiaaxce fisnction I(x, i') over a tvw-dinlc.nsion.i.l "(} dwnana Si c R. ~vh:il': the shape of the o~jGc.Ã is 4Yie e.n by a hLight function z $.V. 13 Eat.er the domain Q.
Tlia. image irra:ciiance-Ã"unction I(V.: t1-epresezits diG brightness of the oijject at each poilit {x'_ ~) i:fll tllc im:age. l:fll thc shape #iY?:fllt sharliag met#iodologz given Px. a'f #t?r all points Oc, v) in the clomaifll, t1-tc shape of an Ojoct; gi.~-en by :(k. 0, is diturrnir-tccl, l.t Nvou(cl be, desirable to provide un}a:rov4cl methodsand s1 st.ems for 'Fc.alcr.i:tialg a. il:ir4e_ dinic tlsi(lxial niodL.l of an c,bjec._t bN. shadin9 as k3pplieci to a mcl-dimc;nsiclxial irtl.rge of atl of~ect.
zm- of thc. 1nvc.ntit111 ~ifliiini -------------- -----------------------------TIxc.prescnt invention provides Ãmproved nlctlxods and systc.nls tclr geaxe:rawAg a thivu-_}(} dimensional model of an ol~je;ct bt- sbadi.ng.
One aspect clf.'dae i.fli4ent.ion provides iznprovi;mi;nty tc) the ybapc by-sll:acliag (SBS) s4'ste:fllis and nzetliorl.s desw,:flibi;d in Common.ls c~~.Nttc;d U.S.
f'atent No. 6_72t_;s8. .
Aisothcr aspect of the invc.altion relates to particular shaping tucllisic#tae:, rxlethclds <~nd mtlgo r~Ãhl:ns that ccw bG :ilnfalerflxcrfl[cci in ashapL #7yrcsh.flcli:ng (SBS} rncldL:ler i.n acc:ca.rt#anc.e -,vit.h the
2 inv<.ntion., and mor<: partiw,ular.lN, nietlt,.;cl.,; 11~id algorithjns th.:~t advantageously expliiit twst-rogion rnc3cicJs and mcthods Bxief Descrimion of the Dr=rwirxvs ~ This inverrti~.~n is laoitited ~.~u.t zvitli laartiotfll~arity in tl-ic a~penclcd cf~ain-m 'I'I-ic above wrci furÃh.i;.r acÃe:witages of tlajs ir-tei;.raticm may be better t:t~iderstood by ref-urririg to tho fiollovi-itlg t!escription CakenIn cos~#wiction dy iCh then~company In_g tira, ii isig;s, in which.
FIGS. 1-4 are a series of diagrarz1s illus-tratinÃ; Colnpcytienis of 4ul exemphn~ cliwital prc.~cessicig envirc.~nclYent in u hich aspects or tht present invi;ntion can be depIQycci..
f#7 Ff.G. 5 cÃepiets a ~ornputer gra,ahics systern tor ;,.~enirating a three-dimensional nl~dol of an ol~jWct hy sh.i.cfi:ng as applied b-v= ari calauraio:r or the .like, to a two-dinxe.nsiom-i.l nx1-age of the o~iect: iti ttie gitien stai:G of its creation at::n=ry poini in time, coiisÃ:~~~icÃ:ed in accordance with the invi;aitiora.
FIGS. 6-10 ~~~o a series of'diagrarris that aru issutitl itl .ndirstanclitlg tlae opor;.~t.iosis 15 pertiornleci by the c:_orn}airte.:r gniphic>s dyst.ern depicted in FIG. 5 i:n de:t4:rniining the updating ofth~:~
.morlcl ca:f'an cabjcc,t bv ;trathfm as avol:icd to the tw-o thmensio.naJ
i.Inage <ai't.fre Q~jec t in its given state of'G:rUati~~:a~ at ,llIN: poi.rlt in tirile.
FfGS.. 11A and 11 B show a flowe:h:~rt. dejaivit7g operations t.~i;:r.fonn<:d bs i'Iio computer graphics system aaxd ope.ratca:r:in connection witli the invention.
20 1"1G. 1? yhc~-,vs a diagram illustrating data fl.c~vv in an SBS svstern according to thG pr"cn[
FIG. 1~' ) shows a seroGa=-5hot a5f3 ofthG SBS 'tfor-lil=ier in ads in.ix.
F1+Ci-S. 14 nnd 1-i show. pseaxd~ code iniplementa:tions of S1=3S
techniclues;~ccort$ing to zispects of the inventioll.
FIGS. 16A wici 16B sliow a tabla. Ã:fraÃ: provides a listin:; of inaÃ:heinaÃ:ic.rl notation usecà in tfrc present clescription ot'tl-ic Ff.GS. 17-22) ~1-tovv a .unes of flowchart of a generalized inot1-tod atici sui.x-ma:ttands according to vn:r:ious "Ispec_ts of the lzre selit. i:n zention.

30 Dct:ailcd Deticriaion of tlzi f aivezxt:itM
These :~~id cithir;.-ispects, ornbocfirriisits, practices, Iniplenne t;.~tio .s :~~id e\:arnplos cif tlio inventic>ii are set forth:in t1A4 fo(l~vving detailed dudeription, tik--.hic.h id divided intoscctic3ns Ts foilovvs:

l.. Digital Processing Environment in 4~t~'lxic>lx hi~~~.a~atican Can Be Implemented 1t. SBS ~~l.oc~ufi;.r y fii. itnpÃ=vvime sit:: to SBS Modeler ~ 3.1 ITitt~Axieti0n ~.? SBS Shading md Shaping Process
3.:.+ 4tiriace Handling Improvements 3.4 Adti:itional Sbapi:ng A1gorithiiy (s) ~.i -;f API
~a1:3~a ~;
lt? 3.6 A Prototypi;, SBS 1''1ugrin for 3ds max ~.7 1w:titeti sio-i s to SBS
1V Shaping 1R1Gt1:iods z3iid A1;woritlm-ts fmple~iiieiiÃ:ed in tlie S1;3S
Modeler
4.1 T.ntrodirction 4,2 Rn.sterizn:Cion 15 4.3 Rid .ction of f;un:ct~ora trj Be =t'<isilnilzcd 4: 4 "I~ruat-f~~oi~.~n Nclvtor~-C.G McÃhQCI
4.5 E;0rnPuV11ic.~n of thc .I'rnstaRcgion Model 4.6 Minimization of the T:rusirRegic3n Model =1,7 Conz ergwnco oi'TrusC-fte;gion Ns;wtoÃs-C'G.Methcd ~t? V. .l~~l~~~.~~h~rts of Generalized til~:th~~cÃs I. D-k,!~tal l'r~e~~5tn~ Envia~t7~~~,ntta~~~a~~w~ In~_c.~~~~~~~~ C_att f~~_It7rtl~lc:jt~c.~~tc:~
Bc.forc describing pn.s'ticislar examples anci ~~~~odinlcnts o# the invention, the following i;, adi:,cussion.. to be read in cona-iectioa~ Nvitli h'IGS. 1-4 of underlying digital procGS:j.in:; structures ~ind cn virc.~~nn1cnts in NN-li~cli the irivetitiQ~~ inay tae im~.,leancirtc~
~id practiced.
"1'h.vso Ailfi;.cà in thoa.rt Nvitl wlda:rstir-td that the pizsa. t invention c;.~a l~o utitizc.d in i;'1-t~
genenit:ion and synthesis of ima~~cs, such as tor di;,pln.s- i:n a iaiotio Ã~
pieftn-e; or other dylianaiu display. '1~ie Ã:ecliziiyuies described 1:ierein cm be practiced as 13art of a computer graphics System..
The pixel v4Ylm, is representative of'a 30 point i . a st.one ;.~s ricord"i on. an image p1.ataa: of a simulated camera. "f'he rflnderlying ci-J111puter c.~rrapf~ies syst4n~ can lx c c~iifigitru(l to geri4:rite the pixel r:ihi~.
for <~ irn.ic u~:~:~i:n~; a. selected m4thodolorxy, sucli as ifin:i o:l'the present invention.
'nhU .66llo-win<v detailed descriptirrrt illu'Amtcti exmzpley of anetl-aody, strucÃu~~ ~_ ~~
ar-td computer soffivaru proclticts in acco~~~ataco with thosu techniques. It Nvi1l be understoocà bN_ >5. those sl:i.iloti Ãn thc aa-C that the described ~iotliods u.ai.d. systonis can 1.~o imf,lemented in s~~ffi-varc, ha:rdwure, or a combination of a<ai"twarc and l:iar<1:vva.rc, us:in~
co:nventioncrf co:ntputer appa:rnitis stich as a personal comlati-ter {PC} or equivalent Eie;vace ope:ra. Ã:ing in accordance a.6th (or emn.lai:iaxg') zi cQnwiiticmi~al operating system sticlY as Microsoft Windows, Lititsx, or lr.i-iix, ciÃher in a st<mdalone configuration or. acros~ a networ.l:. '11e variotas processing a.sp<:as and imajrts 40 described hereiii mas the retore 1>eimp1cnlcntcd in the soffivn.rc and{or hardware cleiaiciits of a properly configured digital procc:ssing, cled ice or network of cled ic-es.
f'rocessing nm.y be po:rt"ornrtiG,d sG,quontially or u1 parallel, ;~~rd may be :iMploinontod iasing sl,ccial l.~iarposG, or re-configurable han=&vaxe;.
As an exan-rplG, F1C. 1attae.heci hereto depicts an i.llust.rat:ive computer system 10 that can cam otit 5uch coiiiputi;r- graphics pr-cx.esses. With rGÃ=~~rene-e to F1G. .1, the conxputcr-:syst:Gm 1.0 in ~ Qri~. embodiment includes a processor Ã-iiodisle 11 zuicl c~peratc.~~r iirtcr[~aci; eler~ierits cc.~~llilarisinri Qperator inprit compon.i;.rats Sftcl-t ;.-is a keyboard 1'?A ancl'or a niottse 12B (or cÃigiti~irag, tablet 01-officr nnalo~ous, c lementts,l. ;~~~ieral1y itienti:ticti as opern.tor input clement(s) l2) and an operator ontptit elema.m sncli as z3 video display ilei~ice 1:.~. Tkic illus-tratitie e-onipliÃer system lf3 ck3ii bG of zi cQriveiitic.~iral stc.~recl~progr4Ym 'flrc proce;asc.~t- syioclrGle l 1 c4Yn Mckstlt, exar-t1p1o, one or 31101z prclcu."'or. ral.i;.ralv~~ aracà inass :tc~ragc, clek- it:cs. aacl-t as disk and/or tape storage elcniciits (axot s4}a-aa:i:t4.tv shmvra).. Which Pelfo:rnl Process:in'F ancl storac.~'u operations in connection w-ith digital data.l,rcyviilecl thereto. The operator input c.lerzleut(s) 12 ewi be pr(yv-iiled tt) Perariit: ara upcra.tor to iaput infi_~~~~iation fi:)r Procestiiag. The viclco diaplak- device 13, Q-Lai bi;
prov'iducl to display otttput isifv~~~iation gericattucà bN, the process~~r r~~oda1e t 1ori a screen 14 tc-I
the opmatca:r, i:nc:lirdiax ; data that tlie, operator rnav iiipuc for p:rc>c4ssÃ:ng, i:n#iann.i:tican that il:iu opcraiOr may. input to control processin& as ~~~ell as information generated <luri~ij, procc.4si.ng.
T}u; pmcessor :artoclulc l Icur~ geraerate iralormat:ion for display by the vicleo displak- device t using a so-w,alled "_graphic;~1. ttser in:terfici;" ( G'Uf:")r in. which in4ormation. 4~~- Various , applications programs is displa.~.-ecl using v.i.riows "Nviraclows."
Although the cc~~~ipriter sa:stGam 10 is shown as comprising particular cciamporlen[s, stic:.h as tlri:~ 1~eyboatd 12A tuld iiiottiisi:~ 12B f(.ir re.c:6ying itlptflt inBon1iativyl frvm an ola~-:rw-ttvr, tuld a vidoo ciislal;~4' cviee 13 4~~- disl.~layira4 outl?nt in4ormation to the openator, it Nvill. be apprcciateci that the comprater system 10 Ã~~al', include a variety of uoniponents in atldition to or iÃnstea.~ of those delaictedit't .l~T+Ci-. 1.
2') In a:cldit:ion, tlia. processor modtile l 1ek3ii inc:.lude ozic or mor4 zietwork- ports. generally ielc ,nti#icd by rcfi i-ciic~. ru#iYicral 14, which ~are cQnriccÃe>cl to cc.~mmu1iflc~atiQn liiiks which coniie>ct the compmer system lf) in a compater notevork. 'f:lli net-work ports i~iablo the computer CN.te-m 143 to taans.nxit :ini:ior.mn:tio:n t.o. ai3rl receive M-forr.nation Ã~.ror.n_ other com}atite:r dvstenrd anc3 other dGvices M ttre tiGt.~~orlC. In k3. typical zieÃ:wor1: organized :rcc:.ordim~;
to~ for Gxample, tlic c:liea~it-serz'4.r parad~gm. c4~~lain emnipr#tUr syst.ezns in the net.-~~~crrl; are di;~~~~iated as scrs m_ which store 1.'+N'thu otlioL cliorit t:oniptGtc:r sN steam thereby to c:nal-a1e il:iu client co:niptitcr syste:ms to cc~~iveniently slx<uc the information. A c:licnt cortil3u[4:r systL.m wlricli :neecis access to i:n:i'orrt>ation mn;intat:i:ned by a particular server %v:ill +~fiable thc sUrz.4.r to dm~ aloal ffic Rifi_~f-mation to :it ov4.r tE~c raelwork_ A:Cter procestiiag the data, tl-ae client Computer Si stean mayalso return t11e lir~cessecl tiata to the sc.r~er f.oa' stoa's14~w. I.11. addition to
5 col7rtl.~irte~, Wstcl7rts (including the al~ve-el:Gscnbed sc~-ver.s and clicnts)r a nctwor.k ni.a.4' :~l.so inc.lucie.. for cxaax1}alc, prrntu:rd and facsimile clericc.s, cligital audica or video storage and distribution dct-iLGs, anEl the like, ~,vhich rn,rt be shared among the various computer systerns connected in the nctAvcrrl;.. Tbc comnxn.nication links interconnecting thc coa-liptitex SYsterns irx thc ~ Tlet4N't?d' 111a1', as is i;Q3.iVefltit?TIal, C:E?u1pritiC% a]-iv cC3n1c1iierià infiQTf-nati<31-i cilrr!'i3.1g Ttl~~CliLti3'1., inchtcli~~g wires, optical libers or vtlicr inedi;.~ for carr~,iirg signafs ;.~lnong the cclrtlputor svstems.
Computer systcms, tru;sfier intornlatiran over thc network by means ofi n1cssuges transferred over tlie communicaÃ:ion liziks. witli each messagwiticludhng information atiil an iclent:ifier idc.ritiiyin:;
the cievici to rcc.ilte E1-e tYiesaage, l.n addition to the compmer sN. sturtl l() slacnvn in tlio dumi g s, methods, dovicis or scaft4~~arc; products :i~i accorcl.ialc.e ti'0111 thc. prese:nt:inv4artic>n can operate c?n ~my of a wide raiigc of contientional coziiputin;.,w (lcvices and systems, stic.li as t1:iosc cÃcpictx;d by e~ aN.' of e\u#:nple in FIG 2 rtam-c?rk tiyyteral 1 0d#), whetheer staaxl:aluric. nUtworked.17onu.b1e or fixUd, including converational 1'Cs 1 02, laptops 104, hatlcllaa.ld or niiibila: computers 1.06, or across the Internet or oiller axc:t~v(-)rl~.s 108, 4~~lxiclx rn.i:yin tan=n i:nc:lirde sen,>4:r;s 1.1 fl and stc>ratxc. 111.
ln liiie wiill co.-lvelit:i( 'mal camputer software and l:iar<lNN~a:re practice, a soffivart:
u:pplicu:tit?ri coraligured. in accordance wii:h ffic invUntion c:m c?puate witl-ain, e;g,a PC 102 like that shown ijrt l;iG4. 2 attCl ;s. in ~.Nhlw,.h program instructions caai. bo read fromf.2_OM or. CD RUNl 116 (Ft(a 3)), magnetic disk or otlxc.r stc3:ra ;c. 1:20.ia1d .loacled i:nto RAM .114 for executic>ii by CPU
118. Data can he inptit in'to tlx~ system via any l;axovi.n dct-iLG or mLans, incluEl:irig a conteaxtiomrf keyboard, scanner, mousc;, ~~gaizing ta.bfi;t, or other clezneiits 103.
'11h.0sc sl~.ille~~ in tlzc art ~.Nill nits.~ei-stajrtd that the method aspc.cts of tlic invention dcserib<:cl bercin can be e:sccuted in ftn.rti,,varc cls;nis;nts_ stiuli as an Application-Specifi u 1ntegraCed Ciruaxit tASK:l constraxctcd slacuificallz to cn.rrV raut thc pro~ce~ses described herein, using ASIC
c.omArvicti(:cc.l~iiicltie:~ kr~c~~~ti~~~ to ASIC manufacturers. ~"n~~ic~u:~
.i'~~r~~~is c~f~:~~aI~:s ~.re z3~~n.il.ibl~:~
fi-~.~~i-i ilYatiy n1anulactmuS. ~alÃlrc.~ugh C0irCutl1- a4ailablc ASICs dc.~
n~.~tl.~rQvide> tli~, ti ictiQlia described in tliis; pate tit application. Sticl~a inwltfll'actn.rurs iracltflcÃefsit:il Ccrporatlo . u.nd :tiVfi)fA
Corpom t.ion, botli of Santa C.lara.. C <al.i.l=ornia.. '.Fhc actual semiconductor elci3ici3ts of a conti-mntional ASIC or equivalent inteiYr:rtecl circuit are aiot part of tlie present invczition, and will rtot be diacisssUd in detai1 hcri;an.
"Il-tose skilled ira the u.rt will a.lso understand that ASICs or ot.hir conventional inteLrratod ci.rcmit vt-scnxicoaxclircto:r c.l4mc:nts can be iiixplcaiicaxtcd in :~~ich a axlaaxnc.r, using t11c t4"lc:hbigs of the prc.sent invention as t14scribed in ueatL=r detail liL.rein.. to carrv out the methods c3f [he prese.nc ifiventiOn as discussed in greater detail below, arad to implernerat a Sha17u-bN:-S11a.cli.ai,g Module 150 wit.}ian processing s4'stc.ni 1.02, as s17o0vn :in .l;i(s. Ã. ln a.ccor.dar7ee wit17 the fbll~Nving dGsci-ilaed s4'stc.nrts
6 ar7d tcw,hiai.qnG,sr tliG Shape-by-Shading Modu1G, 1,i[? one or i7-ore of the following sub-lnodrilG,s:.
shading i11for.niatio:n Ã:n}aut rnc>cltile 150a, iiiorÃ41 gcaxe.rator:ni dn.le 1 5tib, ,anid display output rnEacitile .1:*0c. Thc S.lx,rpe-by-Shaz3in4s Module 150 mayu,lso include other ccampo.nGra4 described hGrcin. :;i:n4<mlly (iGpictcd in box 150d as As furtber;;lioNN-ii in Ff:Ci. 4, the ~ Qistpcr.t of tti~. Stiape -by-SfYading Module 150 rn~ay bc proviciedin a nuulber of d~[f-:rctit torins, inchtcling displaN, abla: i ~ag ,us. cligitafl,~ noci;.~tid aa:villetnc n~~dols, srflbclivisi.vri sw-f'at:o:, and tli~:.
lilLe, Tliose slcilla.cl iti tfie art will also understand that aiietliocl aspects of the present anvetitioa~l can bc, carried cut within cocilrni.rci4Ylly z~vZ111lablt digital pror.i.ssirir7 stsclY as NNcrkatatiocis atICI personal computers (PCs), operating tin:dir tlio coliecti,i coiririiaricà of tlaa: ivorl-statiofa or Pt.:_"s oleratirig system and a computer prog:rann proiitsct cc?ntÃgu:red i-n accordance with the present ind.ention. The~ t:Grn-t "computer pro;;xnam product" can encompass any set of conaputer-re~ada:ble progrartxy histructions eraGotlcd oii a couipr#tUr readablc mecliu.m. A
coa~iptiter readable mcdiunrn can ont:o npass artb forin of computer roaclablo oloinoilt, int.lu+li g. bttt 3iot: limited to, a ~ornputer h.rrd disk, cornput4:r floppy disk, c:_orn}airte.:r-rearÃa.hl4 flash rlrave, computcr" wadable RAM or ROM eleiiieiit. or ~~ivy: other k-fic3wig nicaii4 of i:ric iaciing, storing or providing digital in:f'orrnation, w-betber locrrf tt) Or rezrroti; fiY?rii the worla:tit:afilon, PC or otlier cliartal processirrs; device orsyste:ul.
Various fan11.s of ccijrtrptator aeadablG, elements u.iid jrtr<:dia aro well.1:~~~~Nvn in th.e cojrtrputing arts, and tJ.~acÃ:r selection is left to the iaraplemente.:r In each cas4_ tlx~.
iravu.ntio:n is operable to enable a c-ampute;r yvsÃ:c sii to calculate a pixel valriL, and the pixel vultie; can he nsed by baxdd~~u,re e;1GrnGrit4 ill tlzi: cmi1putor Systi;m, 5N:11 ic1i Can be c~.~n vc;aYi:is~~ial elements such as graphics cards or display controllers, to~~enenate :~ displ.a.y-cantrolling electronic ontpiat.
Conventional 4-.r;~phics cu.rd.s u.ai.d.
ti:isplazcont:rollers, are well known in the comptatingar-ts, are jiot necossnry.lzpart of tlie present invr;nticn, and their ss; lecticn cn.n be left to the iiaipleÃ~ionter.

l-l . SBS M~.~c$cle>r Ff.G. S depicts a ~ornputer graphics systern 200 for generating a thra:i;.-cÃimeri.ioria.l ~~~~dol of an o1=Sject by shndiaxtY, as applied hv an operator or tlx~. lik~. to a of t13~.
oblect iti tfie giticn stat:G of its creation at:wly point ill time, coiist~~~icted in accordance witli the i~ivi;ntiora. Witlz rcfiJrcrrce to FIG. 5, the computer graphics system i.zxcludes u.proc.eayor allodu1e ?0 1, 0n.e, vt- sriore operator iriput devica.s 202 :~~id c~~io or rilora cÃispl;.-tv cÃe t ici;.s 20's . 'Haa. clispl;.-ly cievic:a;(d} 203 will typically comprise atrasne 1-atiff~.:r. video display tennina( or the like, 4ylxiclx will display i:n:i'tarn>aticniin texttial and,}or grap.h.ical i'oriii on a display screen to the c~perato:r. Tl-ie operator Dipu.t: devices 202 Ibr a computer graphiGti system 200 will typically :inclr#di; a pera 204 which is t-,'pica, llv rased in. coniunctÃ~~~~ N~~ath. a cli~~itizan4 tablet Y~9~, and a tr~.c.lfball ~-~r. nzotase .
7 r.loviw,< 206. Generally, the pen 2()4 atts.~ d'Witizing tablet will be cis<:d bv tlio olaeratiir in several rncacics. In caiic naole, particularly us4tiil in ccxniiceticaii Nvith tlx~.
inA:entica:n_ ttac lae~i 204 '111d digitizing Ãmib.let: are tisGd to provide tipdated shaEl.:irig infEa.rnxatiEan to the cca.mputer gm. lalaiLs syst:e.m.
Iu catla4r iaicades, the Ia4<n :uid digitizing tablet are xi:sud bc the operator to inlant cranveaitioual ~ coin~~flÃi rgr~~pl~i~:s inf-carilY~~.tican.. Sricia as liir~: tir~x~e~~in~~
fcar ~:x~~-npl~,, sni[~a~;i: trin~ÃniÃ~g ~~ac$ c.~t.h~:r inti?rmation. to tlio computer gualAics system 24}0. fhorztxN. to enable tlio systorai '?04} to pe~~Ã'i~rrn Conventionn.l Conaprater ;Ys-alahius. oper;ation-. "T'he ta=ack-laall or mouse ricvice 206 cn:n be tÃseti to 11101,c . a c;urscar or laiairiter cavei= tlac screen to particular lacaiaits in tlai irmige at vdaicla the ca1:m-atcar cai-t provide in~.~tst witla the pttY 4Ynel c.~i(,jitizii-tg tza.blet. '1'lae;
coinpistor graphics s{:stern 2(3f? may zilsc.~
include a l.a.vbo;.~rd (saot slaown) evhich fh~ Opurator cwl .SO to proz'ido testxflal iraput to thesysta:m 200.
Thc tarcacesscar.mcadule2(11 gG-aerally iiaclncies a tarcacesscar, whieh maN.' bG in the :l'orrn of caaic or more microlaaYacetistam, a zra:aia memeary, micl will geraer.all;~
kraGla:flde maU a r~iaay storage, subsystem Irat:ludi t; onu or more disk stoe~~~o do-vices. '17ao ia:mory ;.~
.d disk stoe-a{Fo dczicis will gerimal.1y store dataanci programs (colleetÃvel1 _"ira-t=on-mat:ioax') to he processed by the prcacc:,scar..
cn:id will st<a:re proc+.,sed clmtt:t v+hich has beeia generateci by ttae laroc.+.,s<a:r. '1~ic larcace4"ic3r module iricluclcy ccan.aai;c:tiona to the upcratraa- iaiput deti ic:e(s) 202 micl the display devicc(y) 203, zuicl will roeme i_nt"caranataon input bi, the openatrar thrciiigh. the operator input device(s) 202, lirocess t11e input iaxfornlaiican_ Sior4 tJ1c processed iaxfca.ralxaiican in the rnernc>ry .ia1rÃfc>r mass dtcara ~ dubdyst.ern.
Iriadch[ican, tlxc processor ancadatlG can provide vi(leca display i.nfta:nnatiort, d~~lxich can form part of tlri:~ urlorin;ation vbmiiwcl 1"rviii thc;: rtYonYorv wid disk sttarag~;
deviZ~. as wc ll as processed dala.
generated tb.ercbi, to the display device(s) 4or disi,lati. to the calaenatrar. 'I71c lir~cessor nrtodnle 201 n1n.s alsoincluds~ conncctions {not slaown) to harc.leopy oa.itlatit devices stich as pr-inters tor facifitaCing the ;~~~ieratioii of hartieopy ~~lftlanC, inodenis and/or ns;
txvorl;: interfaces (n.lso iiot sliown) f<ar ccatialectiri~~ the N ~t4r~a kf}4? to tlae ~atiblic ta.le~alrc~a~a Systen~ :nicl'iaz in a computer nettiecarl~~ fdar facilitating tlio tixisf-e:r of information, and tlic like.
'11-aa: Cvmtan.ter {~~aplaic. sNston1 200 generates from inptflt provided by the vpirator, t13fcaiU,Xh tlt4 laCn and elitYitizi:ng tablet and the rnouse, in-for-0nat.im elcfir:ti.ng the initial and SuEaSeyuetit shape <a:i'a three-din-wnsiorin.l object, whicla in:l'oniaz3tioai riaa4- be nse(l to -Rezaerate a fi.vo-dirtxi;rasicanal izra:a<vi; caf'tlae: ccarrespeartrlia.s t?E?ject for display to tlae: operator, tlii;rcbk to generate a raaodut cif tlio Object. J:lli image displayid hi: tlio computer guilAics systi;.m 24}0 r~~pr4sea:its tlx~. inx<a.grc of t1A4 cabjeet as :il(urninat.ed tronl .ial:illurn:u:iatio:n direction <aa~d as projected ca:nio aia image t3lane, w-itl:i ilic ol~jcc[ lravifig a spatial ta<asi[ican zn:id zotza:[icair.il car.ic:ntation r4lntid.e to tlie illaminatit?a directicau ararl the iaiaz~;e plarae aatl atic:alirm :uxd{ear comrt ai;tt.mrv as selected by the operator. 'T1ac inatÃa1 jtttadel tasi;Cl an the jntaciel generation p~icGss may kae iino of a plnrality of ~

clot"auit niodGls as provided t1ie computor graphics system itseif, sneli as a I7rtode1 defining a h.cnIi-s}a.heric.i.l or -el.lipdoicl dh.ilau. A1tcr.natiael~-.. the iiiÃti.i.l rnoilcl ax1ay 1=re larovidud bythe caper.i:tor by provitling,am i:nitial shading of at least one pixel of the inxa.s;e p1anL, using the pen 204 and di;;xitizing, tablet 205. 1Ã= tkw irxiti:rl model is provl(iGd bv tlic oper-ator, one of tlxe pixels on tli~:~
~ iÃ-n~arx~ ~l~uie> ~s selected to pr~~~~ide> a ~'r~.fi:r~.iicw~'~" pc~rtic~ri of tl~~. st#r#;~~:~. f-:ra~~;rni:r~t t~.-~r thi:
object. tito reta:ri.ncu initial surface fr4~I~~~.~~t portion h;.~v ira{F a si;.l.octucl spatial position, rotatiorta.1 O:rientation nndheight Vn.lue Avit.h respect to ttic imnge planc, and tlic coinpister gralalai~s s~ Ste~~
determines the initial model for tlie rest o:l'the surface i-ragnaa.nt (if ativ) inrela:tioti to sh:din:; (if wiN)applied to othes- piwls on the imagc plane. ln one embodiment, the reference initial aurFacc, tragral.i;.rat portion is selected to he the portion of'the sur[:~ice tragraierat f:ir Nk.hlch tlae first pixel vil the un a~,=u plane to 4~'lxic:lx th~. opcrator applies shading. l.ax addition, in that emhc3cliaxlcnt, the reference initial stirfac'e fragnicat portion is det:Grn-wned to bG parallel to tlie image plwie, so th.rt a vcctor raornial to the re.terence irntial tiurf':Ice f'r:a<v~~ient:lortiOn is ortliogona1 to ttic irnage pl:uxi;
arid th.i. rufet-urrci ir-titial sisrfaca: fragment portion hasa heigllt valttc as selected by th.i;. vperz?.tor.
Tn any cas4_ comlaitt.er graphics syste:m tivill dasp.lwi' the image of the iiAiti.i.l rnoilcl_ tlx~. iniage defining tlic. 41iacliiij, of ttic <al>jcct assoc:iaied wit.h the i:n:itial iirodcl ws, illanainatcrl :f'r3iii the pa:rticul:ar illumBia.tit?a direction arad prqjUGtcd onto the i~~tagU plaae.
'Ilic opoIa torr tiisill-go, tly<. nion-so and tlio l.~c:n ajrtd di. atIzit7g talalet~ ~.Nill provi.dG, npdated s1lading of the i:n1age of the i:n:itial oljWct, and; :r 4xt4racl il:ic lj~cet hy slu-i.cli:ng neighboring areas ort the inxa.s;e plcrnL, arid the comlati-ter graphics system 200 will generaÃ:e an tipz3atetl model representing th~; shape of tlzi; ol?Ã~.e# baai;d oii the isladate<l slitWitYg provided by the operator. In npdatiiio the shacli~7gr the operator can ijrtwr<~.~e or d~,~.reas~. thG, ajtic~c~nt ii4 sh:~cling ;ipplieti to particn.ln.rlaoints on the i:n1~ge Pln.ne. In addition, the operators using tlien1owc or trackball a nd the pen and rligitizing tablet can perfor1ai conventionn.l coÃ~~pater graphics opern.tions i:n cC3n17.a=c ti[317. L'i~itl3 the nI1.EiY4~. SUC:~h as t3']n7.]I11.17 of tlia=
~l:Rrf~.~:1'~ ril:~r~;s4~#:itat]
:t~ti d?:t't11t% o1?li=ct dil:li3ec1 ta{: tlii: n-ic.~de>l. Thi: coinptflÃe>r gatphies system 200 cwi o:fls~. the>
u:pci<Wc.~ shading and otlicr computer {.~rapl:ai.c Mforsn;.~tion provided bN the operator to wonerato the ispclated srioclel dutitling the, dha.l?c oftlx~. ohjec_t.and further generate froan the ttlzdat4d .n1od4t a for di;,play to tlie opera:tor, :i'xcyrzl respectiv4;patiz31 po-sit.ion(s), rotational oriezita-tion(s) atid s-,c:rling, and/or zoom ai;ttira;Ys as selected by the oper:ator. lf the operator deti;ranineti tlzzit the yhapc of tl-ae ob.#oct as represented by th.e. apdated 3iiodil is satist;'actory, he or .hu cwl oti;.~ble tlio compistor graphics dyst.e~n 2011 to store tlx~. updated model Ts clctu:u:ng the shape of the :t=i.n.il olaject. O.n the otl:ic.r 1i~id~ i.i'the ope.rato.r detL.z-rtiificy that the shnlac of ilic ol~ject as repr4sented bs- the atpc~ztt4cl zrtoclel is zxot tia:titita.e:ttrrv_ 1zi; or she Gara cooperate with the con'tput.er graphaca ~~ ~tC.aI-.1 20(} tt) 15 4'm-ther iil.~dato the shadan~,~ and citly<:r comliiitGr gm, p.hw in#~:orinatÃon, in the process usir7g thr.~.e-rlittrtcltsional rotation and trat7slation and sw,sllail4 or zoomin as necc~ed. As t11e s11adin8 and other co:mpu.tcr graphic i11fori-matiori is upcfatcd, the cc3iixptiter 'Fra}ahics syst4alx 200 tsladatud thc..modc..l infEarnla[ica:n, a6ic:h is a.s;ain nstl to provide a [wci-dim'.:nsionaf i~~~
ag':. oÃ= thG cik?jec.t, f::rom rota.tional orientatYons, Ãrmislation or spatial position sc:tting:j., mcl scale, :uld/ox zoor-n seÃtin p as ~ se lcctit~ by Ãl~c. c.~pcrat.~r. "llie>a~: operations c~~i io:fli~til thi:
c~p~:r~.tc.~~~ t~c~t~,r~~iiri~:s that th~, sh.ape of the vhkject i.s satisfactcli b ,at N'~.Jlich poilit: the computer graphics sv sfe m 200 will store fho irpdatct.i niodcl iitorination as relarc.sentiÃia~ t1le final ohjcct.
Tlie detai1ed cYpGra.ti(nis perf:orlmd by tlie c.omput4r graphic - sy:atem 200 iz~ deta.z-izxitri.-i;;
the shape of an c.~t.~jcct will be cftscribed in with FIGS, 6-l 1. With ri.ttr-e;nce; to FIG, 6, in t.hi ope e-ations of the computir graphics systa:m 2100, it is assunna.d that the image of the object is }a.rqjc.cte;d mt.c> a twc>-clinle:ndicanal iniage plane 220 that is t4ss4.il.itc.cl intc~ pÃxcls 22.l (i.,,j) 1:iaving apreifetc-rriiina.clnnmber o:i'rmvs z3iid columns, The image plwie~
220 cle-fines-, z3li x, ~' Cartcyiara plarie, with rows 4x-teatli.ug, ia the x clirec:tion and colu:arms exteracÃiri.s in tlaev cfircc-ti0rt.
"Ilio Proja.ctiora of t.hi Surfaci of t1aa: dbjuct, evhicla is idisitifiicl in FiG. 6 by reference n.fimonal 222, that is t.c> he tc>rlaxc.cl is oathogaphic... with the direction of the c:an1em"s -'cve' 1=reinc.~r ill tlxc. z tfirc.ctiol:i~ orthooona.f tc) tlie x, v image plc~ic. Each point ciii [lic~.
imagc planc corresponds to a picturi i~lern':nt, Ear::PixeU rL13resL.nÃez31xcre;in hy OT.;, a~6th i (:-~i 1.1, N] artdj;~ [ 1.:t4] wlxcre; N is the:ma\irntaalx mnnhcr of coltani.nd (i:nde:s /:rang:ing over the c:oltsrn:ns i:n the i~na'F4 pl-aaxc.) and X1:is tlie .n1acirmim nun-tibUr of:rmvs (i-ntlex.1'rangi~~g over the rod~~s in the image lala-nc). hx [li':.
illustrati4e izrr:agi; plane 220 dUpietecl ill >'='IG . 6_ the ntimber ot'coluanns N is ~ight, and the number ot"~~ows;k-lis nine. ffthc disfal.a4 dG,vice(s) 203 which arc. useci todepict thc ml4c plajrtc. 220to the opc.:ratca:raru rastcrr scax cfes icc.s_ tlxc. rmvs correspond to scan lines tssed by tlxc de.A:~ic:e(s) Each p.ixLl _D2.; corrUspondy tc~ ~partacislar f7oint {at a) of tlzi;
coorcfirtate, svstcan, aaxd.Al x N id4altihud tlle resolution of the image. fax additiori, the computer graphicd system 10 assumes that the o1.~j<.wc is ÃilnniÃnat<:d by a light sour:,o having a dar.ectioi7 L (.z-">?,.. zj.)n zN-herc i: Is n. i'cctorn anti that thc snrta.cc of the okjcct is Launiheslia in, '.Tlie iriiplicit camera. whose ia~iiz3ge plane is represented by the iiiiz3ge plane 220.. is a:-surz1ed to be viev~
thc itYi~aue p4me> 220 f-rcriiY a direction that is orthogoÃ~zil to the iilYa-g~. p1anc 22(), as is represcritw.cl by th.e arro", Nvith the labcf "CAMERA."
As nowd above, the con3ptitc:r graphics system 200 initializcs the cil~iect witli at least m irffiliit4airmi,114. small porticyti o.f'thG ob~jec( te) be modeled as tfie illitial mode1. For each PixGl :? z the he iglit value z (x, ?') t$efinina the lic.ighC oÃ'the portion of the ohjcct prqlc cCed oiito the pixel is k.ncawn, and is dcfiaxcci as a lxciglit: t:ieltl 1-I (x:, y) as 1:ollows;

t0 H(x=y H.~()~,v(r!~')c ~~ ~ (2.01:) where v (a y) W E. reters, to "for all point~ (.x,7 v)iix tlie dcnxaiix S?,,:
zx-ith the donlain Q rci'erTing to tlic nn agu plaix4 220. 1?inthernxofc., for each pr\el T, ,:. (hu 11cxrmul r~
(x,.a) of the laoftion of ilxc.
sur.4acc of the lxasiw, it7itiul ubject prqjc:w,ted thc.reon is a.lso known and is defined as a nonnu.i f.'ic:lci N{v, y} as tollows.

TF'~ ""."
1 ~Ji'~~1~~Y=~~.x.~~@ J, ~~.GL~

hx.F.IG. fi, thc..nc3:rni.i.l associated evith the surface 2222 ot=: il:iu cx\hjcct }a:rqjc.ctcd oixt.ca one t1x4 lxixels inxu~ e plane 210 isre;lxrise;axÃe;d by the urroa~~- labeled "n.
of the After (lie computer gratilxic:.s :-.ys-[a.m 200 displ ~~~'s-, tlxa. inaac relxre~sentinx the obj4ct defined h): tlie: Unfia.l iiY~.~c$il, zvhieh is displayed to the c.~~pe>nator crn tti~. disp1a{: 203 as the iilY;I~~. OÃx gu h~ updating the shacÃing the i nagi imaac Ixlanc 220. tlxo (Ypirator t.ata buwiil to moclifN= tlaa: inxug using thc pc.n 204 and digitizing tablct 205 (FIG. 5). lt will be appreciated that theinluge of the initial mod41 as dasplayGil by tlie coniput4r;;ralxhic;; system will it.self ba. -shacled to repre-seni ihe yl:aapc o:l'tl.w, 611jec:.:t as ai:liacd la~- tl:ic initial :uxodcl, ~~
illu:uxi:uated Erom the I~redetcrm Ztzed illuminn.tion dirGction nnd as projected 01110 tlxe inla~~c lalanc.. Each PiNcl _ f,.; On the inin.;Ye p1anc will have an assow,:iated inten sitx: Value I{.t ~Nr"lxiclx i.S .11so rc.fei-i-cd to .h<.rc.in as a"Pia<i v aluc".l which reprasetits th4 relatitie brightness of (lie ima:;e at the pixel and.
which. ind.ersely.
represents the a-':lativG shading cxÃ=Ãhe; pixel. l.f tlx' iniÃial 13:iacl t~alue; -for G'ach pixel OD2 is given lxv .f (z. y). tik~hic.h rc}ares4nt's thu irixage int.ensity value or hrighrness of the .resl7cctix>417rxe1 ~+; at 't) lucati.on 0:~ i'~ iin tlxc Ãn Lxc plane 220. and thc pixcl ~-.flu<
u.#'t<:i- shadingis i-elar.escnted (-r- y), thcn t1xc operator prefierah1y trpdn:tes tlie slxnding toa= theinm~~e such thats tor each pixel <Cp for (x,V)CQ (:2.03) where 0) is aIxrcdcti; ania~edbou.ritl valu.U selected so th:at, Wll*quatiexra (2.03) is satis1iecl .6txr cziclx pixt;l> tlic aliapt; of the vl~?jcct caii be titpdatt;cl basetl. ~.-~ii thi~ shz3diiig .lx~~(yvidt;cl by tlic opuator.

Attc.r the opcnator updates the shu.clfli4~ t"br. a pixcl, the coniput<:r graphics s4 stcni I0 perfornl tivo gcnc.ral olxrutions, in gc.ncration o#'the updn:ted shape for t1xe o1>jcct. In particulnr.

t.he computer gral3hics system 200 ~vill gi.) 4idetcnuine, for euch p:ixol i~D, wlxosG shading Ãs ul.~clatcd, a rc.spGctive new :)0 non:nal vcctc?r m (-V~ j'); wzd (ii) after gcneÃatitl~ an updated rios=nxul vuetor rr, (k,;x%3. deteÃ=nxinu a ni", hiight vulrfla:.
11.

The computer 4,~mphi.cs systei7rt 1.0 will l.~erftinii t11cw operations (i) and (Ii) tiir <:~.el:- jai.zel.
t;, 4~~lxodc slxacling is uprÃatud~ as t1A4 shmdmg is tarditeci, thereby to provide a. axe.ev no.ralxa.l,.-cctor f-lelcà N(x. i) ;.~ .dhoi~l~t field .1~{~-,,x'). Operations 1~~:t-ffi~~~i~~cÃ1~v~ tl~aa. computer {~r~l:ai:cs se:stor~i ?t}E) ii-# comiectior~ Nvith updat:im; of the 1101-mal Vector rr; 6) above)1'oi= aI,axel ~, . svill be dude.ribecl .in coaxnec:tion with. FIGS. 7 anci 8, and operations performed i:n connection w.itli updating of dae beigllt: value = t~. y) (iterzx (ai) zibov4.) for tlic pixel ~@;.; -,vill be described irt cormectioax with F1GS. 9 arid 10.
Witti rcterctYce initially to Fff.i. 7, that tigu.rc depicts a fjc.~rti~.~ii of'tlie> object, identificd ta1 roferonei; amnoral 2rof].aft4ra pixel's shading has been updated by the ~~pcrator, In the followiag.
it will bs; ~,~,susned that the updated j:tornial vector, ideiitifiec~ bi,-ths; n:r~o-witlenCified by lc;gend - t~,,"' f~~r a point Ã~ ,,t."3 cYti tli~: ~~~rf:ae~~: c~-f~tli~:~
<~l,j~:c.t'~3t1, is to be ci~;te~r~~z~i~~.a.cl. Tl~.a. nc~rz1a~ ti~c;tc~r idetitified ~.~1 legend represents t~ic nonlial Ãc.~ tlic surface pri(.,r to t.lic ulac.~la:ting, 'I'Irc il.lumination directivil i: ~~~prescilted i.'+y'thu linu ixtunding, from the ~,ictor t.orrusponding, to tlio arrow identi:t~c rl by l:v~~ n~l "I,, (s1~~.cif"acall~> represents an i.ll~~~n~i:natio~~ v=~.ctt~r l;~:~os~. ~li~'~:~ctio:n is based on il:iu direction of i(luxni:natic?n trorn the ligfrt source illr~alxial~ti~~t~ tli~. c>hj4ct, mid whose mmz~.n:ittaci~ rel~~iyGaxt4 the .n-ikunnit.ncie; of the illumination on tliG
Eal='rject provided by tlre ligliÃ: sou;-e.L.
l.n that c:ase.ba.sUCI ora dae updatiaig, the set o#'possiblU mw non:Ãia1 i'4.ctt?rs l.ie Oil tlli; yr#rfa.c:e of the Coizi; ?;s 1NrJuch i.s Cle tined bv:

{2.0Ã) '?Ã,l that i-,_ tliU set of 4 eGtors 6cxr which the dot product witli the illr#zrtimmort vector corresporads to the pixc1 valm, ..1-" lor Ãlrc pixel after tli~. upc.~lating of the shading as prov-ide>cl b-v tti~. oIxmt:Qr. In 1tddition. silrw<: tlia: normal vewcor n; is, as is tlio wase with zffl liornial vect~,grs, liornialize:d to lta~-<: a prGdc;tmalmt.i ma~~~iittit$e valtÃe, laroterably the value " o~ic. " thc updated nor%al vector has a magulitn cie corre-spondi ng, te):
(2.05) ~~
ivherc ' rr " .re;ters to the rnw griiÃYide of upz3a:t':tl .ncanmcrf vector n; .
Equations (~',f)4) and (2,03) define a se:t of vcclors, zuicl the ni~ar7nitude>a c.~~f'Ãhi; reslacctiv~.
'11e c~~~~putergralalaius, system 200 will select one of the vectors troni the set as the appropriate 30 updated normal vectcarn, as follod~~s. As noted above, tliG updaÃ:ez3 normal vector will lie oii tlxc surfa:ccc.~~f-'c.c.~nc~231, voctorl aro not par~.lfol, then t.ll<.v (that is, the lari~~- aorimil vector n;; ~~id the illumination '111:is follows since the point z (a-, Y) at -%Vhich thc ill11nli:nation v-Gctor t> ii:zlpinga.s on tlic ol?ja.c.t 2:.~tl, znid tlie oriaizi oftlic rromia1 i a.ctorra~: on object 230., i:a t1ie t-~

same jaoi_nt, arid the t:~i.l of the illtnmination vector and head ot"t.he prior normal vector 110 provide the two additional points which, with the poi-ni stittices to clctu:iud a. p(aaxe 'Mlj.s~

if a plarte, ~vhiLh is iz3eraitied hy reference :nrnmerfl 232, is catrstractecl o~t which boÃh tlxc veei:orL i-tiid tlic prii.ir tYi.iriiial 4cctor m, lie, that plane 232 avill itmrscc;t the~ c;QIIr:.
~ ~alon(i tvko litie>a, which arc rc~.~icscixtcd b): lines 33 in 1f;ff.R. 7.
+fJtie> of the li~ics 2,33 lies on thi:
s :rGacu of tlaa: calli 23 1 iNhieh is or-t tlio side of'the illnnii at~~~n ~,ictor 1, toN.k.ards fho prior norrmal vector ta,,, anci the otlxGr line 2a? lies an thG sn.1face; of the LEane -- ), 1-,k:hich is oil tlxe side of [lxe illumination vector.l:. f:rom t1:iG normal vectorn,;.. wid the correct updated normal vectorn, is defined b-v t.lic, li~ic, oi-t t"he corte '? 'n l>-vltic1-i is c.~n the side of the i1lu~~~in4Yt:ic.~n vector L tc~xvards the prior non:nal. -va:ctor Based can thede ohsen: atio:nd. (hu direction of the, updated rior.mal vector can be ~iGternxi-ii~Ã :i'xc~a~~ Eqtiation (2.04) z3iid the:i'ollowing. Since the prior normal vectoz zi,a md ihe illu.nni:nation vee.to.r.L, Ã=carm a pl,~~te 232, tlxcir cro," farodt,tct, "rrt,x.I" deli.nG:s a vector that :is nomi.i.l to thc plane 2:32. 'lliird, sÃ:nc>4 the updated axornAa.t vector n;
also lies iiA tlx~. plane 232.. the dot procÃtic t of t1:iG itpda:ta.cl iiorr~ial vector n; witki the vGctor defined by thc cro," produc:t betweezi the prit?r zxormal 4 eclor ai, :uxd thU ilhnrniraatami vector L has the vaIrfle zUro, that is:
n,.=(n(.)x1,.)-O (2.06.) 1n addition, siiic~. the: dflt~~.rctYce beAwcen the pixel a~ziltws 1:; and l;
provided b{: the> prior shading and the updated shading is bounded by F:, (Equation (2.03) abo~e), the angle J between MC? the prica:r .nomial vector n,, and the tspdatud axor.nAa1 vector n is also hc?tiaxdo.d hv s nie rn.i\i:murn positive value ,:~sa rQsa.tlt, Eqmtio.n ti2.06j can be as 01;s t? :

Thisis illustrated dias;rmamatical1y in FIG. K 1~'i(z. 8 depicts a portion of ttie con,;. 232 depicted in FfG. 7_ the: updated normal vUGtor rtE, aacl arUmon_ idUrmJliec1 bN= reference: nunrneral 1) s 2:~4, that ~~epr~:s~:ilts tl:aa maximum n~:a{.~.. (:~ ~i~olri tl:aa.
prior n.or~~ia1 z,~:ctor i e~~hich thc updated nomi.i.l vector ri; is c:oaxstrai:ned to lie.
'1710 comptater ;Ys-aphius systenn 200 (F1C. 5) zx-ill ge~ierate an updated nomin1 vector Ã~; tor each pixel 0;.; in the ira~~~ge plane 220 basUC1 on dae shadin'u provided by the t?perator, daerUhy to generate ~i updated tivc.tor field N(x.: t}. After tlic c:.cyi:zlputc;r ;.,wng3hics sy-stiizl 20tf ha.s ge~ieratc;d 30 t1:ic updated non:nal vector for a l;rzxc(. it c.uY generate a i:ww height value ...~1x. ,v3 for th.at pixcl, therzbv to ttpdaÃo tha: hei&fl-tt fiild H(i, )'} ba:ecl ora the ttpdatod sl~adiirg. +Oporatio .s ,aa rf=on:aied by the co:nAptitcr graphics system 200 iiA connection Nvitl1 updating the licight value (z.~ v) will hc;

1~~

dc.scr.i.bcd in connection with FIGS. 9 and 10. FiG. 9 dep:ias -m illustrative npdat<:~ khad#ng t"or the nn agu p1aii4 220 dc.pict4cl in FIG. 6. For tlxc. ialxage lal.inu '2120 rÃ4}aic,tud i:n FIG. 9, tllu pixeld CiD lx,rve bcGax prc3i. itlez3 a~6t.h c.oc3rdi:nates~ with the rmvs lx;i.ng itlLntyt:iez3 by natrnbers in the rarigc frtin3 1 tltrotigh !i, .inclusir c... and the colurnzts b4iitg itlc:ntiÃic.cl bs littere in thc :rangc. A tlarongh .I
~ iÃwh#sI'vi .:1s shc#~+~~ iii 1 If R. ~t, in tlie u:p~i<~t:ecl sh~~cliiig, thc pixe;ls '.~ .:-. < tltrc.~~ag1I @.:: .
all beUn tzxociiliccl, artdtfae Gmzxputcrgraphies sa st~.rn ~Ã)Ã} i[c~ 4FL.txir~t~ an t~l~z3~~t'~1 he i~ ht ~.~a1tiL t~{x. t'}
t.he;rc~t~r for n4e~ as the tip~lat~.El 1~'.i~Y:ht va1ue f-c.,r the pixcl in thi: tipclatcd hc.irMlYt f-.ield H(x, 1y). 'I'o ac.coniplish ÃhaÃ, Ãl-ic c:omputer graphica systcin 200 perf~rm5 sova.a'al. upcration5, which Nvill be tic,scraba:d bolow, to gu~~caltu a Itc,ight 1(} z.alue#'or each pi .1 i:fx ,., ~v:hcase shading has bce;ii modified along a teri:iLal di.reLtyo.n, a horizontal ciirc.etion, and two ciiagonal rl.irc.ctaons_ and gc.i1enates the tinM height Value f.'or the pizel as tlic.
a'F4 of the, tiain-height val~ses (tlu-i:t is, the licight va1ued along t1Ac.
o c.rtica.l.. lxoriont-1:.l.. and tAvca z3.ikgEana1 direc[ica:ns}.
771~~ opi:~r~~ti:i~.~ns perfbr-inecl bv the c~.~flnptiti:cr iriraphics systcm 200 i~~ geiic;rati~ig Ãui updated 15 hc.i4tlzt v:~Jtae: ~--vill bo described in. connection ~--vith one of the moditied pi\c.ls in the ianagG p.lat7<:
2:20, nan:zch~ pixel ,flo.n_g one of the di.re;Ltyo.ns, n.rnelv, the horizontal tliaect:ion.
!t_lpern.tions, Pc:s-#ormedirt connection with the other directions,, and t1io othc.s' laixcls, Avhose shat.iiÃsa is updat4d, will be apparent to thobe sh.ille(l in. tlie art. In gezierat:inx an updated heigl:it vn.ltte, tlia.
i:.aottYpU:Ei'E' g.I:'w[ne'* Systi:ril 4200 mak-i's i1se of 130z#i':r Bi t':H1St0i#1 ItItG#polatIo]4, wl:#icl:# di fEncS a 20 curve l'(t) ol'dG{.~rei -'t7g' as ti ~.?) = 'Y 'R, (2.08) NA':l3orc t is a #ittrtlc'rical pananicter Oax thc~ i~ttc#~ ~1 hetvvcen 43 aaxtl 1, utclras:ivc, aaxtl vectc:r's B;
(ilel:iiied by compona.nt:- 45;.,, kl, bt:>)} c.~lctitie> l" cc.~iitrc.~~I
points for t:lYe cisr1 e 1rQ3> NN-itl-I c~.~iitrol ponstti A, ;.~ .d Y,: comprisi g the e~idpoisit.s ol'th.e wre:o. 'T'he t~~~~onts ol'tha. C .rvi P(t) at tll~:.
25 cilcipoints correspond to fho voctors Y..f>; alcl In one embodiment, tho conipater gÃ~.,~.ahics svste:n1:200 tisc.s a cubic 13e7iernBe#=nst.ei:n Ã:nterpolaiÃcan (2.0<3) + 3B,t~(1mt),+~~?

to geraerate the r#1~da.ti;c1 hcight valuc. 'nie: points B. 131 . B_, :uxd B;
arc control pointti t'br the cubie~
Cnrve f'>,:;4o.
3 0 1_:cgtscatiosa (2.09), <is a.plalicc;< to the clct:enni#sa:tion of the tapdatud tic.iglit valtÃe h; fo.r the Pi:W cOrWspc?atls to Itt.=~~~(I-~)'+3B,~~ (2.10) It vi-ill l~o appreciatoci fror~i Equation {2.10} tlaat, for r-= 0, tl-aa:
ttpdatoci huight z,;.~l~se h; for pixLl 11);,., corresponds to h.,.. a.Oich is the hLight vah,te fo.r pixe;l ,03),.: < atid fEa.r t W L[he updated liGight iealuc h; for pixcl G)r.> corresponds to h,', 4~'lxiclx is th4lxe-ight vaJne, #ia:r pixel 011 tlx~.
oth<.r hanci, fi-jr r hak. nfiF a valrsc cithur t:hmi 0 or 1, the updated hei;}ht N-al.uu hi is a t .nction of the xerght taltie;s fr,t mrlla;. of the pixels OD2_,; axdatid the height vah,tes forco.ntrol poirits B; and .I3>.
As noted a:hod.e.. for ~i n (iGgrea. the txigGZit;s at tlic endpoints 13,, and t.l;
corros~otacà to tho k-ed')rs wi+.1 B:.jB,Y. Thus, f=or tlaa: cur~e P>: -.Q) stl~Nk.n in f=lG, 10. tho vector 1%B;; tNat is ele#itiec.~ bv end~.~oint.B:; anc.~ a4jacent. control poitit B; is ungent to the cnn c P: ::ft} at cn:tipoi.n.t.& and the ~-<.wtor J: 13z Clefined by oitipoint.Rz and ao:jaCent eiintroi point B, is t~~~~~:~~t t~ th~: ~~Ã~'z c: ~t s; ~~i~~inC 13?. _~~~~~ar~lin~l~ , tihs;
~~.ut~r 1~',I3;. ~s ~~=th~a~r~ix~l to th~:, n~~~~l z~,cctor ra ; at pixe.l @c, , cinrl the vector .I7,A, is oatho4spna.l totlxe.ncarmaJ vLe.to.r aÃ:13:ixei i L., Thus.

0=(B:j_ B~~'n, atid 0-(B-,-.B3)-r'1,, t?.11}
Ns>I-iich leads to ()=~B:I-h ~~ i-~~.~t a~~~1. 0=~~:~-~r~)=~~+: (~~. 11:3 For the cfetUrzrtinatit?a of the: upclatcd hei<vht value h; ft)r the horicontal direction (ai:c F1G. 9), the .Ftlt tion (2..10), whiCh is 117 Vector f'ontt gi.ves r1 se tci i'lto #~ollov"ittg equations 4oi-c.ieh of tlx~. dimensions z.'~ aaxd, "z'." (the "M"' diniensi ax being orthogonal to th4 ialxag.,c p1an, c):
""
(7 t)'+3~~j~t(:~-i +:'b~,,t-i+~a~r (2,13) 6Ã_ -~aa:z . .

z3IIC1 ~-~f~~~(1.-11 (2.14) whGro th<..s: and usul.~sw,ript:s in Equations (2.1 3) and (2,14) 'Oir.lieatc the r<spectÃve a- and components for the respective vectors in Equation (2.10). It will he appreciated th'at. fc3r Equations f;?.13; and f,2.14;, only e-mzluc of the z e.c3mporte.nt, k: , of the height value is rn:ll,.amv.n.
tlrc val~~~. ot't1Ye ,x'.' cQrii~.,oircnt.k,. will be a 1'uric.fi~.~ii oi'the>
~.~oaitiQi-i of th~. pixcl whosc. heirMht.
~-aIn<: is being detcnn Eiicrl. in this case jai.zel. .I:n aclditio:n, Eclu:ition (212) gives rise to the following two eqnatEOl'Is ~~:~k ~t=,x.~1""d~ "h~t~j~.z~l~l ~)~+~~3r,~.t''"~,)~~~+~~i,.~:l" {?.-1:?) 43:nC~

1a~ 3 +,.~bg,ti1--wt1?+~.Y1?:, t2 4116~
~,vherL subscriptsY, z' antl u in EquaÃiciaxs {2,15} m~ (2,16) indie.at:i the rispeda.[it~c x,,; md z coxzxpt?rieent- for the rUspectrvc vectors i.n Equation (2121).
I.n atiditioiz, ns noted above, there is Chc 4i~i-the~- constraint tijrt tlzor cur<d" :ill particular il:iu cc3alstrault that the npdatcel wr.nla( .nI he:nc3:r.ni.i.1 to the cun>e at tlx~. point corretipwicling tk) pilxcl 11= t1i4~ vect.car ia FIG. 10 iti twigent. to the curve at t.llc point corresponding to pi~:e~l (.' ,,:.: thca~i tlie poia~it 1z,, wtic>>e Nco.mponetit correspond:a to ttie updated hu.icht. vaJ.ije. a(sc3liud oiA tlx~. v~.ctor.d> d>jr:.. 'T'.hIls, s1@(h(,j-4h 1%'n 1 zuid 123-h1)'n:1 15 Nisid oi1 C11c co-ttvez co-itrtb~natioiz depicted in 1~'1C's.. l BnW2 = Br01 + f(.F; t 2 - fiW ?
= 13tst! 1 - r? + 13aw~
airtd B ,= B,~ +(Bs.3 -BI 2 = i!i12 i l - r) +B-,3 r {2,20}
which lead to {21.2 1) and ;---B,)-B_L-t{1i2-1a1) ~ (2,22) Crain1_?ini~~g Equations (2.l7). {2.19} and {2.2) 1}

Ã:h(li E.A - 1) +.h'121 111 1- tk ~' ~-~~
) (~-= (Bd (l. -- J.)' -~ 2BIr (I -4 r .) +Bg4 -ix: h ich 1 uad.s tc.7 and O=ibvj1-ti?'+2 b, V~,ql t)+b__t2 -hl .)n i ('2.24) (~~.22)..

0=(~')ix(1-t) "-t-'~2b~,t~'l ---~), hb,f-h)n~.a: a(l j IE,} t l?,?'i for t110 x and zc~~~ponents of the reslaeutivs; Veutors.
lt will be at3}are;ciated that t-liG eight tt:,qt7atiorts (2.13) t.hroaigli (2.16), (2.24) anEl. (225) are ~all crtici1ne~~ i~sla~:cÃiv~..~ ~u~el r cc~in~~Ã~~nts. ~c~r tlr~ ic~r~ $?.1 ~} t1~~~~flrMtY
{~~?.lfi}. (2.24) and (12-5), t:here me six unl.amn. e:aluos, nam<lN, tlie v-alu.u of parameter t, the values o.l t:he .z- and .- con~ponents of the vector I3; (that i;,, values i?j: and t:he .z- and Z
components of the tivdor B-: (that is, vz31ues ~..=, md b,), aad thc r. compo-ieart of the vector h:
(that is, valcic h_)to the taointl';. for the pixi;l ~a ,.'ll~c ei.4~,ttt G~7ta~t~~~~~s (?. l;s} th~~~4?1~ ~?.lt?~, ~~,?4~ ~3t~cl ~?.2~~ ~3r~ s~~ltieii;a~t tr~ ~ s~=~t4r~~ e~1'Uyu~~tic~rrs asl~iel~ ~~:ill tir~t~~c:i; te~ ~311c~i.~ t}t~: c~~lrfl~:ti Ir~r the unknoi.\,ns to l.-K,- dGti:n-ii ined by mGthodolog.ies vd-aich m 11 bo apparent to those skil.led in. thG
.i.rt.
'1710 computer ;Ys-aphius systenn 200 will, in addition to performisig the opes'atious described above in connection vvi[lx [h'. horizontal direction f;c:ca.rresponEl.:irtg to thc ":a " coorz3inaÃ:e ztxis3, zt.lso pcrf~.~rn-i corrcaporiding c.~pcra:tiorns similar tc.~ those c$i acribed above for each ot'tl-ic <~>.. .
vert.ical anci two tÃi,rgonal disvetions to tÃott;s-niine the updated 11cight vt;e tor h; tior the pixel After the coiriptltor gi-aphit.s syst:im 200 di;.ton.-aiiraes tlio updated l:aa.lght e:octvns, tbi- all four MC? d:irec tior:is, it 4vi.ll average them together. ~ie M c:o:mpoaxent of tlx~. <~,,er.i~,=u of tlxe. updated .hei~ ht vectors corresponds to the ~ieiglit value for the updated model.for diG
ol~jecL
T'l-ae, oporationti perfbrrzxi;d by the c:o:anprrter graphics system 200 w.ill be described i:n cotin,;.ction with tlLi:~ tloevchart in t+='iGS I lA arld I 113. Gcn4ra.l1y, it is anticipated that tlic op4rat.ca:r vvi.ll hwc a niealt.i.1 iaiiage of the cabject that is to be niod41eci bv the, c:_orn}atrte.:r graphics s~ ste.m. Wi tlx reference to FlG. I l.A and 1.1 B, the initial model tor the ol~#e;c[ .is z3et'::n:nirled (step "5(1), micl the coaizpu:ter rvraptaic.s yysti;m clitiplm:y a fiwo clazncntiirrnal irtxag"c tlierct?f to the operator baserl oiz a lirodet<.niiinod illuniinu.t:ioai. direction. Nvith the dtspl;~~dii-ect:ioiz corresponding to u.ai.
imic~.u plari4 (re-t=eaea1c:e nna~.=u plari4 20 depicted i:n F1.G. 6) (ste-}a 25 1.). As notedabove, the iiAiti.i.l .n-icidcl nx~~, d':t'r.nc a predeterniinez3 def:ail[ shape, such as a he.misplxere or Gl:hpsoid, provided by the coiiiputer- graphics svstenx, or alternatid.e1y a shape as provided by the opa.rator. In anv case.

thG shape will define an initial normal N-'ector 4ic1d NO, y} and .Ir<:ig.ht ti.eld 3-I{x'. y), dGf=ining a normal vector aiid .heiR ht va.1it4 for uac;h pixel in the image. At=:tu:r the comf?ut.er graphics system 00 has tli,pl ra eci initial nxocl'.l the operator can select one of a lalurcilita of operating mocl'.s, including a shading iiiode in c..orxnection a.vith the inventiorx, ~,5 well as one of a plurality of ~ cc.~~ll~~iÃ~tioÃ~~il computer gr~~phics r~~~~c$cs.. ariclI as ~r~.stI~~ ~uid tiiÃ~iii~iiig (step 252). It'the operator solocts the shalin~ irio +~~ . tit~ ~~i rat~~r ~.3~ il.l update the sf~~:dir~t~, ~:~t'ff~t~; t~3~o-+.~li ~~:nsio~:aal Ir~i~a: h~:
n1cans o.#s tor example, the sysCen1's pen and digitizing tablet (step 25;l.
While Chc opern.tor is applying shading to tha. irnkge in :sta.p'2253. tlie conipaerxraphie~~
sy;;Ã:eni 200 cz3ii display the s1-tacfii-tg to the Qpuator. "f~ic, shading tltzil is applicd by the c.~pera:tc.~r uill pctf-e;r4Yl>ly bt a representation of the shading of the finished object as it would appear illuini .mod f=~orn the far4det.enniaxeci illnni ination directio:n, axd, as prr~fectecf oaxtc? (hu coziipuÃ:er graphics s4-st:Gm 200.
When the operator taati tiprlu:tecl the shading t~cYr a 1,i\.el ira stcl~ 253, tlw, Gurtxpu:tcr graphics svsturn 200 will ga.nurate an update to the rnoda.l of the object. In geraa.e~atirag tlio updated 111odel., the computer c.~rraphies syst4m 200 will first cicteraxliaxe., for ca-clx pixel i:n the i~na'F4_ an updai4ci normal vector, a, d+;;cribed ah<ave in c-o:nnecti<an witli FIGS. 7wicl 8, tlicz-eby to provide wi updated aon-nal vector field for the: o~jec:t (step 254)_ 'I=hUr4atl:Ur, the contpr#ter graphiGa s'vstC:u1 20() will det<niiliii rfiir each jaixGl i.n. the :ijt <to uai. upd ati d hGi.o glyt vu.lcic, as di;ser.ibGd above :in co:nlicction 4y'iffil:~.I6S. ~=;~ anci 10_ tlxe-:reb1' t.c> prc>vid~. an u}adatec1,h4i'Flxt field for the object (step 2 5 5 ).
Al'ti:r gencB:atiyl~ tlzi; updated rioriii;al vi;ctor iicld ~u1d upÃltttcd lzi;ight ficld., ther~.by to p:rovidG, an updated iziodel of'=the object t11e coi7rtl.~iater 4,~rap.hies syscei7- 200, display an i_171a-g<:
o:Ã'the updated iaiocls; l to the opern.tor Ã'rony one os- iaiore clirections and zoony s as selected by the operator (stop 2256). i:n the process rotating, translating and scaling andlor zooining tlie im:~ge as seIGa4cl by ÃIre operator (step 257). If tlia. operator determines that the trpcÃat:Gif iiio(1Gl is satisfactory (step 25,~'). NN'hiclI Ã~111i QcIC-11r if, f~.~f CA~n-nple, the updated riic.~tlcl c.ormspc.~~nds t~.~ I-iis or l~or ie ts.~l Ir~iage ot'f1io, object to be riloclelid, hu or slio c;.~
enable the computer graphics systorn ~[3fi tr~ :save the updated mod4.t as the final rnoel;; l of the ohject (step 259). On the other h a1ir1_ if the olvrator ~1Gtern~i~~es in step 257 that the updated riiodel is not saÃ:isfac:tc~ry. Ire or slic ewi enable the couiput.er grapltiGa systc:ut 200 to return to stcl~ 251.
Ra.ttflrrlitlg to step 252, if'the operator in that step selects ~iothur o,aa:ratin{.~ inod~, stflch as the crasure rnc>cic or a. c:oaxrientioria.l c>pcr.i:ticana( :mode, such as the trimming rnc>cic, the co:n:~putcr g.r3phic-'s yysterga X.V-ill sey~ieirce to yÃep"60 to updztt4 the niorfel based can ilic e:ras.-,urc: i.n:foz-nxatiori, or thU tri.irirnurw azxd othu c:o:uvczxtaona1 c:o:uiput.er graphac iriCorrÃmfiora provided to the coznputer graphics systeni 200 by tlie opGratcir. 'I"IiG eoniputer gnal.~h.acs syste~~~
Nvill. sequence tci stel, 257 to display att inzag~. ot='tlrc ola>ect based ou. the nladaterl jtiodel ti'=th<:
operator detcn'nMes that tlio updai4cl iiiod41 is salisfact.c>:ry (step 108). he or dhc can enable t1Ac.
ccarnprit4:r graphics systean '2100 to save the ripcla:tcci model as the final mcatlel of thG cahl':ct (step 259).
On the othGr hanEl, if [he operator determines in step 257 that the tip(Iat:Gd rnodGl ls not satistactory.., lxe or she c:ui caxal:rlc=

~ tlrc= computer gI'aphlca SiSterii 200 to rc.twi1 to step 251 The vpirator c:an uriahlo, the t.oinputur graphics sy:te n 200 to pirtbrin steps 251, 253S

tihrmx;Yh 257 nnd 260 as the operator updates the shadiÃ~g of tihs; in1~ge of the okiect (step 253)7 or provid4s other computer Vaphic, ini'orniat:ion, (stcp 260), atiil the eonnpuÃ:er graphics svsteiii 20(I
xvill ~,~ccieratc, in sttps '?'54 and 255, the updated iiQCi-nal vr;.ctoc' field and upci4Yttd heigl-t fielcl. or, in stop 260, cvrlva. :ti.onaf c:vmpn.ter;,.~raphic cornpone ts. thereby to dofinc ttaa: ttpdatocl ~~~~dol of thc object. ~~'he:n the caper.i:tor dct4:rnxia=acs :in stcp2l'58 that thc.
upclatccl rnc>clcl corresponds to lxis or her fzlenU irna;,x~:~ o:f'Ã:he ol~ject, or is otherwise he or :ahe c:.ati Gnk3.hle ihe computer gra.phiGti systcnt 200 to st.ore thU updatcd raorina.l vec:tor field and the updated 1-aelght tic1d to define tlio firaal ~~~~dol for the object (sta:p 25 9), TIxc invention provides a. axu:nlh4:rot advaaxtatxc.s. l:n par#:Ãc:id.rr, it provides an interactive ccrrtipu[c:r g.raphics.y4ti:m Whic.h allow; wi <alaera[or, stjcl:i as cu:i a:rtist, to inia.s*ine tJ:ic desired shupe o~f.' ara ohi+:ct u:rtd ho-w the shading (rrt ihe objeGt rri ight appear e.vii:h the objUGt beiag, illirniinatcd f.roni. a panicular. illramination direction and as viewxd from.
a parCicular. ~-:ic.Nv1ng directio:n (as d4h#A4c1 h1. the locationx of tlxc. inxai ge lal:inu). After ilxc. operator has provided scanic shachng:irtput corTcspEandi.ng to the desired shap':, thc cc3rnpritc.r grap.hks 4yste;rn cliylal~~,s a rncatlLl of thc. ol~jc;s:.t, ti:s updated basccl oii tlzi; shtulitYg, to tlzi;
~.~1.7Qrtitor. 'l he upcr~~.t~.~r can accept tlri:= znvclcl as thc final illj<:a, or altc~nat:ivclN.c:an trpdate tlzc 4m'ther,1=rom which thc computer gra, lahics ;,ysteial will fl.#rther ulat.$ntc the niolel of the oh~js; ct.
The conipi.#ter grn:phics sz;sCeni constrtrctedin accordance wit1i tlie invention avoids thc necessits~ of solvin~ partial ditl'crcntinl cqun:i-ions, tie liich is required in prior artsN.'stema wliicli operatc: in accor(iatieG with the shape-fi'~.~u1-s1-lac1iÃ-ig me>thc.~tlQlc.~gy.
A 1'rflrthur :~~~ anta{w of the itaventivn is that it ruadik facilitates tlae tisa: of a lai.or'arclaic;.~l rep.rt:sentation for the.n1odc.l of (he olZject tlint is generated. J13ud.if..
for eNnr.n}alc~ tlxc. operator ezi.rbles the computer graphics s4=st:Gm 200 te) iaicren.se the sealG of the oi~jcct or zoom in cyti (hc oht+:et: tltcri;hv tt) provitlc a higher reyoIution_ it will be appreciated ihat: a plurality ot'1~ixels of the ima{Fo will display ;.~ pcifticir-t ot'tho, innage ~~htch at tlaa, 1.owor rusol :tion, were associated wi:tla a sÃ:ngle pixel. .In that case, if t1Ac operator updates tlxc. shading ofthe.un.i~,=e at il:iu 1Aig1=acr redo(utic~n~
the computer Prnlahics "S sicm ~vill gencnate the nor.nial vector and hc.igliÃ
valtie fo:r 4ach pixel ztt the highUr resolutit?a tt?r which the yha.clizx;; iti tspdztt4=d ~~.~
d4=scn'bucl above, thereby to g'cni;ratc 15 and/or t#l.~datc the portion o4'tlic inodcl associated watli th.e npdat<.d shading at the ijrtw,r<.assed rosolution. '11e updated lioi-tioii ti4 tlzi; miidol at the higher resolution will be associated with thc particular portion of the rnodel Nvhic:_h was 1~ivvic>tas.1y defined at: il:iu lower resolution, tberub1' to provitle tlic h:iLnarLhiLal representation, which inay be sto.rGd. Thtas, the ol~je;c[ as ElGfi-necl by the model inher-its a level of cletail NN-hich corresponds to a higher resolittiorx in tbc. UnclGrly-it1;; :j.tirfae-e ~ mprcactYtation. CorrcspQiidiiig c.~pcraborns can b~. pcrfQn-ne:cl it'tl-ic operator enables thc cc.~~iiipo:flti r graphics :ysteal 20(3 to decrease the scale of tlio okleet or zootii oist lrosri the ol:~juct, thereby p:rxavidM,g a lower resolaxtioii.
It w-ill be al-3prec.iated iliat k3 nui:zlber of Variation~ wid modifications may be made to tlie computer graphics systoTil 200 as described above in connection wiÃh 1~-='lGS.
_5- 11, For exzulYpit.
the cosripmer graphics :ystesn 20(3 c;.~ retaH:a the object model irifvrni?.tion. th.it is, t.hi norr-tlal vector tiel(l Ãnfonn"Itioll aaxd h4i'Flxt field ialfornxlatioax, fc>:r a- iiii-nibe.r of ij.lxlates of the s.hadin _g as provicled bv tlie ol,erator, vdhicli at: Ã;tfiat is., svstein 200f may use in displaying moclels of th4~
obii;ct: for thc mypect:ive updates. This caa allm~ thc operator to s~iew hÃla<vi;s of t11e respcctiVe:
models to, forox;:~snpl.o. a. abli;.llirn or her to see t1-t~ ~Nol :tlon of the vlajectthrorfli1t tlio respectiNi irpclates. Ia1.iddÃtion_ tlxas c.~~i allov.- illu operator to return toa model froiii a prior updai4 as th~:~
bws,c v+hich is to bc upciated. This ~~>ill allow the opcrator, f<a.r cxanrplc, to generate a txec of ob#ccts based ozx clalkreat sharlias~s at particular zrtoclels.
1.n aticlitioii althoa_g.h the co-i7rtl.~tatei- graphics s4'steitrt 1.0 .has been di;serib<.d as i7rtd<ing use of 13e7i4:r-1-3umst.ein inte.rlaolaticiii to determine il:iu tipdatecl height :t=i~.1d Ir(z will bc appreciated that other -fonras of int:e;rpo.latio.n, st7e.h as Taylor polynomials atici t'3-sp.lin'.s, may be asvd. lyl:addition, multiple (~~rms of aur(:Ice Bepri:sintativns; flnw-ty bi:~
Usi:~<t With tlri:~ itivcflitik.lfll.
Indeed, since the ~~iodel generation methodology ascd by the coniputer graphics s4'stei7rt 200 is of gencral appliua:balits- . all trec-toni) surfaue represcirta:Cions as zN-ell as piccewis'O li~icarsurfaces Consisting ot, tor cxamP107 triangg1cs, qaxadrilatcra1~ andri-ar pc ntagosis can be tiseci.
1~urtha.rnio.re.. although ilia. computer;wraphics sy-stei:z1 '100 ha,s bGea~l cie-scribeci as ma1cingy tis~: of'ati orthogonal prqji:cfi~.~n wici a siiigle lirVtYt sc.~urce, it v+ill bc ~~~pri:ciatec.~ that the> c.~t1-ter tbrms of vrojection. i :cl .d:ir-tg perspective projectior-t, and intiltiple light sotGrcis cati l~~ uscd.
In addition, althc?ttQlx th~. c:~~~pute:r graphics ex7st.~~n 200 has 1_s4eit el"c:r:ibed as providing shape of azi oijiGa bY shadingy o:i'anii:z1.gcG of the oijjemit will be appreciated that it ma~' also provide: cd~inpr#tUr graphics op4 r:ations_ sa:flGh as trtru:ania~g wicl Umtiure_ through app.rt~~nia.ti;
Qperatioraal ioclos of t'1-to pen 204 ar-td cÃigiwing tablet.
luctlxermo:re.. a.lthc>tag, jA tlx~. computer graphics sN~'stean has been described as 'F4a1cratÃa1g .i.
inor141 of an cabj4ct on tlic assumption that the cabj4e~t's suri:ace is I_.anabL=rtian, it ~v:ill be appreciatetl that other surface treatrueratti may be: used for the object -,vhen wi of.'tl-ae ollject 15 is ren.dG,rod.

l:t bo aplar.eci.atc.cl that a systcni. iil accordance with the inventiojrt can be constructed in whole or in P.rrt tro:m special purpcasehardNvarc or a gcilc.ra( purpose computer svdtcan. or aaxv conibiriaticiax [h'.reoÃ=, aixy: portion of which maa: be controlled by a sui[ahle prog.ram. Atxv progr:un lnay in whole or in part compr-ise, part of or 11e stored on the systemin a coriventional ~ #lY~r#lr~~.~, clr it r~l;~ i11 whole c.~~r iil part be provicled i#1 to the svatc#11 over a ~ictvkorl; tlrothc.r illechanis3 -n tbr t~~arlsfeÃ=rine, isifvi-inativil irl a. ccinvorlvorlal manner. 1:31 addition, it will bc ~l~lal=c.ciated that thc svstc.m may be operated and/or othmz ise cosltrolled by mear1s ot ilitornlation prob ideA 1?4- an operator using operator hiprt elements (not shown) which ma~, be connected c.~ircOly to the system ot- t-vhich rilav transf-~r tl-c. intori-naÃiort tc.~
the svsÃeril c.~ve;r a #rctsvc.~c-li or ot.htr mechanism for tran.sfiorri#rg itlftmnatio#-# in ;.~ co#lvisitio#1.a1 rll.arl#-#cr.
I11. lrzll~~c1~G~1~G~lts to t1:iG S-)3S Iil.Odeler 3.1 I ntrodu ciarsn The al_lovo-cÃesciii.xod sv sturns atl:d techniques have u~idergosie sit;rlifit:wlt +.-la:v41.yprlicrlt.
Sc.ct:iori 32 sets fortl:i a short summary of tlxc. SBS shadia-agand shapia-agprocc.sd. ScctÃc>a-as 3. 3) through 3.7 <lesc;r.ibc specific eatmi4i<azls wlcl other izlaprovclnmià to the SBS shading aiid shaping process.
3,2 'i'lre SBS Shading and Slla.ping, Process FIG. 12 shows a. flcaev dia ;r.ian illustrating tlxc. SBS shading and shaping cycle ' )00.
Step 301: i-lie;rarcliic.al subdivision surfaces, polygon anGshLs and Nol:t-l;axi-ftlrin Rational 1'3~Splirlc (NURBS) aur(:aces; arc supported as i~~put surfaces to S1zapc~byrShadin~ (S1:-3S). Thc nitGrnal algcl.rit-hni.s of SBS rtse properties o1 surfaces, so each of t1io latccr tb.zo types is co#ivertc.d to a ;,uhdivision ;silrta.cc hefo.re shading 1>e~~i:ns.

to :r 2:Q model view, irrcl ucli-i ; izl l'~~r1~1~3tic~1~ about grid corners, grid width wlci Iic ixhi, pixel sizG
zuICI ciXi11S:-1'a to L)b1eCt tlctllSf~.~rt3'liYtl~.lt3.
Steps *03-305: Using tlio 2L? 3ilociel e'ii",, t.lli rssir sets a 1#ghtlllg direction, tur1a.S isipat paramtc.rs, a1ir1 shades.. i_e, anorli.t.ics tlxc. intensities of sc..t4ctc.d llixc.ts, or loads a set of prc-shad4~d pixels. 'lii:a informalion is passed to t1:iG shaping al:;clritl:im 3W

SX4.pS ?0~~~309: ~~i ~11~3~?#.i#r 2l~~;~Tl~lli71 i~#t~~ C~i ti #31?131Gy thG i C~t~%Ct ~i=t?#i74~r1C .I~t~rE~tiC131~
tci make to the sarGacu. Nlore surface ,arimitiv-es are added N3-llirc siÃ;eded via smbrl$visian irl tlaa:.
area of the shadia-ag:in order t.c> ensure th.i:t strffic.ic.a-at detail is present (step :307}. Aheight #c.ld is fou~id ihai :refleas, m :+f3 tlic changes thai were recluesterl :in [h4 2f3 setti.tig (step 308), atlcl the stihdiviyic?tl yrff113ci; is then altered so that it reflects rllcyc h0i01ts (sti;p, 309).

.

The result is a shaped hac;rarf;,hacal subdivision surface that can be altered htrÃliGr (steps 302" 1t'19). saved (step 3.10), or converted to i11c desired output surtac.a;
type.
3.3 Surface fiiimdli~~ Improvements The SBS ss'stenis and tc.ch.txiques describ4<(l in Section if., abovc., are de:siL:tled for ~ p roci.aainrM NURBS st#rfaces. "llic presently de>acribed ay stems ~ancl techniques extend SBS to accept any hi~ r~rclai:c~l sui.xdi-vi.sion surface, polygon rai.i;.sk orNURBS
sttrf.acc. =i'lae incoming n1esli is conVerted to a hic.rarchical subdivision saxa-faceit it is not n.lready one, and #;lie result:hi4?~
subdivi:aiaii :aurfaceis tfre oa~ie on wlxic::h t1:ie SBS :ahakli-i;; azi(l :ahapin;; c;4-cle is perf:orn-zGd.
Aciziptivc subdivision is kisecl toadci. c.~lctziii to the sn:c lac:c; and analysis and aynÃhc.sis are used to propagate char:tgc.s to all luv'cls of t.hi :nrf;.~ci, allowing f:ir modification.s ;.~1: specifia:d fevvls of detail. 'i'hc 1-l.icr.irc:h:ic.il Subdivision Surta.c:a; {iiS.[3S} l:ibrn,rv~
of aiictliod irna'F4sk }a:rovÃ(1es all subdivision :support zieGded. Features of the (-f.SDS library z3re set forili in, patent;s owned by tfre mvricrof t1zi; p.rU~-,czxt: p~3ti;a.it ~tf)plication. Thcstibditi Isi~~~~
stir1'acei-aiotlcl t.hat ri;stiltti f:rr~iiii:hcS1<-3S

t1ex.ibi(itv in choosing inco:nii:ng <md outgoing mesh N-laus anci t.al:ed advantage of Nera:rclxica.l 4ubdivisican properties in crfgor.ith:n~s.
3A Additional Shaping Algrsrithrn =I7=ac surface of int<.rcst, which is assumed to be continuous, is ~.~~~~Jectcd ortl~ogi-aphically onto the A rc:wiax;T lalanu. This }a.rqjecti n ha:d an Tssociateci lxc.ight tielcl, whose i:ntenditÃc:s <Ire dLÃer.mi.txid bt- one ligh-t scatirci vi~i[!x a Lcirtxbertian reflectance maf) so that the dascreÃc inÃen'si[y I
:at thc; pviiit (u, v) in Ãhe model Yir;w (.if ti given surface N.Oi:h height fii:~ld I1 ia Ãl~.fiy1~.<l by:

~F ~~ (3, ~~ 1 ~
11~L>~
wherc N%tr is a discretc raorzrtal to the surface wicl ( is a unit vector that points :in the direction of the liiw.lit::aource. which is i-xi-iril tGly far .:~vvav.
"ni: :inti:n;iti4.s of si:icctcd pixels ou tlt~. prk>#cct4:d surf-ac c -arc changed by mewls of ~ s sh.acÃing or loading a pre-definucl set ot'pisols. '17io SBS shaping al;gorit.llm fin.ds ash;.~pe detc.rrn:inud by the sbadirl& One doltition iix4tlxod i:nvolves Wzier"
1::3ernstc.in laolync~rmals. A ne4y, techtriqnei'or ia~itc.rpra:tin:; 2D shading hi the-moda.l view as 3!7 :ahape oii t1i4~ surface is Row implczrreent.cd an SBS ulcl Is dUscribcd i.ai the rcznairtcler of tlzzs sceti0n, The t"hniqu<: d4:sct-ibctl h4rcin produces a sLt oi'b<:ight mer4.nn4.ri:ts r' over tliL anc)(10 view tfic'It iilfifinfizcs the fib1fow13.1g;

~
f(~')'n w- 1 JVu:~~)'A[2 + ACa~.t.~;~~~?~~ ~
(se p}4 iN,hm C_ il c$i:nows th~. cu.rwEtUr~. Ot'~a stIffi-Ec.C WiÃh associated height fielciH, A is a constant callcc.~
the smoothi~ig cvufficiunt atld tfae surn is peÃ=fo~~~io+.1 over p~\el.s in tlio nnoclol viow tl~at intersect theinteÃ=ior of thc prqectec~ ~urfn:cc.
Let P Ex ttie set of pixels in t1-iG model view whose inten-sitia.s hati-c been modified. 'liis se:t is called the et of Ã-iiQCiif ied 7ai xi 1s. ià is possible, through ascrie s of sim7alifications, to re clmc the p$xe1s over whit.h. Function 3.02 is suinmecà to ~~bh~lm n ~. {:~~.U,71 }
In addition, ihe set of taeight iacrerzx4:nt:~ F cu.a be reduced to a Vec.tc?ra= corata.ining onc cutry for 1(} each pixel or conriecti~d area ~vhcasG corresponding .heigh[s vaInG nxav he altered by the mzlgon'Ãhm.
.Fhc siz~, o#'1" rnat<hcs tlrzil of thc, IrcirMht field of tlic pro~je>ctcdaisrfacc. "Ilic vcct~.~rx red~sce>a tlic sizc hawci mu the aia.fliiitxr of unique aora-zUro h~igtat incr4:rtxents ira F. a potc:utia1(y much srna11cr set, Function 3,02 can thGrt be rLdticeci to the anxconstraiaxed minimization of Az) ~11~~~~(q4 + A~'N. qi (3).0 a:) q~14 11aa: reciist.od farlctiort is less c~~~~putnoraaliy i tens$ve to minimiz:a:, botli ha:cau.so $t is oiilv necesdarv to sirm over ~~iei'Flxhc>chood of t1A4 aiic?ditieci pixels indtea.ci of all pixels in tti~:~
inocit.l view zuid EaecaLiai; t1-It: c.~liiiYetiaion of Ãl-ic ininiilYizati~.~ii prc.~hlt,~i-i is retÃticsc.~l forin t:ii~. sizi~ of (-.
to the 1':n4st.h o~Ã a:.
77ie Ã~icÃhQCi u.se:ci to iiYiniiYrizi: Fu.iictioÃ-i 3.03 is the Trtist-Regioi-i iiYetlrc.~d. First, t1Ye ffinction is iziotie1ed by the r{uu.dr:~tÃe hancti.on + , (*.04) whGrc Vf is tlzo gr11diGnt voetor offat7d V.t is the .H<.ss:iat7 iiiu.t:rix o4 %. the nzodGl F'is Iiiinii7iizcd. W the r:.4;ion ; x ;'A, for soma A > 0. ThÃ. ~~iethoci used tc,-) dcg the IiiilrÃniizatioi7 is the C(3~Sterahaug rii4~thod witki atipi;cial sparse mat.rix rnu.ltipiicu:tit?a. A test value is btiilt. from the r<'Sultia~~ Inini[trtUan point.r, im1C1 is +
it'p is close to 1, thuri F is consflda:ri;.cÃa g,)ocl m.mM tbr i'withira the trust region, "Ilio 21 5 center of tlx~. tnist cc;gion is.moveci tc~ ~, and the tn:ma region radius is Ã:nc>feaseci_ If/> is t.i.rmvai, from :1, then the m. z3iais of the [rtist region is decreased. The process is repeate;d i.e., a nxinirntirn 4bi- f~~ i.~~ th<. n~;~~- trust r~.gioai. isf~-~t~nd. "1'h< e~ ~t~.~'i~~~~ to ~toi? the process is ~4 ~ t'1;~ is suffiCi.i;ntly s111.a1l at t!'-o w<.rzt<.r of the wummt Crr.rst regiiin Ã.o., a.1~ical.
mrrximtirm of f-lxass l;?eGart u.ttairxed, !:C cu.n.
bu lxroverx that this rnethc>ci conx erges.
3.5 The SBS C+--t-API
A atxtxlications programmi.rx:; ir:xtR:r.f:rce (:lPT) has be%rx (iGvelExgxr~:d recently for SBS.
~ It Nvcxi l:a above the rixerital m:xttir*~. llEarxiy and requires tY~i~t,rc r~tcatYrrf~rtt~~,tY~<~ ~t lirikiirg tirxrc. "llxe xllcxlta.l ixiattr;r:' litxran: is irai.tla.liz.a:d uICI terrnimated iriturrra.ll~; witlaia the SBS lihra.r-v.
'17xere are tihrce nxaiii SBS classes:
irra:Sb,s ,sr.sr~,iz.lev mi:5h.s d?r"l v<Ãarv rrtl:'4'hs sr>Iver=
Access <xr.1d c:_ruation methods for these .i.ru provided by rrai Sbs moc.1,de.
l.nrtializati<xzr of 11-11"W)S mt}c:lade is ir:xxplicit arxil i:a dorxe w1xerr firA ac;c.es:rizrg, the c1a:=s. An insta.rr,sue oCmr'Sbs rlimWe is ri;trax-nec1 by ity static rxxUtlxotlAcrr. Thc ies-rrumare :ut;;.ttaod raruat.lxe called when urfl.oacÃing the library. SBS rrsus ~~jects from the rrriC. F'r/~i (.-t .alab.ar-rrt cWss of th.i;.
l5 n1enia( sxiatt4:r libr<xxy.. xvhic:h ar4 4~'ra.}ap+.ci i:nto a rrr.i<S,s .eur jee 01~lect via, the cr ec~te .sur firce inet.lrod. A txluain x.Y.r-iicr maa, proi icle tlxi SBS API x-yiil:i ann irx-stcnic i: <a:i'mr('cq)Ã cr' sarbsart ,'Or=
asitlr ~~ t~ti~~llut~:cl rn~ylx irx tlxi ft?rrtx ex1'.~ r~~~~;c c~1;rx:~:, Araotktcr possibility is aut to txrovicle a surface, i~x t~'ltielx e~~s~ C11~. Irlara~~ ~r~:~t~s ~ Z.a~~~<r ht~l~irx4~ ur~ ~~xxlxtc stirl~dr~i.~it~~ s~~~~~.~ Ot11er mGtlxods in the mi. bs mmiule class i:nclrrcic creai xtie srer=mxd et_t'o/xter=.
'?Ã,l The rrr.,"Sb:a -- sr.r~ fcrce c:l.rss is t,rsLEI iax c.rlls to ,rr~iSh+--=t'olver= to ace.L," Ãh. rr: SBS slxapi-ng :al~;t~rii:hrix wur<l iri m.rS;?s rrgl viem: for distalay mxcl Hxtcx-a.ci:im, rrriS'rs srrr,~~lve irtxtalemcixtai:iorxs in5tanti:stGd usi#1g tlzi <lczrtc ~F~+1r~<L rxxeth.oti of m#:S'!a.s rrzcOu% - u.n.d. are destroyed Zvith t11c destr=os- inet.hotl. Othcr niet.hotls in the t~t~>4r7,~ ,~r~r tfrcc cla..ssinclut$e gLet sr.rhsr.rr-t get depth and convert (-,vhiclr converts mesh rntiiees to and trorxi srxrf indices), C1Ylrer related classes are ~D prcxb id4d to stxeeil up intGgr:atiorx. For ius-txrct.. t?raSbsk:fot irresh lxiiles t:l"iG t4cluxic:rl (iGtails <x:i, r=_,Qnvutiir~ 3ds rmaxi?' meshes t~.~ airel from t:lxe mr.4h,...xm.1bc=e c.-'k?jccÃ, ilaa. rrrz<Shs f<~! xi~d ~s class mn.y hu ir:ecà to clislxlay ;.~rx i .star:rci ~f rr~r.4,~s srf,rtirc:~ .
l1a#'Sb,s --<a~? v/e ts' inxlxlerali r3#~t.iorxs ~tr4 InsCanti~.i4~$ ~~sing the ralethc?cl ot irri5b,s irroa:t~afie wxci are dG:aÃ:rovGil widi ttxe &ystrc>v i:zx4thcxil.
ThG maSbs iFg/ vaew errtity does tioÃ:
30 fixÃ3.#rxta.tr#i ar1v reference to a ~;rl'irx }'F1TS3s iu~Itice 3l34t:rrxS::e. It only carries data related to #t4 3i?i:sh relxr~sentation (possibly s,imlxl'afieti)7 and auxiliar-y graphic data srxelr as t31xenC'sl:,-, contexts and triwng.le str'ija lxutters. Nfethod5 of the mzSfas x>xLtr w,.lass, irrtwltrdo ,N c't tien/rxp., attd tqc;wc;r as ~..
~vcll as a:ret c3t= mutlxotÃs,r.round the 2T3 pnxjeut:iorx cxt=: nxt;sh vertic:u:r arxcl ta.c:es. 'These ine:lude h('# fC.tC'(' t'i9 f,1F.t"e/ oCt W.Ys 1'i9 jt1c~".hC# ~?#:t" ~t~t_~:['l9 ~{['t .~~t! C~Ã:9l[7i7cC }~T'f)!77 1='l~:_ fTC'f r'i1GC' L'f3(Csl' st't fiace t=c>Ior, rà as l t~xc s c d;/rars, sc}t /atLC}I btr,li}s atiCl cry?1 j>jaerY btil~C r. :1it additional helpe~- classr rr}tS<.~ ~z xtr~:t's; vte7.vport. is provided to lae hooked uja on an e\istijxg wiaxdcxtiv. ft Ixrc~~~ides basic retresh and nxesd<xge huncilÃ:ng capalbi.liti4d.
A Ãf4i.rci ch:v", called wrSbs-solvc}r.. is ex13cased:iri. the APl: to frer#Earm SBS olxeraÃ7cx.ns. lt is implemented as a static, stateless instance and is accessed via the i,f'l ;5f.3/ti?e1'' f7flethoti of .. .
1911 ~1t~ s 1i'1C,C#F.f.tÃ'. Its 3.I3i thE.~s 3I3CIE3C~G gf F Ld'L'~'C11,t,Y1 SÃ'F{rPlgS, idLd'~f1C+~t:i1'c' (t13L I11~"t13.1 al~?"(?t'1t11Ti1 that determines 3D shape fro x 'L) shading), and cFrw<.~~e/, 3.6 A Protot-vpe: SBS Plugin for 3ds max Sl3S has kxe;ea~i implemented reccnt14- as amodifiGr for 3d:=, naax""ftui:zx Autodtsl:''Icliscv;ect'. 'f'hc llYod.ifie;r allous an a.mst to f.~erforn1 SBS
rnocitlitYg bv shading iri'M
evith a sirixlxli kxrttsh directle: ol:a the 3ds max , ia.wpvrts, All tlxo Iiwlctiolla.liN, of tlaa: SBS inocloling lihrarv is avai1ablc evithilx tlx~. phsgin. R.G. .13 shovvs a sc:rc,4alshot 3550 of th4 S:13;S Modifier iax sds, i:zxati.
'f'hU plugin .teatures ilxclucie:
Shadil:lg tool witlx a Nasic 2O paint package mid the ahilitN to load and save shadings;
I, i gl:it c iazrtrol s:
1='arameter tu.riBx<v;
Update of ~urfaco shape fxasod o:it shading irzlbmiatltxl1, liglxt direction anci in}aist 1?'Iraxxeters:
Undo/redo that is iax[eraxal to the rnEac3ifiGr:
Tool ~or sifeci.ing thi area, to be uladtx:tc<l (mw-tslurig): wui<l Selection tcxol. with standard sialxtiivisaolx snrh, c<: nx<-mif.~ialation.s.
3.7 Exterisi0ns to SBS
i[ is coritemlalateEf that thG abod erdesc.r-ihed sy4te;rxxs uxitl techniques may be enf4axiceci in a.
ixnlilher of ways. For cxzrlixple, these syste17Ys and tcclxixicltflcs rnaN
be modified to include t1i~.
Mo.h-B;.~sed SBS: "Il-1o abilitv to run the SBS lxrvca.ss ori polygon ixiishes, without f-irst co:nvertiaxtY, to and/or using properties of snbchvis:ioax surfae:;; ~.
Ra.al-Time kle:ah Display: TIxe ability to tfistxla4- lar;;xe~ complex iixeslres z3t 4ui Inta.rautive natc. {}t1x41 n~exclit~G~3tiex~a~ u~~~~ i.uelu.~~ ~ii ~~~l~lx~ tacl4rxt ~.~ta~~xlif:~c~3tic~a~ ~3~acl ei~yt~~rzx a~xi ~l~
Qperatiol:as.
Trialxaxliax ;: Theability to irÃnx ~~r(xita<x~l~ .i.cacxds snrt~~~ ~ t~~ ~ ~.
Creasing: The abilits- to crewse arhitrzirils- across star('ace f:tces, Shape ftont Contou.r Lazxi;s: Thc ability tt) skctcl;a contour lirws to produce: :ux inAi:a1. 3D
shapG, as a tool tc-s eoanlxlete the SBS modeling f.~i-ocess.

;\1rlftB4-B;~s<:dSHS: 'f'heabilit\, tortiiith.e 4B41arc,)w,<:ss on Niln-'UiiÃf(,)riiiRItit~nal Ff-Spl.u1e (:"~URBS).

IV. ~h:r: i~~t= f41~.tlxc~~3s ~n~3 :~l xE~~itl~a~x~ imple nie nted in the SBS
Modeler ~ 4<1, liatroducÃ:i0n "l'he goal of the Shmpe-By-Sl:aadi~~~ (SBS} process is to interpret uvo-dirnerasional ('?D) shadimz as a th:rec-tlimensional (31)) shape, '11iorc are described hcrei:n a iiiinlber of techniques and s~~btcms f:or ac:.complishinx thi& It is a.SsumGd, for ilia. purposes o:f'Ã:he prcaa.nt (1G ;c.ripÃ:ion, that zi grayscale sh4Yd:ir~r7 h4Ys been clQric, ~i-t the l.~rcjccfion of a sn.r(~ace crntc.~ a vie;,~kitYg p1ane, that the uracÃerlying surfaci;. is continrflcius, wICI tl:aat tlaa: {.gayscale i ten.sitii;.s of the prq1ect:id surface can he cicsc:r.ib4d by a mathematical sch4a1x4. T..et J:t' clenc>tu the licight valued in c.imera spaec assc.~~<iatcd Nvith the pailof a sni[~aci; visible in thi; 4~iczvinrM window, let. 1,r d4rrc~t~ t1iG ~~~t:G~~sit~ c~f the surface given hslxtiax4Y c:cantlition t, and 1'.t the cn.rvat.nre; of the surface. The S13S
slxacling a.1g ritlxsn tnes to find iric.n:axleaxts ]:'to be added to the huight. ~>alije.s 11 that..minun:ize the t ~s f'c~llo~3 i~~~ f~trrctiv~l;

~ .... ~ = r (4,01) _ Nvherc .l :is a PEasrtit~e; constant called the smoothing Lcae;fficie;axt and the i.nteg.rat:ic3ax is lac;rfomxeci ovi;r the area of the prcJoetGr.l snrÃ~ic< in the Oewong wii1dow. '11o ide :~1. r~.sult is :~ new set of cu.a'lacG, h<:ights wflth. sm.oothÃla;sc determined by ~~x.-hosG, intGltsi.tios m mch those cgl: tlia: 5]iadiag.
'1'he 2D shading resaxlts, in a 3D modifica:tioM
Thc SBS procG:as, mu-st be dotie in z3ii e-fficient way and one that doa.s a~ioÃ: dis(Ltrt) tlie cc.~~nfinnitv of'the: undsrlying surface. In order to move [-rQr~i a Ãheoretical settirig to a c0111prltat~oraal oni it is raa.cess;.~rx. to discretize, N-Jilch is discussed iil the raa.x:t sot.t.ioll.
4.2 Rastea=ization In order to find a solution :~~>:r SBS, the larc~(~(c~~~ .m~.~:st lr;~
aci~:~rli~.<~:i41~~ cl;~ss~.r.i1~4c1.i.nd rayter:iaerl for discrete calculatiort.
41.1 Model View The vieevmg windc>w is rasterized Ts a ruc:trmgul.rr grid of pixels, M, that h.i:ve rnteger-valut;d coordinates (un v) and cc3rruspondiag camera space coonlirxates This rastcrizationis called [lxe:,moElGl A tie>ighborl-tc.~~~.~d c.~~f'rastcr pixc.l {ri:;> v ,.B E. .~V is dcfii-icd to bc all pixels $rr, ~v3 : .,-Wsu<h that rc;, --- rc 1 and ~~, - v Is nichicling thc pixel itself The iic.ighhothooc:l of a set of fai\els A.
is dl.$1S3t4d by ;nbhd(A). A p3?L4l is di::.fln%:.d to l."Fi: C?;n the boLllld's$3r-y; of st;tA if the pixel is a Il1%:.I11bet-of A f?itt ou.e or anor.c of its nc.ighla~rs- is not i.n.A. 'T'he f?oundam: of A. :is dGnot<:d r)A, . '.l-lic Ãntcrior of'.=t is defined to bo A- A '. f-)A. -,vhcro tf~~ svaribol :' denowy set subtra.e:t.ion. Pixels JM the interior of th4.moda.l view have a neighborhood containin;;x 9 pixe1-s.
4,2.2 Projeetinti of the Sur("ace '11aa: SBS ~fLrorithm assurnos ord-aograpiai:c pro#octiclr-t of the smi fa.ce O k) the e:iievi.ng lal.ia:iu. Sdenot4s the set cafpi:sc.ts in the rncaclel s .ievv that iaxtersec t th~. p.naj4ct.ed sirc.t'ace. The 1:iGight field of tlic. :am-face.. da.nowd by Il; is defined otier the pixels in S4uicl c::ontairis tlie hci;;hts o~f.'tfae smrfaee in C:amera Spaee. 11 (zr, v) as ttae f1o:atirmept?int 1zi;i<vht. of the pmt t?t'tkte stirf:i-tcc visible Lit: pixel (Ft. v) ~a the :nlodeJ vl.eNi'..
4.2.3 )<'irst Derivatlve.s It is a.5 un:w<f that rastei= lmnts:in the modcl vicw ar; pa.c;c:d sc) that tlic verÃ:ic al miti<f 11oy.-Izt?rital clistmic.es bi;tw-cera ttaonl are i;climl_ i.e._ that the rzxodUl view pixels arc square a.~id are of 11111foritl size. HoZaever, it slzcnfd lae noted that :it would also be jao5s:ib1<. for. the pi.csGntly described dysterns and techniques to heirnp.lemu:ntud Nvith respect to i-ionr drlnarc pixcls.
Nonrsqu,:m pixels can be t7sctl, toa- examf3lL, :irt a nicsh-hmzscEf inxl~le ane ~~t::~Ã:iciax of ~BS. 1_~i that ca.w.. pr-ojectccl larianitivG vertices e~~:n he nwd Ã:cs ciefi ne the pixels.

Le>t c Ic the tl~.~~ating-pc.~~int vkic.~lth Oicight)> m om1cra sp=c., bct,,keen iii;ighboriiig raatcr poisrts. '11aa: discrete firs't derivative in tlio u-diroctior-t of a surface with. hoight: Iie-ldHis Wased osi a ~1~n~l~le s.lolse te~~~n~a~l~. across two lai~:cl-, tlaatstmddle the f?oi:nt of intUrest ind is defined to he ~r , > a. (u ...,j s<~
ff , l . . t ....~~
~
D [ 1-1 tu.,t.5"1 - (4.02) 2f., Sinlilaaly. thc dtscac.te first derivative in the v-direction is defined to L~e H(u v -~.- 1) - H (cf:, ~ e 1) (4,0 3~
4.2,4 Stt rfaee Normal A discrete normal to a surf.i.cc 4vith height field 11 is deflnc.d to hc >~'t~ it~., t } ..< 1. >

which is the cross pr~iduct of iho sttr#'a.u tangent veCtoas , 1, {]~ I?, 3-}'(z.r, v) > 3ttC1 :
4.2.:? Lit thtitxo Conditions iimti Intensity In SBS it is zissttit~~-ted thaà tlii~ lightiflm, c vilditioii is Lambutian avith utic: light soitrce..
~ NoiNiver, it Nvottlci also h~. posalEalc tc.~ itac aiY~.~tlwr ligl-itiÃ-ig iiiodel and/or to itsc ilYaltiple liglitiÃig scatirces. The hght sottrce; is dGscril=:rez3by arirut t-e;ctc3r t that poims.irt the direction of the ligh-t.
The discrGtc intctlsitv 1of a vivGn surFacc with hca;;ht field 11 an(1 ligltt voeto:r a' is defined by ~~~~ t~ t') = . (.." (4.05) This :i"caa-mula proz3ucc4 scalar valrtes hciwcen 0.0 (hhac;:lti) aiid l.tt (Nvhit:c), ,anci iiiiplies that arca.y of tlxc stnfa.ci that fice Ã:ov~~mtrd the; light sEatirc-e are lighter thari those parts that tace 4,16 -SeeÃrnd i3et<~iwatives The t1isLtc,te ,':co.nd derivatives of asurfiaci vvi[lx hLiL41ht. field Hare based on tasin4s the 'siftel'fi~itiv~: f~.~I'i111:1lr1s .~~'~'it ~--~g2'=}.....~.~~~t:.~:}~
t:=
CW.Id (4.052) for the discrete firsÃ: z3Gr~vatives isi tlxc u- cwd v.. tlirections, ae-ype;ctivGly. The discruG second derrvative in tl-ic ti-c.'hrection is c.'lot~~~ed to be D'~ .11 D (D 1 11 .....
.........................................................................~.....
................ (4,06) .Hf ir. + I, t j 1 i~~ - 2.Ht u, v) Similar.lt-.

R ( ,r:aõ v -1- .~. H; ___ 1' 2 H (zt, -v) (4.tl;,) R>

:uxd + ~(-u i f?.__. ~~ + -?.H (u. V) ,__ J (u, (4.08) H + I + R~'ar.. 1) . H~~.rf (4.081) ~..

4.2.7 Curvature ~ The rl.iscri;to w,urvaWte of a surface with h.cight fiel~~ H is defined to be the jrtonlt<:gativ<:
scalar < .~J;'H ('a,v, D~~1~'t~,'t ~~'~ ?H t tr~ > (4.09) ;M.11za,v;~~ ~ MJTi.vt,v+1'~ + ~~i.:>.~~~t~='~;Z~~

4.2.8 Oisct=eie Ftinction to Be Nk3initnixed A diss;.gctized vc;rsion of l''tiy1etik.~~i 4.01 ca:ri bi made by usfli1g t1zi; detinitivns of cliscwlc intensÃtv aai.d. w,unatttte. Since those 1'=omn.alas depend oii lt<.ig.hboring pixc.l ~-alu<.s, only pixc.ls that aa=e botli isi theintet'ior of the niode1 view:~ndiii the inte;rioa= of thc. Proje;cted surface will be c-on4it1e red as hei.ng contained in the area of rnÃc rist, Tlxi El~sc a':[~
~':~s:ic3ax t~l 1 taa~eÃ:ic3ax ~.Ã? 1.is tli:fi3.1a:.d to be ~'~~~.~ (~~:, v) + .t~iE:' t t t,rÃ., f '}

Nvhc.ru A Ãs a laosrtave c.c?n-,tant called tlxc. sancac?th:u1'F coefficient aiici 11 id a set ofhe.ic.~rht. Ãncfc.alxc.alts tbat is t.ie:tined on the projcctctl surface S. J'hc cositlition .l'(r.r, t=) = 0.0 for (u. v) E-E S E' .J O;l.t}
is lni1~~sod in ardea'to a~-oi.d artifacts oii the staa'facG, at the boundany o1'=it~ Pro#c:etaojrt oilto the model view or at the edge, of the rnc>clcl 4.3 Reduction of the Ftitxci:ion to Be Minimized -~O
In this section it ia shvNYn t11at Fuflictivi1 4 ,10 iieed otYlv inv~.-~lvc: a atiTii over pixels ill a.
nc.iOzbor.h~~~~d of tlt~se pixc.ls whose intensities Nvc.re modified by C11c u5ci= rather that all pixels in.
r~prescnti~ig the prol~~socl huigllt incresnesits in a snore compact "'aN.
4.3.1. Modified .F"ixel-, Let p .,,. fN:>P:E x pi?a 1 l, -whe1'e :' ;tf: # i <.= M for eat:.b ? , (4.10 ~
~

bc tli~. sct o#'taixi:ls in tlie:liloc.~el view Nvhc.~s~, Mtcnsitics tli~.
user I-izt.s i-i~odi#icc.~. P is called t:li~. act of 'smiictifieti l.~ixels'- ajid it is assumed that p c-_ ~ (4.1021) sia~iec nei:;liboring information is tiGedGd to c.~lc~~l~3tc itit4tisiÃ~ .
~ 4.3.2 ViesvC~de 'I='hU view Gode aids ia the: dcti~Ulc?pnxent o1'redu.ction ira e.ulc:ulat:io.a. It categorizes pixels by I?rojaosed lwi4,~1it it7eri;mi;nt. 'IliG notions of path u.ai.d. connected si;t u.i-c needed tc-s build it. A
path tfo:m pme-1 (v< . v',,) to pixel 4ar . v) i:a (iGfia~ied to be my sequence of pixels 04.0 , 't::t.~ ' . (2.t 1 't':l. ~ , ... * (uj , 'vj) (4,103) stac>h that (at:., f;~) E r1blid~~O.i .~,Vi....for I < ~. < j. (=1,10=1) Set A is a couraectec1 coznpvricat of.' set B i# A ==- 13 arrtl fbr each (zr;~
v ). (r.r _ a) A there is a 1m:th trc>ni (a.x;;, u".) to (axi, V;) cornpl4te(y contained iaxA. The vieev code assu~nes that the h4i'Flxt increnlms T.' are constasit on conjicctecl components of :4"; P. 1n orc:ler toavoid saxaface artifficts, it is assta~~~ed tltat this constant is {]() i.f the connected co-ittponGjrtt ittten-'ects OS' ;_; ~kt'f I_.et. T 1-..,1 ..; l bc al?ari-it:ion of ,4 i.I-}4titch that T., is the ti.-iiciii cyf aJl connected coxzxpt?rieezx~s tll:at intersect i6 E.j Ak:1 arid T> for 0 : i rr., is a cormectUc1 eoznporient t11ztt is II"lil.3.r1'ilal in tlli= sense that dla.Xt% #s, no cC33'Y17.a.cted C:-C?iTr}:1C317.a.#:it of SiP t.l'lat properly contains it.

Therl tixe set F of inca-':ments has at most In -;- n auxicl~ic rioa-x:erEa valt,tes, one for each of tixc ~(? Inodi ti.es.~ pixels atarl otac t'or= each 5uch that i -.l .

Thi 'vii:w code" is c$i:.timcd tc.~ bc E T-, Pi, t.: P (4.11) to, + E Ti.

Tltl"; mearis_ for i11tit:a~ice, that if 0 v;:~ rrr daea it is la:nm~a that (r ,. v() is a rtxodIfiecl pixel.
,wlso.. if l{r~ ., b'c.) = I tlx~.n pi:s4l f' V,,) tik~ill axot bc. altered as a result oftheM shadmg infi~~~iation. '17ifls is ;.~l:v t~~se o{'pisols f=or ~ 13 E~:i~ 310 yi~~Nv cvcÃe is ;.~ssig ecÃ, i.e., pixels not vll the prQjection of the surface onto the niodel vielk~.

>0 4.3.3 FuricÃioia ['ixels and a First Reduction in Calcalation Movincr t1A41xeigtats of a scetic3ii of the sn:rt=aec by a c:oaxstmnt. amount cicacs:ncat c.ta i.ncru the inteasi ty or e.airvatt,lr'~. of the interior of that sLe.tican, Sirwe the pixels i.n each t'r are moved iay a constant atii~.-~nnt and :1" is a raaB-titi~.~n of S " 1', ihc:tY tlie~ only raossiblc pixels at w11ic11 .H +T( t~.~~~ ~~~~t}.~'3 aru cosit.titlidin. 3ibl)ci(P); t ~ , Lot Q n ~ in e~~herz q; denotus a pixel Q is called the set of .:fisi-actio pia ils,.' aiid Fanctio:n 4.10 can ncativ be r4ci~~ced to ~ ~'~ ~~.~.Ãi~t. a~tx E~~ji+ :~~''tx-#-t'(~~i)l K (4.13) i:::_0 lt}
wliGrc K: whacla. is tlzi; sttizi of (4.i~
ovt; i, tll.C si;t (4 1.~2) 1 ~ is a cca:ns[an[.
4<3,4 liicrenicitt Vector and aSecOnd ti<eduetion in Calculation Sztace there -are at n~o-'t m 4- n n..n:iquo nc?arzcro height increments i#1 1: _ tlae fimactiozY to be .minimir':d.nGLd only be; a fin:iLtyca.n of those iriL.rGrnGrit4, as itleiiÃ:itied by tlxc vieme code. I-:eÃ:

.:i' ~-~ < X(); ~Xj . ..,, .>i:g-tz+rt. --- j >

2 t? iN.buro x, is the itacrumur-tt value of l' tbr all pj\ul.s such that t'(n, v) x is called tlio _.isicra:nna.n:t vectc.~~r." F~.~r '.I.....~, (4.141) let t,,'t'~ H (t.t;'t ) ? t ~~5 Furactitan 4.10 u-Ln tlaUn be reduced tea a anin:ita~~za.tion of >l.

f(X) ua i'-') (t'f v) + ~.'t#5 V) ~
(4,16) 4.3.5 OtIjee_.tiete Fiine.tinn Functions 4.1 3 an.d. 4.1 6 eaI] be combined to ft].171i. tl].G ft]llt]w'Oi<~
ftnrtw,tiol] NrOuelt ~,N.bcn.
yninimized is eqtiivalent to the inimmi7ation of Ftanetion 4.M

{ r l} (~.:P.~ ~R.t.;~ ~~~'f. ~ 4- f~ l _'4 y#'h: 4~~1~f~ (4.17) 2A--d 2=~~~ ll l d 'flzi; n1i11imlzatioI] can ]-aoav. also b4~ unconstrMnec1. Function 4.17 is the final version o:t'tE~c discl=i:te f:anctior-t to be. rt]irlinli-r,b:.d by the sl].a.jai.ng algol=itl].m. it is called tf]c " objcctiyc tumetion"
.ia1d is of diniension in ~ rr.
4.4 The Trust-Region 4ewtoia-C.'CY :k3etiaocÃ
4.4.:1 Overview SBS ilacs tkl~, TlLiSt-RCgi~.~n NON-ton-W IiYetfY~.~c$ Ãc.~ tYriniliYizc tlic Qi3ie:ctive #'ancÃiol-l (1~'unwtit]n 4.17). The ni:]in. icleasaf'Trtiist-RegÃan m,:thoÃ~sam to sot lip filnction, to mimmiz:s; the niodel ti.niction dy. itliin a "trust re-gion:" to adjlxst the trlxst regioli ac:.e-oi=diug to cenain uita.ria. to minimize th4= moda.l fLn~ietion wiilxin the new tmst rq;ion, to k3djtist ti3c t"io3E?I] tE? ]t]I13i#]f]2a. iYga3I]. G$C. G1vti_=i] L:GI'Ul]n t"i;SEI70tI03.13., StICl3 a ]ne$1]F?Cl Is r7LtaIiYnEa:.cd tc] convurgo, to a pvir-lt co:sl3ondir-lg to a lvca.l minimum of t1-1o, ol=igi t].al. tilrictivl], '17ie-T~rt.ist-Region niode;1 of the okjecCive~ttlnction centers; d aC an inerenicnt vector 1) '},:() ,,.< x~~. x'~ y <..e x3F~.'~"'~?,"~.~. (4,171) is Fo(:t") - f(XQ) + ~''~~(<+t]) Ar"it' + Fi}' ~ ~' ''f(x''')<t (4.18) wher<: Vf is tl]:G g1adlent Vector.

f;zf?1 ~~z]f (xx} ~kk.s~t ... fX-(,) ,, (1=19) 04 a:r]d. V' f=is d]G Hessian n-lat:I-i-,~, 3~ ~ (X~"
) r, ti~z ~ j ~~:~ ,. , .t; < ___ __=~ ,~t.' #
' ~ ~ ~ia#
t f] 2 : ;+ } # ~ 1: ~ y E ..+:a . t: ~ 5 i '2 z r : :;i V, f t;r 4 (4.20) t~~-rr.i~f #" # 57 õF #..~= . .?3't' __,.:~!;Y , , . , ~f ~ ~ ' ., ,?r:.

'l'hc ".Newton" in th<: '.1-'rust-Region N<.wton-C'O n.nme oiijtiGs t'rom tlzo fict that the Hessiatt anat:rix is used iax tlxe.mode.l. Scaiix~. other, usually pc~sah:e detiaxit4_ mairix n1ai, be used inste.id.. Ã:n 4~lxiclx cciseNe.-,~:[oiiisclropp':tl Ã.rorn tlxe.n,nmG. In the case of SBS, use of the Hessian matrixis coll ten.ie:nt antl all~~a.~s for weakened convergence coa-iditYoms to be txsecl.
~ ff Vt'(1.') is Snffiw,ientl.N% 5n Jl i.~. r less thnn Sonrte couveag<:nce threshold, then it is concluded that a local miruzrxum off oc:curs at.v'' aacl tfie pr~~ccss is tiaished. Otherwise, the rtx~~dUl. i~>;> is rninianind i.u ac:irGular trust r:~~Yion J; :s- : A: -t~orsorne positive A,>. via iEie f:'C~ Sma.ilia~~~ ~~-tettiod, described ba.low. Let pc.1?e tlie resulting inc:.remGZit vector at wtiieti a r-tlir-tiinttili of t.hi model in thi trttst region cle-eurs. If i..T(x '-t-P) is less tIl;.~ll the com--ergellce thmyholtl_ tliUn it is concluded tlzat a local zrtininxu.:ui, ot',focc:u.ns', at x" -fand tlic process iti 4ittishetl.. Oth<:nvisi;_ calculate the test vilue f (C,) - ff +pki ; ------- ---; ----=- (4,21) ~' f#',c),, Pass<.s n thr~.sh.olti, theiz the actual reduction and predicted reduction are somev.:hat close tci c.~tie> anothcr xid tlic cwtiter of the trtisà r~,gion is mC.~~ i:cl to :L '::
rY Othcrivisc. thc cclitcr of the trust reaon st;lvs a:t .a- ; =X'~ . close to 1, the n I= is considered a good model forf within fh~. trust :re ;ic~~i aaxcl, theniditas is incre:ised. If p,, is ta:t-a.e.~~aN~~ froax1 1 (hu:n the radius of the trttst .re ;imisdec,n.a.decl.

tfit is not cl~~e enoi-gh, t1-tctl thc p~~ce5s Is kopi.n repeatetl .titil p is itiidi:r the cc.~mergpncc t.hresh~.~lcl. A local nlinfll-ntlilY Of r is f-4uncl ~aà x2 -_-p2 ..Oetails a~out h~.~Nv t~.~
calcuiln:tc the mociel (i:n particular h~Av t0finti 1' V.>~" ancl X.>>") as'c 6ven in Seut:ioii 5, calculations r-toiclocl f=vt- the C'.G-Stoil-tarig ~~iethod are given in Section 6. and a discttssio . a.botflt the co:n vf;1'MT en L' e, of is discussed in Section 7.
4.4.2 Psetado Code l;.fG. 14 ;;hows, 3 t,settdo code li:aÃ:i~~.;w Of tlia. described ta.ch.nique.
4.5 CenipuÃation of Ãhe'I'rust-Region ,Nlotlel 'T'he goal of this section is to hiiiict tools that will aid in the calculation of Ftiiiction 4.18, thG cJxaad.a=aticnxoclel used taa= thG Tnust-Region mahod.. laa ~~~ticul~r..
re~iel~tals nr~ used te~ ti:-~rl f~.~rn1uI~as f~)rf (:i). VY"(A) zuiti ti' f(z) .> ~

4,5.1 Usiit;[tesicitials Ão Obtain the FtiBictioti, its Gradient aii(i its Hessiala Recall that Q = nb1id (P) 1 M = q and defta1c the residu.r1s of Function 4.19 to he rt:~idwfl typw zitic}ak ti~ 'Ã: r t r~ . IH :~il tat> f ..., VfSDj ~1r#qj 1 f'r!.'. 2 third ~
four:.i} VX D .t F~, (q:

for 0 = / t, De#irtc the residua1 vectc~r of Func:t:ion 4.18 tc.) bc the conc:atUraatic?a of all retiiduals of the :i-ar:=t, s4=co-ici, tluxd z3iid fourth kia~ids, as I:ollows:

r~(x) .--E.. -ro (;t'), r I # a';#. Nt ..1W >

NoNv tl-ic iY~.~~~~i-i squ~arcci of tiie rCsidu<1I vcct:Qr ia tarc.~kciY
cimvnin t~~i-fiis of ii-iÃe>iisits and cumature>
,,, .... ~ zi ~, ., . = .
~zzf ... , ,... Sf ~ 2 ,f{' f(f =~ "'i" ~ F1.2~1'Y~S SC.ti ~~~F'ilr>SS.:f.'{ f~,v ~
~fFl.t-f'Y ~~ ~Rf''f;=v}
.__. fff ...... ~ .
n {4 ~? ?
~
. ,,;.

F .. .;.
AlYf~x .... 2f l..:r 'Th 1i5.

? (4.24) 1-n taet_ tlac, residual.s were c:hr?sen m that the above equation B, true.
Fomm.tas, for tla~. fY~-a.rliejlt and Hessian offcm :rlso be derived fi=om t1i4= residual-s. Let (r ) (42 5) T'Iiea~i >4 .'~..... , 1 rfStz i3T ; t);i'> . .

.
,,.. < A

t~ #4r #'~ = t ... ,~ 2 Y 2 ... <-x::.t3 ... ~ ~ ,....r c~ c~ t t3 :
~3i..
(4.27) ,~.

A stiii ilzv de>rMation lcacls to di~, t~.-~IloNvMg f-c.~rilYula for t1Ye f-1essiiaÃl:

f:t:.l ~#x xr,:w:t:~ + .r'itix.l~ (428) vvberu V r; is il:iu r4siclim1 gradacaxt rectc?r, as lar4viousl1~ defined, wicl r; is the .resicltÃal 114ssi.~~I
(4.29) ~ ~.. -z~ -'~ >3 ::+

Simple formul.as will lae der'Woti lael.o~~-~ ftir each of Y
7~:, (rty ~~ (4.291) and Ox Or.. '~-'oEk~i') (4.292) ~;;

by hrea'l.itlg down the residual fioemulas and tlioti ts.~lurag, cle~~lyativos. 'i'laa, i-ii;.iv~ cocÃe is rflsid to lt} sirn}alÃfy the calculations. The rusultÃ:ng tc>:#niulas s.hc>ev that these t4vo V.111#ud nindt be 0 except on flri Wrn tt) Iand and V f(x) .The nel ~~suIt is aa e:isy way tt) calGulate the Tmst-Rerviou modi;l fL#rietÃoai (Function 418.).

>5 4.5.2 Residuals of the First Kind The 1=orax1a1a fo.r Ã:nt4:nsity can hc tised to write residuals of tlx~. first kiaxd as ~,~~_(y~a> E p'= y.} t +z 2 f x) :.. }{ ~,~}~:Z+.,i ~fpK~ = "" .1 ~.{ i~i.E: F ~~...?t~~

for 0 :: i< Using thc r.7nc.~ticrit n#li; to t~~ partizi.l derivatives it fi)iloAN,-S tNat ~" ;i ~ txt yt? ~ t i.c ;'. i yf~ f l'~t'.+ i. ro }
..-~-------] .~ :~ r ... ---- ----- -~- ------- ----- - ---- -,---- ------~'~'=? 1 ) f~i* N#:i, ajrtd 14<10 tti~
s z~: z F
__ N
(4.32) .__. ,.....................................'~~~,~3.e'x ~.it~i.+,~' .......................................

Key parts of For1aiu1~~ (4.31 ) anti (4.32) can be hral:en rl:own into More Mnna4?~eable pn.rTs. -The cll.r#.n rrile Cat1 b4 rts4=cl oz1 tlre dGfin3t#on of !':$fqt~;3 '0 tC3 f3C7Ãc33l3 . ~.#~)}~~r:i~i ... ~
. ~'~q (~~F) ;'~ .4-,,3 (. ~ . ~ F ~,r'I + ! f I F',2, ~'"r ~? 2 ~ . f. f ' ~ . ~-, ~ ~
a t ~z~
:uxd ta.l;i:u,g the partiz~ clc~ ivat:ivi; of N~:iy (4.331) la-.tds to Ãf.~f.} ~g ~)I i~~.+ f~ a~;r(4.:~1}
UTi ~orinuhas {4, 3 UI} arid (43 4} can l;?~. broken down even fmtItor by 4imtding 4ormula5 for the partial (q;) and T3, 1I,(q). Rec:all th.i:t derivatives of .
~'t(~~. t=1 i'(~tt'~ X, V (4.341) wh,~iv, t%.is the view codc. The clutinitio:n of the discaet~. first derivative ia=a the a.x-dirc;etic3al gived D~ S
,~ 3~~t. (f{z:) ' t; (~~. #'!k wh4=rc 6; is t1A4 raster point { l.. ta}. tik~.h:ic:h aiieaiis ~}; ~4 f = .3 ~,t' a t (4.36) >Ãi Si.ani.l~rl~ _ (4.7) ;r;+

ti,vbere 6, is tlzi; ~~:~ster point {0, 1} Tho view code g'wes 1 }z v') iJ c Ttimv ffi.i:t tlx~. fo.raluflas tca:r the fi.r5t .i.nd second p.i.rtial deris atives tor .n;siduals of the first :~.i~Ad Iiave ba.cii broken dowzi as mucli as ~x)ssiblc.. it: is Ã:iiiie to tiSe tlic atoiiiic pieces to calcuilate back up the cha:in. Substitute Formula (4-.38) into I''omiula_s (4.3,6) :uxd (4_3,7) to eri.lculatc {43,81}
and > ~
,x,r r~= (4.s;4:) 'Il-tcti substitute these isito Fi?Ã=nittltias (4331),mCI (4.34) to Mutlate ~
57l ftj=:3(4.;~80") wtd u~ (q_) ~~. (4.384) Ustly, su~.~st:iÃutc the rcsulta ititc.~ FQii-ntilas (43 l; anc.~ {4. 3?) to czt.lc.u.lat.~.

tf Ii~A~) n:rid 1'z(xi (4.386) as desired. Note. in pafticular that.
0 if j ,3J1d J~. ,. ~~;) 1 (4.4ti) .... 0 if jot k ~ :fli '~l' ~~~.~ VlqY 61~ ~ (qa l >.), :Ã
~} ~.,i c3, ~~k 4.5,3 Residtrals of tEte Sec0nd, 'i'hird oiad FOtirth Kisids 'I"===Ix~. second rudidita(s are ;i ) + 61) + (441) tf?r 0 =:: g~; twl].i cll gives >7 t {
'~) =fp: \~'{ 1 y S23 ~' r~F .':?#.> + x3 ~ ~.2 ). 4,~F.42) r.~~ ;

l;sc Fo:rataula (4._3 8) for c~lculation of the above w l l3ote th-at 0 :if 3 V fl (qj +<5 ), V( q,.
and '#h>
(X) 0 f6r ~:dl j aracI k (4.44) Tl:ic, third z-e;;iduals are.

~--c~
~ ~'~ a ?s (X) ~ ~.~t x#: + xv:~f 2xj'~t (4.45) for 0 < i =: t~,vllicll gives t t # (:F:v {q, .t~,,r + x v 9~~....~3: (4.46) ~<z ; Oxj t~-,,,G ForriiuXa (438) for calculation of tlie z3bove and note diat 0 if j V(fj.j~~(qj 17(fp') (447) and f , r,<c ~ -- 0 for t~1t j ;~.t'~Ãi ~: (4.4K) '1'h<: fourth residuals ar.~.

F 7 ~i ~#~,. ~tj t ~ :7 t-ia># ~ ll; (,tt i? 5, ) 2 T3~,Y (q' ) ~} t +xt :
,,,. ,F
f' !~1 k:.'59) fi..

fi33" 0 wt~[ ri.

Jx. -,('q, H a; ( ~,~zj ~- t~r < , ,~,r. + t~ a i + (4 . ~~~ 1) -~(}
which gives >~

), t. ~,.
772.i (4.5{)) l-l'se, Fo.rnxij.la (4.03 (S) tc>r ealcu.lat.im of il:iu a.hcaa-e and notc that . ~ : .t , . .. .
al..; (4.51) V"q; . AO~ l: "q: - 6a # b rl~

~ czYd TT?
y 0 for xIll and k (4.52) O;t',.' Note [lia[ f"or:i-arst, secc3.nEl., [lxi:rcl and f6atrÃh risiciuals, i.L., for 0 : i < 41.
.
0 if j (1'(qj.)<t ':qj (rpi {4.-539 +t~ ~'E<31 .r ~~z'~, '"- 60, v ((Ix+ c3"A V'(qz wtd r4 (x) 0 1f Ã)1 }z t: ~~ ;i~g; C?t Virji t)~ V'N}; XT{ V(j{z (4.54) t~:i". rC #.~'t,~
4.6 Misiiiaiizatioit of tEte trrtist- ltegion Model: 'I"fae CG-SteiE~~~ig Metlioe[
4. 6. l. Over=viÃ~-tv At Gach step in t1:iG Trust-Region Newton-t'(z ziaetfiod, SBS ttses iha. CG-Steihaug m4thocl tt) find a znizxirtxum of the model ft ictioai .ira the trust re<vion.
*b;oiiugate grad:ient anetfaody tn: to solvc a li~icar sv-stem Ax -b, zvlii;rc A is aaymn1ctnc matrix. The pi ohlcÃ-ii can 13~. rc-BQiI-nulatcd as f:oll:ows;

Ax b Z""A.r O,",,; } :__ :r"'.Ax #

which pistti tlli; problem in ti;ranti of'miaimizing taW. Rce,all d-w, Trust-Ri;gimi zriodel .tt, f~irt'at step i i.=1s >~' F a~r# f (:t'"+ Vf i'') ~ LoV-V <,i3.t'- (4, 5 5 1) )>A anci b casi bs; expressed in terlais of the Twst Region n1s; tihocl astollozx.s:

~(x) ".FY(f') f (x "), (4.5 6) A" ~?(4'7) and b V'f (x') (4.58) Note that A is, in fact_ symnictt'ic it7 t<.r1ns of the al?ove_ the ft~nctioai. to bi; mlnamÃzod by the U-ir Stcillaug ~nethcxl is (4.~~~) 6"c - :rr~ 7,f (r" ?)X ~ t~'f f xYirT':r W methods taso the notion of cojrtjugate gr.arlWnt (C:G) to bcsllti a wqcicai:ce ii4 vectoi-s that For a;,~ivinz, ?. s'et ofv-ectors D (4.591) Gallc;c~ coqj ugat.e (tlie T" in C'G) ~.Nith respect tcg a matrix A if ---() (4.592) 4oi- all k =-- 1, Giveai. sttcli a set t) at stCla io1'=th<. Tr1ast-.1:.euiojrt m.eth.od. Clefii1e a~~:qt~GjrtwG
0 'ancà fforj = 0 (4.60) ivhcrc ar is ozxi;~cli aric:aisional :ariiaurn:izer of aloiirx x + (4.601) The scrlrieisee i>'' coav;;m,w; to the desired minimtaalxl>' u1 at inost m -;-n steps (Nvherc, <is bot=brcs m -;- nis the climens:ic3ax ol'tlxe objcctit-e; fiiriLtyon}. Novi~ tlxe goals are hca-,vtca build the set T> md ht~~.N to find ca ;1'c-sr c-ach0.
Le>t V f (x ~I ----- _.b (4.602) In othGr. Nvo:rds_ choose Chc fimst direction in which to seardh for a minimnm Cii be t1:-o direction of ~,,." .
stuc l~4st descent. '~~~. i:is Is th~~ dir4~:~tic~~~ determined hy the 'Fra.c i4a~at (t ic. (a in t_ E). 'T. le wsidu.i.l of the ~ys-tem is defined a,, r*0 = Ax +b, andis used at each step to cletenminL tlxe.nGm, direction in which ti.l aeÃirc1z. SRIic.;tT' ::: 0, t1zcTi the rcsicltflal z3t step 0 Is r'" b and for j:~ di V,J -11 +b A,(j~ -4-(4.61. ) (A.~:i~,~ + bl) + ci.t::+, Adz ',r ~
~or i =' 0 dc.:tinc. as ~tz<~ $ Ã _ ~ i,:i ? t ~
:>3j _Fi~~",# (4.62) ~Ã~ .Ã.

wbet~~

(4_63)l :, ~ #. ..... 'r Rt+ ., 1. ~>~.. ,r Suc.h a c.lioice for A resti 1 i.s in a d" s ncli that (4631~
for ,t1.1 k =:. f- .l. tik~h:ic.h gu.i.mniees that t.hc set r) is ccanjugaie for cacli.i To c:alccglato the a1ualiaylizer cr find an ex1~ressican tiar along 6 p'~i -~-cx'" bv mnltÃl.al-via1g out Wra~~~ zuicl rearnazxgira;Y according tc) poe.veya of cX:

,\P + 1 (y3 + t:Y<a p .11 2 ?' .~ ~
#~' txr(4.64) ~ ,~~,~ , ~~ , ,: ~z =~. r,.;.~
;;p" K
,vherc K is co.nstwnt vvitlx respect to a. T~~xt, a z3erivativL is tauk, e;n -,vith a-e~ype;ct tci a~
A , t.Y.
:~~~' + 3~z ~i,:1 (4,65) bl d';

Set the above ytiantity eqttal to 0 to in(l the critic.il point.

.... ~ Ap~õ~
{~?y~. .. ~ (4.~D#~}) l.ti orz3cr to e;~ist#a-e. that the critical pcaiiit correspEands to a .mi.nirntam, the sGc:canti dGnivative is t~en to fiiic$ cotYe;=avity:

(4.67) It is not.known :i4 tlto above qta:~ntity i.s, positive. ca.sG

'' 0 (4.671) is handled later, at7s.~ C17e derivation contini#os assmjnijrtg thm Ãt{~ At11*:' > O,. (4.672) '1'he#'omu1a toa= cr; ~~~~ be z~-rii-:tcn in a better z~-ay Issin;Y thefiact that #'or each_Ã' > 0, ('"j)"d .,k 0 {4.67,3) for all k <,, a Eat:t that will noev be proe:od by iildtflctio#i. For j 1, <~r. sx ~'d -b"'b +
+ 1- ~ (4.t~8) ~~ #} ~~ t3 # _~ ry~# ~~x:, O
~ r ~~ ~ ~~
~ ~ .~- #.~'~ L~3 't'A'~,f f3 .
y2'~x:~,.. ~
tj Nmv assu~ne 0 (4.681) for k -: j --- .1- TEiGax ' ..Y
(4.Ãid ~) t ~ ~ t w t~ ~ # '' t V,,,r} . t Ã, ~~2: _ ~+T.

lor k <j - I ivlicrQ

( ~~A~ 7 ~':p.~,?... 1 ...., t? (4.691) by tli~: indxici:ion hypothesis aiid f t~:,''~':t _~'' ....; 0 (4.(i'~.~
by the cot~#ri~sacy of D. Now handle tbe k W t---- I casc:

Y~~t'>_2'~ ~ ~, ..2~ ,_.W. r"f~ >" JFf 'i' d5'.~.f....~ ~{fi= -? I
l l t ;~.. } 3 ~ #.fI r ~
.................................... (4,7f)) --- ~-3 T'Iius. foz- eac:.h f == O..

d~ r. .. 0 (4.7(31) f~.~r all k <, j. A ncw ex~.,icsaiotY for a can now ~.~e: ~.~imaAcd:

#df>,+...~. ~
{ s:i # ,} A ; Q Ã>,J) f (4-'t1) ,> YFA ~(V.; );f' ~#.Tic~rts:}

3 }=

.I"c.~~ aLi~~~~~iatizc, llic Cf:R-SWihatig Ã~icfliQd Ia tised at stcp i in tlic.I'rustrRcglon Ni;wt~.~naE;U inet.hocl tii liizd a point at NvItÃelt a mEMimujtt of the nrtodi;l :tu}rtw,i'ion oCctaas in tll.C tr.tist reUitIjrt. '111'r<:o sequenccs aa=e tÃseti to do this. are d'. s r direc-tion ~~ectom r is a seqt7ea-ice of residual;., anci caunvexgc:~ to the desired miiiia-tiuni p "Ilic conjugacy of X'; ~waraixtcca <Qna'eigerice in at most rrr -~- n sÃe:ras, 'Ihi starting cfttaailitii;a f-c.,r dic secfuenczs arc P 0, r:.; -V / (x) :::
1a, atYd X,: h. SuhsecIaxent esitÃ-ies in the sequeÃ~ces n.re givet~ by u ing the lielper fiornitÃlas ira>'}tr~,;r ~ ~ , .... (4,72) (d"JV :~~zJ
:uxd jj-', 1 (4.73) S
mLrid7.ri;
7-i144, : .... pt'j + N .74) r>i,34 +r~F .>A~Ã~'.~t ~4.7~~
wtd '''' 41 { ,.... i 144, + <3ij+ 3 d'.f Up to tfiiy poitit._ thU riiethod cleacribecl is a ytaradatd CG method. 'flzi;
yequcnce p'., is genenated mil t1ii; ivsicltitx~ll'uiitler so~~~o t~~r~.sl~~~lcl. T1i( '~t~ il~:aitg tag~iwit vl t~~~. CG iiii tliod t~tl;~.s irYto acccitiitit the cases of (rÃ'j>J) "Ad;'' 0, (4.761) xvhicl~ ~~~ou1d violatc thi~ mstiriYpi:i~.-~n Ãhaà thi~ calculatcd cc.~rrcslaoiYds t~.~ a miniflnt#m, a~id dic minimum of dic moclel lxin;;x f:outnci out.side thG area of inÃ:erast.: i.G...
the given tntst re;ion. To 11mic11e ttaeti,~; e:iscti, m-o e.s.tratitoppin,g ct-itera are ak1ded. l~~
(&'J)' 4&' < t~ (4762) or i:i, A.# (4.763) th ri tlie intc;rs4ction of tlic trust l?omidan z3iid dircctio-i d ' asa:=st;_,-ied k3s dic f:ink31 point p'.
If 1,;. ;. ..: f) tfYen ;lpiz'~ ~~ < ~lp# (4.764) for cac17,j > [?, jrtic.anijrtg thm retunrtir7g n Solution of intes-c:wtio-i7 witli tlio must rc:4~ion loutrclarv is the best that the seqlie.nce ca~i do if the hcaund7,ry is ~~achcd. The Trust-kclg.im me:tlxod then wscs ' s P' to cafculate the test value. Depending on the rmilts. citlier the solution is secn as good cnotigli or thc.T'mst-RGglon metltodgoes in:to4emtton. i + 1, wEtlI ttlG Cent~.r of thc.T'r.tiist-Wmon bu.um citlA4c the sanne as x' o.r aiioved to x' +# f'.
4.6.2 Pseudo Code In t1zQ pseudo Zoc.~iQ tiii-tt ft-Alows, the scytitQTice of pi.lii1ts I' i,,, di.n~.~wt.~i by ttYiri lat, the.
is ~i~:~~c.~t.~.c$ Ea{: t~irc~.tic.~~i. and tfrc se>cft#~~iic~~ c.~~f-'r~.si~i~flala r; r.is clcÃ~~.~t~:d h~~
~ se cftwnce of t~ir~~:tic~~~~ d rzSida.A. "a dot h" is isSicl to c1eiloto r'r'b.
4.6.:3 Sparse Matrix MuIfipliealion Byfirr ilic iiicrst exp4tisai 4 operai-iozi in eac:.h ita.aation of tlia. C'G-Steihaa:~;w methoci is the multiplicavon orA NN-itl- t1Ye ci:irectiQn vector. Recall the f-bi1c.~svinr7 lon-tiulzi forA in terms of residma.ls of the ols?joctie:o Eu.netion;

A V'f{x; >. ~fr, (.0t .~.t <r) V.ti (4.77) z;__.Z3 ~4t Azl.<r? i2(i~)~'~'2~')f; ri~:t~~(4.771) for eas;f1 i, I.:t;t- be the (.i sk) c1~~~nerxt raf.:l; and let c ' t:he vector of=: lt;ngtlx m + rr ;,a:tnfl that f.~. :.- .f if r r~~
=- ~ rzl e } ., 0 c~t:hf~rs?, i4Ã~~, {:4.77:~?}
St#ppG'sc t.hat.(I is 01-1c of'tlie> cor~jt~gat:c tiircct:ion wctc.~is bmlt h): tlic CC;aStcihang Ã-iictfrQCl at a fixed step of thu 'Irust-RiL,ion inetf~od. 'f:fli~i 41t--t l z tt"
E~ A
. =~i3 ' a; .. E E (4.78}
. ~}2 L.,;;..= ~ r3; j'..Y.~~ .
~ 1 r: ? 1 J ~~'pt ~' which I'eqil]E'i::* (Y~r =- n)' ITIult#j31#GatlC}]t*_ oi:#4= fE>E' each p:3:Ir (1. k). K?14'4yer, the Gali:=kslatiotl cef.n be 2 t? doi-aa: rilore effit:iintlb he.' using l;.cfnations R5*) mid R54).
'i'laa:so si-tovi that for uach j(~r:)>.~ is n{3917i.rt? only if ]:ilid k are, 1)t3tiA 1.n.

V fr~ t i{1 + $5 1, c~r~,~' f3 ~?, r~J.~ ~~.~~lX
'T-hus, tor each iand k (n.j,;,kdke_~ (a;);rx.tlk (? k (4.79}

which car71.~o coiiipcitc.d H7 0 (1) inaltijalÃeations. 'T'hc; Ovena1l order i.s, tl:-c.n reduced from (m ~ n)>
to (m 4.7 Cotxvergemce of the Trcist-Region '~ewt:on-CG Method The sislua:nc ~, x bu.ili:l..~ti~ zi Tnsst-Ri~irii~.~n znc:thvd amisfics I 17f:rtfl .... Ã1 (4.791) as I if the following GurtcliÃ.ionti ho1d:

= :a4. ~.<~df :si=cp > :aà O?fi :2'f?3.F v3cEÃiod. ;ti:34 l)~O3C'. 313~.3ta f:'ZI:{?3:F tF3 e{?33:~,Ãf3'~: .<fv:~~':E;~:

? 13~; ~ 't,T , < i?si (~2 ) 3;: ) (4,792) ;:Z3f' s ta,,e t:C 3 i :fazt t t ? 0, ='1\Ã?c. i. : 1>3? Ã3: Ãay Ozc: Fs ta.E3.:3z:<;t;it~~3 r3Ã ;s3: i3?z~?,::>f~i 4~i<.~
(4.793) 1- ~~?3c Fl:~~...;3t~lt~ Ãs~i a F y>3Ft.; ...3c' C:c!F3fi>3' ~?~ E~.~, ii~f;::
sc' )b[~33 3? .i> ' ;' ~
faf3LE,3c'~3 rAF E..t. aAF+:~.12e~.~ ~f~~ i.

R { ~: ehs3 F3if..>c.~ ..'~fi: Ã3e ÃiA~" t?3: 3.(:. t.f3f. ,:i?..it t:?3.4t:i?;:t=
~':> .. 1:L. . . . . .
(4,794) xf33 <t ?? 0i::~. ~i x) ; i .fct.

< E>.f (.~.7c~\) ...
l rc.?'3.,t..?'3tc '~. F, ?mitiF t.ÃEi3:F, (4.796) f ; A ~~ e;, 3C33' ifli ' :?.

3S U:3?~d{air S.:sr3ikFalfsl::At' f3:Ã~O2f'~.3Ai~izÃ.s?C' on L, L. fl'F{?3,?
{\)~3)uu3i tt> , :": ':ff.3i.F i.J:e'.'tf: for cFata f, ri E l.
(4.7t}7) ,zV f;:~~ V7ft . ;r;;

Each of the above 3;.iait7rts is ~.~~~o~-<:d 1;?elow..
4.7.1 Model Estitiiate, SBS a~ses the C'G-StGibaua rnitliEaci at each step r to find a poiiit P" (4.798) that corrswtiPo:alds to a zllizxutxu:art of the model f ; ia the trutit ri;bami. At step a C:auc(1k pozrtt (p' }' is da:l-iried to be f ~ .~Ã~~
t~.= (--#f (t:.~)I~:>f(a)f(r) E;Ã1 1- ià ~' _,,. I?t~F}.;~ ~, _~,; C3E=~3.~?~ 42,~~~} ~ ~
Px*~ .72f(:x=' V, f(X,) !t follows that:
H'Vf (PI H
1(0) - P' Ojli~-') 3 > ;I V., f I Tfl1nt,~,F (4.,'-2) I~r? ~ (P ; ,.
S
Thc CG-SÃ:eihat7g ame;Ãhod gives pr,t p~", ; t:qaP3 -_ (VfZt2j~~V f ----------------- --f4r'Ar~ (4.83) S lf ~-I V f 1,2 t f (~' V
kVf (;Pi~~f I~ V"fd { 1},y~Y~t,~~T~

Thus.

Ft(pi) p rk' + 1;. ~} #'3 (0) T:2p I r (p;; (4,84) -lÃ~ 4.7.2 Bound on Model 1'Iini-t-ntim p ', Asince fEar ant-.' if the p : r Lcampt7Ãez3bv the CG-SÃ:eihat7gal sori[li-m fial.ls outside of t.l1f; ~:3't#,4t. 3'e.i;1.t)n, tIA011 it is t'i?pl.iL;ed w.1tl3 3vi3C:t{3r 1ns.1di3 aJ.1C'1 the 3lcro3'lthlX7 1'ett#.mS #h,it v7.13:ii3.
4.7.3 Trtist Regitati Center Move Threshold Rantte Ura~~orcizxg a rwtge oii the dueti11c?lcl tc.) tzxovU tl-a4~ cUiitUr ol.'dae, Ãrtist rU~Yioti is a matter of 14-7, se>ttitYg it.prc~perly. In tti~. pseudo coclc, tl-ic inov~, Ã1ircs1-told is set t:Q 0.1 e 40., 4.7.4 Bound Below of f'om the Level Set Recall that ~~ ='~ ~ ~~ If~ ?cf:'~?~= ~~<'.~#. R841) Bv cÃef-I r-t i ti.vn CI-1z (q;.1 > 0 (4.842) for caull wid hz choice A > 0. 'T'hF; s'etore< ,{ (V) '> Ofor M1:a: E M" ::s and thus also fior x~ such ~ that(:a") '-,' /(IV "j ).

4.7.5 B0tsitd on the Level Set Lf:t.

~ 2~~
:~ X t.? ~,''~?,{i:
(4.85) CW.Id H(qj + (5.t) +RE fj3. - 6:t ,# - '~x H(Ãj,z ) h., ---- (=$.863 1(}

aahm c~,, (], (i). Dw=fitYQ h b)' h; A

H Qfr (iF 2< C E 4" H i41r ciF i4" Yz a,., 3t 'qt x; ,j M1.. 87) ~ {~
...<<~

A
~~iF vx~
u ..E3 ajid v by 1 5 h ( a (x ~ f t i r a11x, soi4 tltF re exÃsts a C, r- [? stach tItat a;~ T
Iarid t r- c~, impliCs Iaita} : tlxirt J~x 1 and t c:$ awulci imp:lt t (t.a ) : me,Irling thai: ;
(tE:) # $x' would Ãnzp14' x 1 and t < <: 4, J.e , ; x c:, as desired.

Foi- awi, 5c a1.ar s > 0 aai.d. 4o~- c ach.

>:t c) r~

W
i ~5. . (il:i Of'i AthEC~~ 'r>.a.t) + t?,; 6,x ? (4.99) . ;;.,~ . .

a7 r c - + ,i.
=f3 E:,_<t3 ${x)) where k, is cortisÃazrà Witti respect to ,s, vdiidi ampliG:a +
wliere k is constant Nvidi rc:spoet to a=. For axas scalay r> 0, let h,;$~~ h Qz j. '171eta t p.r, f~t. (t) }t:~ p.-J($
\
.~~#. C~zr.

JO~. . ..
('i.9lf) i., ~,ki ~<= ~- ~''t.=' <~ r <? #f~w ... ~b .
~3t Z:i + t <i) 2 3:'f..i:"
f (!: xI _2 h is a si1i71 of squalc:s_ so h O. (i3vf:l"i li7CM1T101t vector a':v, t7 (fx).::: Ã1 f31'1iv if Effl ,) D-~:.HÃ;~. (~,{x:) tl, (4l~ti:1 This wcatild i.ml~iv t.Y :is the r'::ro t-c;c[or bLcat7se increment vectors are required to be t.} on the bounclarv of the projected su.:t-:face. Any line of pixels thrm=h the prc?ii;cted surfficc azx the Z~O
n-darectit~n w,~-ould have to be 0 o-i7 the boundary u.izd. cocil~ ~iot vary ftom 0 sillcG, (4.902) Sinco x ; 1asid i> ils tlien ia a:(/) > 0, which i:n1plies ((k + x) > 0. (4,903) Let (4.904) 1f) atid ~'~ .... ~+rr (4.905) T'Iiea~i :i'ormy c=,; and x ~s = 1.

t V,t';t f k,,. V,~f~~~ F = i 2 ~! ~.. ~,~ y r=~~
fttk Vx~
, --------- --------- -- -- ------ .~ , Z ~i r ~,r" L r (4,91) tõ!Z Vi(r')3 i3 2f r,~3~ s s r t #.
K r ~ K
which implies lz~(f:t') > f~ (4,921) 4.7.6 B0tÃiid on Hessian ln diG Trust-Region NGwton-t'EF ma.tlrodtliere are twopossibilitiG:a imr;~'.
Eitlier x x iII case 1 (V? /"(A ~ or x x 4.p' , w1:wri: P'' is tl-ic poiut resulting f-:rolii the cG-4teihamt), tnotllod. 'ilac latt:ir case is only pinnitted if the tnvdil test v;.~lrse + p2 (4.92 1}
is greater than the thrc.shold to anov=e the center of the tnfst region. 'llae threshold is chosc:n i:n (0,' Sca if the c.a.zrta.r of the tmst region is riacavccà tha.n p. =- U.
Since the <'EF-Stc.i.haug m4tlac~d minizYaizi:- the rncacie( ia the trust rcgiE>n, t==lYCia 'x .. .~, ~ (4.~1W2) is gu.iranteed. NvhÃc:h iaii}alies that the d4:ncanainatcar ca-t=;), s axo:nalcgaiÃvc. If p; > d3, thcla ~~:t 3~~ ... f { t'z + ''~ ~). (4.9?s~) 'I"lins f X;.~ ' f:~ (4,924) t0 for a11 I"-~ 0. W.taic.la ixac:<uas that l.s itaclncJc:s :ill X'. 1:1:'thi:
claim is proved cata L. then it Nvil1 also be pi oved f-c.~i= ziJl x;, fanc.~l all of its parfi~iJ derivatives ai=c cc.~~aa6aau.0FLiS. On tlae: cornp~ac,t se:t O. c<41 (where f:-:: is the hottsad osa Lcaicislated ahove). ! and all. of its da:rii ativi;.s are homi.ducÃ. For i;.ad-a i ancl ;=- t3 and <- m --L- rF there exist constants k-;.; siach tllat ~' F ( = ,1 t ... 1 ~=i~e ~.Y.j(~t .92 .. 't?~
F
.

1 ~ for all :-v stac:_h th<a.t x (- [[?, c=;] , and thus .............................................................
.......................................
(4,93 ~
, 4.7.7 Lipschitz COnthatiOflxs D.ifff.r=Ã.nt~abil.ity of f I_.et k; be as i:n the prct-icat7s yGLÃ7ca.n, and lit E 3 ,: L.Fix i and 1Gt x, ... y T7 .... (4.93l ) -~~ t~~r. (~=.~~ ~?) and h<t~ <i) (4.9 :T
'T'hs; n ~l.

t~ f i:i 3 - j (~~) : 1~"I) ;
fit'r J7; .

~= ~i'1~z~t;
~ r~t: ?
~
f~ t3' t ~.~:1t '~(tr?'t~,f t)<li:
f, r (4.94) f0 r . r....~<
Iv 3"{,,(W ,dl:
Tj11; shi'?Z'f-S that f ".f ) (4.941) t}:t' is L1psc:lzitz contuluouy tbr each r_ e:vlaiela rtxe:uxy .1f'vr V., f.~~:~ ' ff f (.}~);:.
. . . ~ 'C~~~.x ~f'.i'i ~."

(4.95) r:. i~ ?.~ >r ------------------------------------------r ..,?
4,5' Notatioti FIGS, ] 6A and ] 6B set toa=C~ tables -500a ci.~~ 500b providi~~4y~, for ~~~ivenieni refercncs;. a listimz of mathematical notation usUd in descr-bi.g systems aaxci tG.dmiquos acco.r~-iing to aspect~
of Lllc pi'i=5e17.t ]81b'[ :tlt#&?t3.

~~~

V. Flowcharts of Gi;ner,11ÃzoCl N-Ii;tlaods -----------------------------------------------------------F1GS 17 ?2 sh~~Nv a series of t7cativchart.s illnst.ratirxg a 'F4ncr<aJ.Ãxr:;ci rx1ethcacl 600 and scrta-a:nethExls 620, 640, 660, 680, and 700accc3rding, to the ataovrr:-ciiscn,"rr:c3 aspects caà thG
invention for gen4<mtira;;x a geometrical nx~ad~~l representing g~.cana4<tre~
of at least a portion of a ~ su.il"arr:c of a tkire~.e-c.~i1aYenaicanal (3cl ) crbje>ct by s1-~adirlg 13i-an crpw.i~rtcar in corrnectican a.+ith a. twcar dirtlir-rsivnal (2d) iinagi of the otx#ect, the irraagr; ri;.prosr;ratirag, t1-ro object as tarqjr;ctucl onto w1 iÃraags; lalanc;-Tla.a. ;wetiGr.tliza.cl znGtl-icad 600 shcawn irr FIG. 17 ccaizaprises; tlie f:c~llowinw:' steta"-';
Sts;~ 601.: Receiving shading i.nfcarmation. provided bythe operator in connection X.Vit.h the iaiiao,rrv of the tabjject, the shadir7g iniormati<aaa representing a rs:bange in Ãariglitne,"
level of at least a purtiori of the imttge.
Step 602: GenGrating_ in response to the shading info.rala.ation, an updated g<:omct:riw,:rl n1ot$e1 ot'Clic okject, the shading intornin.tion be in4?~ a.iscd to dc;ter.niine at least one georaictrica l feature of the updated gGCamc(rical nrcrdel.
14~ Stcl) 6()?: Displaying thc irYi~rge of thc Qbiect zis dcfir~~d by the updated ge>crrni;trica1 r-tloda:l, As discussed above, the (wner=:alizeci met.horvl 600 can operate a.rlaon a digital inlaut of any 1xiera.rchica1 :ruladrvi:aicati :aurtace, tao14-gcan rzaesh or N URf~~
suwi'aue.
Gene>nalizcd r'iaztlYEaa 600 rxaay include snl>ar'zxctlYEaa 620 sl:tcaxvn in FlC:l. 1.8, ccar'zxtar.isirrg tlae>
Stela tY2.1: t~nc~ :~ d~rh~l~~>isicar~ sn:rt~e~ flas L~c4n ~~ n~.rrt~ ~~rr~d ~i~lal~~ ~.cl tc~ ~r trs~ r Matchirrg tlie sa.rbdrb i-si<an -sur-face to a 2d ra:acrcÃel vietie:, diG 2d rza<aciel view ia~r,r~lr.rdirr~; itrf:carniatio.n ataeatflt aricl cearncrs, grid widtfr, arad fr,eigtat, tai>sel size wicl carnet:a tc.) cahiect marxyfarar-.1atiO:ar.
Stup622; Uti.lizirr4~, 2cà ~aaradut i.r~.i.~ to sots a lightir~~ direction..
tanu input paratnoters anci sf1ade.. ther4hy:nlodi:tying the irit.erisita4s of selected prxefd; or lcaad a set of pre-dh.idud laixcls.
Thas irrlornatao.n is [Irr:.n taiilircd by a shaping ,rtg<a:rithna.. The laarxra>v[er4 can corraprise :uxv of (a) inflrwrrcc over hta-w niuc:lr suhdivisit?rr occurs in t.hU area of niodifisuatieara and (b) irA1n<.rze~: over laowv jarorzonnci;d the geonaotrieal niodrfiw,:rtitirrts are.
Stela tY23: ~?~te rn~ininvr t1~4 s~carr~ ~:t vr~ can~4in~. .rltcr<atÃc>ns tca n~alc~ ic~ ihu ~rrrfa.~ 4, ~rc~d.invr >0 srxr face tahInitives, zN-here ncetieci via sa.rladivision in ths; area of the sharvli:ng_ in ort.ier to ensure that stflfficie~nt dr:tail is prc,sent; atid di~tonrrnl~; a hai~,~at field tliat reflects M 3D t1ze cbangles that wr:rc:
ri;a:tucstGd in thL 2D Si:ttrt]g, altering thL sr3bdivitil<313 tiUrliEL:G to reflect tf1e dLtetn313.1a:.d he~=frMflt e a.h.Go=, therzlay resn.ltitlg in a shaped. l-ai.i;.rarchical subdiv'isrora surface that can txr; ?ltured fir:rther.

su.ver~, oi= converted to acle.sin;:d output sur.4aee type. 'llie staa~ace primitive.s can 'Molucle. -M4' of triangles, rfuadri.later.i.ls.. r other poJ1'Pr:is.
Generalized metliEaci 600 may also inc1~idL stila--iiae;thod 640s.lIm.-n in FIG. .19, coampl-ising tbeÃ=ollE~Nving steps:
~ Step 64 lCri ating wi unelcrl-viiYg Su13di vi~.~n surface.
Step 642: Disfaiayir~g a ?L? shade viow.
Stel) 643: Enablin4?~ a tiscr to sct liglitin;Y. ;,baklingn aulti ttine faas-ameterss Stela 644: Executing ashapi.nx process e.ompz=i-si-i ;Ã~j ititr<~ci~~~ir~, cietz3il on tile stiriace;
(b) c:le.tr;,c~~i-iiiiitY~ ~tesv 1-te.iglYt laanamdtrs rQr the sisrfiice;
anc:1 (e) ah4Ypirir7 t1Ye sriEadivisitan stGrf~ace;.
tburebv~ genorating ;.~ 3D suladie:ision su.rGace. '17ii~ parullcta.e=s t.ara comprise my of=(a) Influence over bcativ rnuclx subdivision occurs m tlxe. <uca_ of rncaclific:atic>n <md (ia; influence ovv:r lx~vv pronounced t1:iG geometrical mocli:i-ieations, z3re.
(3cne,ralized aiii;tlzcaci 600 zn:ay also iacludc st~~~iiiUtliod 660ti11owa i:u Fl.Ci. 20, cornprising the foliovi'rtlg stefas-SteptYfi.l . ~4~ 4i~ Ãu~ .i.n :ulfal~.t ec~rn~ri~i~~~ 4ith~ r ~~ nx4sb ~~}ar~~4ntaiicau ~r ~ '~Il kF3S
4urfacc..
Step 662: Cr~~ivi;rtirrg the iaput to a hiUru.rdzicu.1 auEadivision surlaec af it is raot already 011e.
Step 66:3: Pe.,rrt=:onxliax ; slaadu1'F aaxd, shaping c?n t1A41ximuchical sulaclivisim su:rt'ace.
Step 664: Utifiringadafa[ite; subdivision tca aEici z3etai1 to the surface, md .xala=si's and synthesis to lar~~~gaw i:bw-tllge~~' to aJl levels ol"tiic surface, t11e.ml;ay w-tllow, iiig fbr modifieativm,; at si;le.etid .Ieo-<:1s of Cletail..
SCs;l) 665: Providing a liieruruhiuul subdivision surface library .
Stel) 666: Converting tlie subdivision ;,us-#aee niodel resulting from tlie.
SBS proeesss to another sur:f'ac:.e t~'Pe if desir4~(l.
Generalizeel iriet.hocl 600 iiYziv also inclt#c.~le st#~.a~inctktoc.~l 6,W) ahoun in FlG. ?l. cc.~nllarising the foilON:tirtg steps:
Ste.p, 68l:App.tyi:ug a selected d(3a:lai.ng oper atio:u- tlx~. selected slxap ing operation be:iaxtY, cQrifigt~i-cc.~l t~.~ atteriipt to proclmc a se:t ot'heigtit increnlents (-, c.~~~er tfie: u1oc.~lel view flr~aà Ã-iiiÃ-iiiiiizes the fiuxc[iEaaa given ba.:
f(r) k~~l::~~) - .11AuI~.~~~~~ ~~ AQff.~ r(~~~~ ~~

av.bere I is tlic: disGrUte iratensit~~ ztt the pixel (u. v). ( is a u.ri#t vector that fac?ratti azx the direction of tire i-ifluit.elv di:5tu#:it sia=iiulated light sottree, and JI i:a the associated Iiei;x~~t :-aelcÃ, (;; ~Ãenc~~ta.s tli~:~

cur~~atinre ot"a. si~rface Nvith assoc:Ãated .height tiel.d H, 2. is a smoothu14 wot=t'ic:ient, -md the staiii is perf-c.~rilYeci c.,vcrpixcls in the iriodel 4 iezv that Intersect the ii-iti ricr of Clrc prqji:ctcd sur#ace.
Step 682: roduc.irag-, tho, iiancticin to th.e. mlco .stuainicl rnit-fimiz;.~tion of f(z) (11 (A~. (~)' ~,~ ('qj ) it + .~~ ~~~~
q?: C-Q
i wherein the :ni4th d itscd to p4:rt=orin the minimi7;ttioax is a. trusanremc>n .nlutllod.
Step 683; Nr:f'or7nung further rr;:dtict.ic3ii frc3iii -summing, mer mill the pixels in thc model %>iew that Iriterai;ct the antc:ritrr of the prc) jeGtcd stflr#~tcc~ to yr#znrtxirtg only over that set rUdueed iaz iÃ-Mrscoting it NOtiI the r1cwhhc.~ncoQCi of 1i1odifiec~ ~~xcis, sticl-i that the calctfl~aÃion neeci irQt b~.
nrtati<: over th<: <:iitiro ~.~rcJecti;d surface as seeii in tlzo modol viow, the rodrtcer~ si;t laeÃn4.~ r<:#~o:rr;:d to as Q
Gener~~~lized niGÃ.hcsd tst}t) may. also include the following stib-niethocÃ
700 shmuin F1G. 22, coÃ~ilyi-isitig t.hc tollou-ing stcps.
Step 70 1; r~~odc.fing the tm :cticmn hN, ttaa, quairattc f .nctior-t:
r 1 ~?
w-herc Vj' is thU ~;f~diczxt secte~r c~:t'P'~raicl C P' iy tla4 f~~.tiyi~3ra riiat~x off.
'iÃ:ep 702: ;~~~inimiring the rnodel F in a sGlec:t:cd region. 1rY the prGsent: e\amplG, thi;
selected :r<.glon is fllx = .1, for sonie r\ > ().
Step 703: IupIemeratiaig rtxiai.zrtizatiora util.izing" thc C'C3~Steihaug anetht~d -with a specia1 sparse tnatnx nttltiplicatior-t.
Step 704: Constrtac>tiaxg a test value trorn the :restilti:ng minimir.n1 }acaint a., and is:
_ f (z4.) ~(x-O + x I
~
.ind wherc.iax if j.> is clc>s~. to I. tlxc.n .Vis cor:isade:red a good aiiodu( tc>:r,/'4~~iihi:n the trust fc.gio:n, t1Ac.
center of the trzist region is mov-cd ta x, and the trust region rrikhns is i~ic.reased; or; if p is t=ar ai~~~~ ~~otn 1, the the naclius of th.e. tntst region is dicrzased.
Step 707 repeating tlxc. process tintil a minimurn for fin the tni.st rugion is totnAd bwsc.d c.~~i cstahlishcc$ c.riÃe>ric.~~~. In thc present examt.,le- t1-t~, c.riÃe>ric.~~~ to stcvp th~. tarc.~<~ess ia if ~HV,f is sufficie;ntla small at the center of the current trust .re;l,~,im whe.rGi.n a local :nii:niiiitirn c3f fhas been ft shon.ld be noted that tfio above closcr.ibect gen.er.alind ine:thoti and siab-nietfiods 1n.ay be inipleanealted as a cornptat4c software pltag-i:n product adapted for intcrc~pera.biliti~ Nvit.b any of=: a.
c-ampute;r as4isÃ:ez3 desigri (CAD) sa>stem, a computer g.rap.bics syst:c;rn or a soffivarL application operabl% to create, display. manipnlaw or nic~del geometn. .Th% plu;;x_in produet f=Gaturc:s niav ~ iÃx1t#c.~e any of asfY;~~li~~g tc~Ql with z~. 2d l~:int fniictic~Ã~ and the abilit~~ to lc~z~.cf and s~.v~. at~~xdir~rMs, ligjlt controls, parameter tuning, updat~~ig of surf~~ce sbapo based on :liaditlg itaforinatio , liglit direction ant.i input faarameterss an init$oiret3o firnution internal to thentot$i~"ter., a tool #'or se;1cotin(an area te) be tipdatcif, utilizin:;
ainash.ing, tec:.htiique, and z3 se14ction tool v0tli a set ofs-t4uiclard subc.~ivisic.~n surf-a.c:e snanipu lation S, u 1ic, s-iici the parame;ti~~s can cc.~mprise any ol~ (a) iriffisttYct over hovv ran :ch :ubciivi:icir-t ot.ctflrs In tlaa: area of rn.vciiticati.on wlcl (b) Itafluuncu over f~o"~ prcirlo .nceci t(i~. geometrical rnc>ciific:atrc>lis lire.
l.n adifitioai, as described .:rbove, the generalized m4tlioif md :aub-ma:iliod:a may iticlude the :ability- to runra the SBS process on po1ygrora rtx4shUs, or N fy=Rf3S
aurt:aGUs, Witllout. first ConvUrt:irm to or n.sir~~ properties of subdivision surt~.ces. 'f:lli mofhodatlcf sub-metta~~s may Fafflior irit.lrsde tllu ability to displa.~: (arge, cc3mp(cx meshes at an i11t4raetÃve:rate, the ability to ta'ini arbitrarily across 4urface faces, and/or the abif:itv to sl;cic li ccaiitota:r liiics to pro<fticc wi Miti'al 3d slicipc, uacahlc i.n coniunctiort with tlie SBS inodclizxg f~~~~ccys.
~N'hilc the fo:regoang description includes details whicb will onable tlzoso skill.ed in tfio art to Pract:ice t.bu i:nveaxtioax, it sflc?uld be re~oga1izerà tlxai tlx~.
descriptican is Ã.lludtrativ4 ia1 n.i.tui~~ .~~id that rnmy modifications and variations tlxereEaf vvill bealafrarent to thcasG
4kille;d in tlxc arl lxat-ing tlii:~ benefit of tlzi,se tcaehir.~g~.,. It is w-tcc~.~r<ling1ly iy1tendi:~<l i.hai: the Mventflon f~cm-:in bi:~ di;l~im;d solely by the claims ajaponded hereto and that the w,launs be interpr<:ted as broadl4' as pennitted by the prior art.

Claims (27)

We claim:
1. A computer implemented graphics method for generating a geometrical model representing geometry of at least a portion of a surface of a three-dimensional (3D) object by shading, by an operator in connection with a two-dimensional (2D) image of the object, the image representing the object as projected onto an image plane the method comprising:
A. receiving information provided by the operator in connection with the image of the object, the shading information representing a change in brightness level of at least a portion of the image.
B. generating, in response to the shading information, an updated geometrical model of the object, the shading information being used to determine at least one geometrical feature of the updated geometrical model;
geometrical model; and C. displaying the image of the object as defined by the adapted geometrical model; and D. wherein the method can operate upon a digital input of any hierarchical subdivision surface, polygon mesh or NURBS surface.
2. The method of claim 1 wherein once a subdivision surface has been generated and displayed to a user, it is matched to a 2D model view.
3. The method or claim 2, wherein the 2D model view includes information about grid corners grid width and height, pixel size and camera to object transformation.
4. The method of claim 3 wherein utilizing the 2D model view, the user sets a lighting direction, tunes input parameters and shades, thereby modifying the intensities of selected pixels, or loads a set of pre-shaded pixels, and this information is then utilized by a shaping algorithm: and wherein the parameters can comprise any of (a) influence over how much subdivision occurs in the area of modification and (b) influence over how pronounced the geometrical modifications are.
5. The method of claim 4 wherein:
thee shaping algorithm determines the correct geometric, alterations to make to the surface:
additional surface primitives are added where, needed via subdivision in the area of the shading, in order to ensure that sufficient detail is present; and wherein a height field is determined that reflects in 3D the changes that were requested in the 2D setting, and the subdivision surface then altered so as to reflect the determined height values;
thereby resulting in a shaped, hierarchical subdivision surface that can be altered further.
saved, or converted to a desired output surface type; and wherein surface primitives can include any of triangles, quadrilaterals, or other polygons.
6. The method of claim 1 further comprising:
creating an underlying subdivision surface;
displaying a 2D shade view;
enabling a user to set lighting, shading, and tune parameters; and executing a shaping process, the shaping process comprising;
introducing detail on the surface;
determining new height parameters for the surface; and shaping the subdivision surface;
thereby generating a 3D subdivision surface, wherein the parameters can comprise any of (a) influence over how much subdivision occurs in the area of modification and (b) influence over how pronounced the geometrical modifications are.
7. The method of claim 6 further comprising:
receiving an input comprising either a mesh representation or a NURBS surface;
converting the input to a hierarchical subdivision surface if it is not already one; and performing shading and shaping on the hierarchical subdivision surface.
8. The method of claim 7 further comprising:
utilizing adaptive subdivision to add detail to the surface, and analysis and synthesis to propagated changes to all levels of the surface, thereby allowing for modifications at selected levels of detail.
9.The method of claim 6 further comprising:
providing a hierarchical subdivision surface library.
10. The method of claim 9 further comprising:
converting the subdivision surface model resulting from the SBS process, to another surface type.
11. The method of claim 6 further comprising:
applying a selected shaping operation, the selected shaping operation being configured to attempt to produce a set of height increments I over the model view that minimizes the function given by:

where I is the discrete intensity at the pixel (u, v), l is a unit vector that points in the direction of the infinitely dist<3iit simzfllzat:ed Iiglit sc.~tuce, fiixd f-T is the associated height ficld. C;:.tÃemtcs ttic zurk.zat:tur~~
of a surk'x,,c ~x-ith associatcd hciglxt .taeld H, r is a-mic?otlling cod'Ã'icientt ijid the sum is perfbmred Oevr faiACls ill the Model ViC'W that intersect the iratcrior of the prqjvct;:cl s rl:ace.
12. 'T'11e siicttic?ti c.if'cliiiii 1.t furthcr w.tlcrCIzI the set ol'he:if;ht i1icrvallent5 .t' cas) bc rekilxeeki tc.i a vector 'N' coaitaiaii~ig one crltn~ .1'6r carh pixel or connected a:rca whose corresponding ttefV.ttt Y-i1uc(5) suay k-iiltt'.red ~.~~y the shaping illgoi'fltl13'il, sl.#(%11 tllilt the IiLI3Ctflt.~81 1~ reduced to tlle tti1GollSti'i3.liled minimization d]f:

aiid 1'ti:rtlier wliereiri tlii. rtaeÃtioii. used to perl'orm tlie iiiiixiiiriratioii is a 1'rrtst-Regiota method.
13. 't'llo nic:thoci of clraixia 12 cntnprisiug a, further reduction l:roni summi~~g ovc:r a.ll the pixc:ls in tlic:
model Y-iew th.tat: iiiterset:t tii:e iniori.or of the pirojectocl aurfat:e to suni.minr.~- tittlt~ oy-er that set r<diflt:ed by iriterse:etiaif; it Witii t:lic neigliborhc3c?d caf'mcadified piee:ls,>
such that tii~:. caiculutic3lz aicer3 not be niadc over the csitire pr~.-~jectcd stkt-l';acc as seen in the m~.-~dd vicw, il:ao t-edisced set beisig se(ert-cd to as Q.
14. 'T'11e mcthod ol'clii:~ii 121 wtyereÃn tiie '1':riast-17,:gioai ai7ettiosi comprises I:~l-st modeling tlye tunution Lsz the quadratic fu:nctiorl;

v":1im Vj, is tk of-,fand V~.~ is tliG hessian 111:3tri", raiitt tlieix iiritiitiiizitig the iitoil.el F iri the regt~.~rt '' A. fi.~r some A>
0.
l? The rnc:thod of claiyta 14 fignlacr es'hcrega3:

the method utilized to implement the minimizationr is the CG-Steibaug method with a special sparse matrix multiplication;
a test value is constructed from the resulting minimum point x; and is and wherein if .rho. is close to 1, then F is considered a good model for f within the trust region, the center of the trust region is moved to x; and the trust region radius is increased; or, if .rho. is far away from l, then the radius of the trust region is decreased; and the process is repeated, until a minimum for F in the trust region is found;
and wherein the criterion to stop the process is if ¦¦V .function. ¦¦ is sufficiently small at the center of the current trust region, wherein a local minimum of .function. has been attained.
16 The method of claim 15 further comprising implementing the method as a computer software plug-in product adapted for interoperability with any of a computer-assisted design (CAD) system, a computer graphics system or a software application operable to create, display, manipulate or model geometry.
17. The method of claim 16 further wherein the plug-in product features include any of:
a shading tool with a 2D paint function and the ability to load and save shadings, light controls, parameter tuning, updating of surface shape based on shading, information, light direction and input parameters, an undo/redo function internal to the modifier.
a tool for selecting an area to be updated, utilizing a masking technique, and a selection tool with a set of standard subdivision surface manipulations, wherein the parameters can comprise any of (a) influence over how much subdivision occurs in the area of modification and (b) influence over how pronounced the geometrical modifications are.
18. The method of claim 10 further comprising the ability to run the SBS
process on polygon meshes or NURBS surfaces without first converting to or using properties of subdivision surfaces.
19. The method of claim 10 further comprising the ability to display large, complex meshes at an interactive rate.
20. The method of claim 10 further comprising the ability to trim arbitrarily across surface faces.
21. The method of claim 10 further comprising the ability to sketch contour lines to produce an initial 3D shape, -useable in conjunction with the SBS modeling process.
22. A computer graphics system for generating a geometrical model representing geometry of at least a portion of a surface of a three-dimensional object by shading by an -operator in connection with a two-dimensional image of the object, the image representing the object as projected onto an image plane, the computer graphics system comprising:
A, an operator input device configured to receive shading information provided by the operator, the shading information representing a change in brightness level of at least a portion of the image;
B. a model generator configured to receive the shading information from the operator input device and to generate in response thereto an updated geometrical model of the object, the model generator being configured to used the shading information to determine at least one geometrical feature of the updated geometrical model; and C. an object display configured to display the image of the object as defined by the updated geometrical model; and D. wherein the system-can accept any hierarchical subdivision surface polygon -mesh or NURBS surface.
23. A computer program product operable within a computer graphics system, the computer graphics system comprising a human-useable input device and a display device operable to generate a human-perceptible display, the computer program product comprising computer software code instructions executable by the computer graphics system and encoded on a computer readable medium, the computer program product being operable within the computer graphics system to generate a geometrical model representing geometry of at least a portion of a surface of a three-dimensional object by shading by an operator in connection with a two-dimensional image of the object, the image representing the object is projected onto an image plane, the computer program product comprising:
A. first computer software code means operable to receive shading information provided by an operator using an input device, the shading information representing a change in brightness level of at least a portion of the image;Q

B. model generator computer software code means operable to receive the shading information from the operator input device and to generate in response thereto an updated geometrical model of the object, the model generator computer software code means being operable to use the shading information to determine at least one geometrical feature of the updated geometrical model;
and C. object display computer software code means configured to enable the computer graphics system to display, on a display device, the image of the object as defined by the updated geometrical model; and D. wherein the computer program product is operable to accept any hierarchical subdivision surface polygon mesh or NURBS surface.
24. The method of claim 14 further comprising minimizing by using a Trust-Region Newton-CG
25. The method of claim 24 wherein residuals are utilized to obtain the function, its gradient and its Hessian.
26. The method of claim 14 wherein calculations are integrated with or into an API.
27. The method of claim 14 wherein calculations are integrated with or into a computer software application plug-in.
CA002633680A 2005-12-20 2006-12-20 Modeling the three-dimensional shape of an object by shading of a two-dimensional image Abandoned CA2633680A1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US75223005P 2005-12-20 2005-12-20
US60/752,230 2005-12-20
US82346406P 2006-08-24 2006-08-24
US60/823,464 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
CA2633680A1 true CA2633680A1 (en) 2007-07-12

Family

ID=38228928

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002633680A Abandoned CA2633680A1 (en) 2005-12-20 2006-12-20 Modeling the three-dimensional shape of an object by shading of a two-dimensional image

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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US11918503B2 (en) 2018-03-26 2024-03-05 Medtec Llc Easy on/easy off clips or clamps for mounting mask to body part fixation device

Families Citing this family (7)

* 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
CN114777681A (en) * 2017-10-06 2022-07-22 先进扫描仪公司 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
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
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
CN113409451B (en) * 2021-03-16 2022-04-15 明度智云(浙江)科技有限公司 Digital three-dimensional model construction method and system of production equipment and storage medium

Family Cites Families (8)

* 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
US20040215429A1 (en) * 2001-04-30 2004-10-28 Nagabhushana Prabhu Optimization on nonlinear surfaces
JP4075039B2 (en) * 2002-02-19 2008-04-16 株式会社セガ Texture mapping method, program and apparatus
US7167173B2 (en) * 2003-09-17 2007-01-23 International Business Machines Corporation Method and structure for image-based object editing
US7720269B2 (en) * 2003-10-02 2010-05-18 Siemens Medical Solutions Usa, Inc. Volumetric characterization using covariance estimation from scale-space hessian matrices

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US11918503B2 (en) 2018-03-26 2024-03-05 Medtec Llc Easy on/easy off clips or clamps for mounting mask to body part fixation device

Also Published As

Publication number Publication date
EP1964065A2 (en) 2008-09-03
AU2006332582A1 (en) 2007-07-12
WO2007079361A3 (en) 2008-04-03
WO2007079361A2 (en) 2007-07-12
JP2009521062A (en) 2009-05-28

Similar Documents

Publication Publication Date Title
CA2633680A1 (en) Modeling the three-dimensional shape of an object by shading of a two-dimensional image
US6320584B1 (en) Method and apparatus for simulating movement in multidimensional space with polygonal projections from subhemispherical imagery
EP3080781B1 (en) Image rendering of laser scan data
JP5933814B2 (en) 3D information processing device
US20150131924A1 (en) Creation of Rectangular Images from Input Images
US20180018807A1 (en) Method and apparatus for generating panoramic image with texture mapping
EP2319010B1 (en) Image generation device and method for example-based super-resolution
US8237703B2 (en) Split-scene rendering of a three-dimensional model
EP1953702A2 (en) Apparatus and method for generating CG image for 3-D display
WO2014152770A1 (en) Overlaying two-dimensional map data on a three-dimensional scene
CA2533279A1 (en) System and method for processing map data
JPH0757117A (en) Forming method of index to texture map and computer control display system
WO2014143689A1 (en) Overlaying two-dimensional map elements over terrain geometry
KR101886754B1 (en) Apparatus and method for generating a learning image for machine learning
JP2008140391A (en) Terrain modeling based on curved surface area
EP3501012B1 (en) System and method for procedurally generated object distribution in regions of a three-dimensional virtual environment
CN104867181A (en) Fast displaying and drawing method of weather elements on three dimensional earth model
EP1748392A2 (en) Real-time conformal terrain rendering
JPH11504452A (en) Apparatus and method for reproducing and handling a three-dimensional object based on a two-dimensional projection
CN112967400B (en) Unity 3D-based three-dimensional graph dynamic creation method and device
KR101351745B1 (en) Apparatus and method for generating 3 dimension face
US6989842B2 (en) System and method of integrating live video into a contextual background
JP2002203237A (en) Curved image conversion method and recording medium with the curved image conversion method recorded thereon
Khatiwada et al. Texturing of digital surface maps (DSMs) by selecting the texture from multiple perspective texel swaths taken by a low-cost small unmanned aerial vehicle (UAV)
Marjamaa et al. Fuzzy scene matching in LADAR imagery

Legal Events

Date Code Title Description
EEER Examination request
FZDE Dead

Effective date: 20121220