- No tags were found...

10"& points, 36 Â¢Â¥âª6Â¦Â© Â¨6Â¦ 6 , 8@9BAC9D , on a reference Â¤EÂ¨ a

1A Strategy for the Interpolati**on** of SurfacesThrough the Use of Basis Functi**on**sEDSON RICARDO DE ANDRADE SILVA , CRETO AUGUSTO VIDAL , JOAQUIM BENTO CAVALCANTE NETOUFC–Universidade Federal do Ceará - Bloco 910, Campus do Pici, Fortaleza, CE, Brasil{latino, cvidal, joaquimb}@lia.ufc.brAbstract. For the c**on**structi**on** of digital terrain models based **on** surface interpolati**on**, it is defined a bivariatefuncti**on** that interpolates a finite set of sample **on** of interpolati**on** surfaces through the use of basis functi**on**s. Thismethodology is based **on** a work by Chaturvedi and Piegl, where improvements related to the c**on**structi**on** of the¡£¢¥¤§¦©¨basis functi**on**s were made. The proposed strategy allows a larger expansi**on** of the basis functi**on**’s support regi**on**,represented by the interior of a trajectory curve, composed of quadratic rati**on**al Bézier segments and reduces theapproximati**on** error between the **reference** surface and the interpolati**on** surface.1 Introducti**on**In Digital Terrain Modeling, the c**on**cept of height fields ismathematically represented by an elevati**on** functi**on**, defined **on** the domain D of a **reference**plane. Usually, the elevati**on** values are known **on**ly at afinite set of sample **on** to Data Elevati**on**Models [1], where the sample **on** used,a way of computing the elevati**on** at any point of the domainis needed. For that purpose, several surface interpolati**on**strategies can be found in the literature, which guaranteethat the Digital Terrain Model has: Shape Fidelity,Domain Independence, Locality and Editability [1]-[7].In this work, it is presented a strategy for the generati**on**of interpolati**on** surfaces through the use of basis functi**on**s.This methodology is based **on** a work of Chaturvediand Piegl [5], where improvements related to the c**on**structi**on**of the basis functi**on**s were made. This methodologyallows a larger expansi**on** of the basis functi**on**’s support regi**on**,represented by the interior of a trajectory curve, composedof quadratic rati**on**al Bézier segments. Moreover, itpromotes a better agreement between the interpolating surfaceand a **reference** terrain.The surface is defined procedurally, based **on** a triangulati**on**of the !#"$%¢¥¤ $ ¦©¨ $ projecti**on**s, , of the sample! $ ¢¥¤ $ ¦©¨ $ ¦ $ **on** a **reference**plane . The interpolati**on** surface is c**on**structed by a suitablecombinati**on** of ¤-¨ specially defined basis functi**on**s,corresp**on**ding to the sample **on** is defined **on** a local domain inthe neighborhood of the corresp**on**ding projecti**on** !."$ . Thisdomain includes **on**ly ! "$ and its adjacent **on**s.angulati**on**. The illustrati**on** in Figure 1 shows two distinctbasis functi**on**s associated with the sample point ! "$ : **on**e,corresp**on**ding to a piecewise linear interpolati**on**; and theother, c**on**structed over an expanded domain and utilizing asmooth profile curve.The smoothness of the profile curve and the extensi**on**of the domain are c**on**trolled by local parameters / and 012 3 ¦&54 , respectively, which influences the overall shape of thebasis functi**on**.The remainder of the paper is organized as follows. InSecti**on** 2, it is presented an overview of the surface rec**on**structi**on**problem, using basis functi**on**s. In Secti**on** 3, it isdiscussed the aspects of c**on**structi**on** and c**on**trol of basisfuncti**on**s. In Secti**on** 4, the proposed method is c**on**trastedagainst other methods. Finally, some c**on**clusi**on**s are drawnin Secti**on** 5.2 Interpolati**on** SurfaceThe surface rec**on**structi**on** problem of a terrain, for whicha set of sample

?F?3G$5HF11F3¦Nis known, c**on**sists in determining a bivariate func-, such ?¢¤ $ ¦¨ $ that. The !B"$ **on**al projecti**on**s ofti**on** ?¦6:¦;=¦¢¤@¦Ä &CD8! $ **on** the **reference** plane .¤-¨ $ for each point !B"$#1Equati**on** (1) determines the interpolati**on** ? surfaceby a weighted sum of . Thus,1.¢¥¤§¦©¨In digital terrain modeling:2. E $ ¢¤@¦ÄJI 33. L, K $ are the weights;¢¤@¦©¨E $ ¢¥¤§¦©¨D& , K¢¥¤§¦©¨$MHE $ ¢¤ANO¦¨PNQSR $ N4. , R $ Nwhere& otherwise;5. E $ ¢¤@¦Ä, Kdomain of E $ .basis functi**on**s E $ ¢¥¤§¦©¨1¢¥¤§¦©¨YX $ E $ ¢¤@¦©¨5;(n**on**-negativity);¢¤@¦Ä(1)(partiti**on** of unity);)UT WV if R $ Nand $ , where $ is the supportAs pointed out in [5], requirements 2-5 are easily satisfiedif rati**on**al basis functi**on**s of the formE $ ¢¥¤@¦¨¢Z $ ¢¥¤§¦©¨©6XA¢GH NZ N ¢¤@¦©¨are used. It is also pointed out, in the same work, that thesebasis functi**on**s are analogous to the tensor product B-splinebasis functi**on**s in that: 1) they can be defined over arbitrarydomains (c**on**cave or c**on**vex); 2) they are identically zerooutside their support domains; 3) they are positive withintheir support domains and attain a single maximum; and 4)they do not possess local maxima or minima.The methods for c**on**structing¢¥¤@¦¨the interpolati**on** surfacebased **on** Equati**on** (1) are distinguishable, both, bythe way E $ ¢¥¤@¦¨the basis functi**on**s are defined, and by theway the basis functi**on**s’ support domains are delimited. Forexample, the basis functi**on**s of the polyhedral interpolati**on**are swung surfaces defined by rotating a linear profile curvearound a local z-axis and scaling the profile by the boundarypolyg**on** of the support regi**on**. This regi**on** is identified bythe triangulati**on** !B"$ of the **on**s¨ ¤@¦A[ ¢\[that do not vanish at ; 2) to evaluate each n**on**-zeroc**on**tributi**on** of these basis functi**on**s by, first, computing¢\[ ¤_¦`[Ä ¢Q[ ¤§¦A[ ¨and, then, substituting into Equati**on** (2); and 3)Z $to blend the basis functi**on**s values with the corresp**on**dingsample **on** (1).[]?¤§¦^[ ¨^ ¢Q[(2)3 Basis Functi**on**sIn this secti**on**, it is discussed a two-step process for thec**on**structi**on** of basis functi**on**s. First, a trajectory curve thatdelimits the support domain of the basis functi**on** is determined.Then, a profile curve is defined to generate a swungsurface as it is scaled by the trajectory curve during its revoluti**on**around the corresp**on**ding sample point projector.The main improvements over the process proposed in [5]are made in the c**on**structi**on** of the trajectory curves.3.1 Trajectory CurveIn order to determine the trajectory curve that delimits thesupport domain of the basis functi**on** associated with a sample! $ point , **on**e starts by obtaining a triangulati**on** of¢¤ANO¦¨PNQthe!Y" N projecti**on**s, , of the sample **on** the**reference** plane. Next, using all the triangles that share the!Y"$ vertex , a polyg**on** is defined by c**on**necting the sides oppositeto that vertex. Finally, it is c**on**structed a sequenceof NURBS (N**on**-Uniform Rati**on**al B-Splines)[9] relative toeach side of the polyg**on** just defined such that they maintainac**on**tinuity at the c**on**necting **on** used to define the support regi**on**; 2) possess,at a least, c**on**tinuity ; 3) define a regi**on** in !#"$ which isthe **on**ly sample point projecti**on** strictly inside it; and, 4) beintersected at most **on**ce by any straight-line segment withorigin at !B"$ point .C**on**diti**on**s 1) and 2) are trivially satisfied, if NURBSsegments are chosen to c**on**nect each two c**on**secutive verticesof the polyg**on**. C**on**diti**on** 3) implies that !#" **on** impose limits**on** the expansi**on** of the trajectory curve, since n**on**e of themcan lie inside the support regi**on**. C**on**diti**on** 4) imposes aspecial strategy for the c**on**structi**on** of the trajectory curve,as discussed next.The NURBS segments chosen are quadratic rati**on**alBézier segments defined byb ¢c^d ¢c^§hZ f g# ¢¥cA@hZ f g# ¢¥cAZed

:¢(a)¦(a)R 1(b)T 2(b)yx(c)T 145ºQ 2Q 1P k´R 31Q 21Q 345ºT 1 Q 2P k´ P k´P k´Parábola yyxx(d)P k´(e)P k´Figure 4: Tangent at the ends of the trajectory curve.yxyx(a)Q iQ i+1i1i2= = 0Figure 2: Types of trajectory curves. (a) and (b) closedtrajectory curves; (c) and (d) open trajectory curves.(b)iQ i Q < 0, i> 0i+1 1 2Q i Q i+1i i> 0, ii1 2 < 0, + < 180º12Q iT iQ´iQ i-1P kQ i+1(c)(d)i> 0, i< 0,1 2Q´iQ i Qi> 0, i+1i1Q iiiQ i+11+2 > 180º2 > 0 iQ´iQ i Q i+1< 0, i< 01 2Figure 3: Computati**on** of the tangent k. at l£ .Suppose mnl¦l ¦\;>;=;=¦l£oqp that is the set of verticesof the polyg**on** around !B"$ point determined by the triangulati**on**(see Figure 2), lrostl where when the curve is, **on**e triesclosed. Between each pair of vertices lr l£=uto define a c**on**necting quadratic rati**on**al Bézier segment.However, that is not always possible, requiring that more¢than **on**e segment be used.In order to determine the c**on**necting NURBS segments,it is necessary to find the tangent k vectors to the trajectorycurve at the l vertices . A simple way to estimatethese tangent vectors is to use the central difference schemerepresented by the equati**on**l£=u vj l£w6XA¢6xly>u ej ly¥wx M¦kB_k# where is an unit vector with the same orientati**on** as vector(Figure 3).l£=u vj l£wEquati**on** (4) adequately defines the tangent at all thel£ **on**figurati**on**s of the trajectory curves.the parabola passing through the vertices €‚ , €£ƒ and€…„ at vertex €† ; and ‡Bˆ , as the unit vector tangent tothe parabola passing through the € Â‰Šƒ vertices € ˆ^‰‹ ,€ ˆ and at € ˆ vertex . However, in order to guaranteethat all straight-line segments with origin Œ#Ž at do notintersect the trajectory curve more than **on**ce, **on**e computesthe n angles between the ‘†§’”“•‰Š–@—˜vectorsand ‡• ‰Š– —˜and, in case “ ž¡`¢£( £¥¤^¦P¡`¢ , ‡ ’D§¨‘ or, in case›Q¤`¦ª¡O¢ , ‡ ’«‘ .i©(šY’œ›žŸ ), measured clockwise (Figure 4(b))Therefore, the problem of computing the trajectory curvepassing through the € 5€ ƒ \¬>¬=¬=M€ ˆ vertices , is restricted todetermining the c**on**trol **on**necting€ =_ to , since the tangent at these vertices €areknown.If the tangents were "well behaved", as shown in Figure5(b), **on**e would simply choose the intersecti**on** point ofthe parameterized straight-lines €£¯®8°Q‡B and €…=_Q®²±¯‡B=_as the middle c**on**trol point, ³´ . However, due to the varietyof shapes that the trajectory curve may assume, not alwaysQ i+1Q i+1I~

ÙÝÝ„Q i´‡ ’WÐ5Ñn° ¸ ¹ ÈŠ®s°i §S€ . Also, c**on**sider ° and ° ƒ the signs of these€angles, ° ’·› i.e., ¸ € >i §(€ º¹J» ‡ ´© ¡ if ° ’·§Y› , if€…=_n§8€… ¹n» ‡B£W¡ , and ° ’W¡ if ¸ €£>iP§8€£ ¹ž» ‡Bi’¥¡ .¸ƒ is defined, analogously, by examining the sign of the°vector ¸ €y>_J§(€… ¹¨» ‡#>_ product . The strategy for determiningthe c**on**trol **on**sists of a straight-line segment. One chooses³_¾8’]€ , ³ ’ ¸ € ®(€ =_5¹À¿ ¤ and ³ ƒ ’]€ =_ .Case 2 (° ° ƒ ’9§Y› and Á ÁÁ Á® Á Á ƒ Á Á£Â›\ O¡O¢ ) (Figure5(b)): One chooses ³i¾Ã’Ä€ , ³ as the intersecti**on** of theparameterized straight-lines € ®W°Q‡ and € =_ ®Å±¯‡ =_and ³ ƒ ’S€ =_ .In the next three cases, two Bézier segments are usedto interpolate the curve segment €y¯€…=_ . Therefore, it isnecessary, first, to include a new point €y and **on**ly then tointerpolate the curve segments €yÆ€… e €£ €£>_ . Point €£is defined by’S€…Ç® µ ºÈŠ® ºÈÉ (5)€µ £’ €…=_´§s€… where ¿ ¤ , È is the unit vector in thedirecti**on** of vector , È É is the unit vector perpendicularÈ to and is the distance from €y point to the€£=_Ê§«€…€ € =_ chord (Figure 6). Moreover, for each case, different‡B and (tangent vector €y at ) are computed.Case (° ° ƒ ’9§Y› 3 Á and Á Á®·Á Á ƒ Á Á© ›\ O¡ ¢ ) (FigureÁ5(c)): One computes min(Ë Ë`Ì = ), Ë where is the distancefrom the closest n**on**-neighbor Œ. point to the chord€ >i and Ë^Ì is a chosen fracti**on** of this chord segment,€. The ‡# tangent €… at is thei.e. Ë^Ì ’tÍ € >i §Î€,vector parallel to the € € >_ chord .Case (° ° ƒ ’Ï› 4 ) (Figure 5(d)): Taking = 0, **on**e determinesthe €y point **on** the chord €yÆ€£>_ segment . Thetangent € at is then defined asIn this case, **on**e of the Bézier segments relative to the€ €… segments €£ € >_ and is located in the same semiplaneŒBŽ as relative to the chord € € =_ segment and,therefore, it is necessary a correcti**on** strategy, as shown inFigure 4(b).Case (° ° ƒ ’×¡ 5 Á and ° Á Á®+Á Á° ƒ Á Á© ¡ ) (Figure 5(e)):ÁOne computes the scalar bywhere _’›¤¸ ° §° ƒ ¹ min ¸ËnØ Ë Ì q¤ËnØ ’ÜÛÙ‹§ µ±¯Ú`Ÿ ¸¹©¹(8)Ž if ¸ ° §° ƒ ¹ £W¡Ëif ¸ ° §° ƒ ¹v© ¡(9)ËŽ is the distance from point ŒBŽ to the chord segmentË, €£Ò€£>_and’ Û=_ §Å€ €=_ §Å€ €Á if ° Á Á’¥¡ ÁÁ if ° Á Á’D›(10)ÁÓ Ô@Í ¸ ° §° ƒ ¹ min¸ max¸ Á ÁÁ ÁžÁ Á ƒ Á Á¹’Ï§max¸ Á ÁÁ ÁÁ Á ƒ Á Á¹©¹ ¬ (11)Õ‚§At this point, the trajectory curve most probably hasa new set of vertices, € , € ƒ , ..., € ˆž‹Þ , where ß is thenumber of new **on**ent curve segments€ € >_ are quadratic Bézier segments.3.2 Profile CurveOnce determined the trajectory curve, it is necessary to definethe profile curve that is used to compose the basis functi**on**.The chosen profile curve has to ensure that the basisfuncti**on** is positive within its support domain, attains a singlemaximum, and does not possess local maxima or minima(see Secti**on** 2). A cubic Hermitian functi**on** guaranteesall these properties and is used herein, although, other functi**on**swith similar properties could also be used.

îáèàîáèààáîîáèàáè îîáèààæóáîá àîáèàîáèààáîîáè îæàáîàáîáóàáîáîîáèàáè î#(a)z(b)yzL(u)C(u)xxL z (u)Figure 7: C**on**figurati**on**s of Trajectory and Profile curves.(x,y)(x k ,y k )y(x c ,y c )The cubic Hermitian profile curve is defined parametrically**on** a local coordinate system àá , where the á axisxC(v)coincides with the directi**on** of the projector â#ãäªâ ä , byFigure 8: C**on**tributi**on** of basis functi**on** at the point æ à.ì íæçÇè5îì ïAæçÇèÆðÇé+ëòñJóUç§îçŠôžǣ óÊõªç.ös÷OèÆðøîåÊæçÇèêé+ëç ú ñžû ù…ú(12)Notice that the parameterizati**on** is such that the curveis swept from å²æ ù èêé×ë>ñžî ù ð to åÊǣ ñPèüéÏë ù î\ñ5ð .¨ ä æwhere is the n**on**-normalized basis functi**on** relativeto the sample â ä point , the c**on**tributi**on** is accomplishedas follows:1. Given a point æ àdefined as í! ï é" ¨$#æè*) ù ;3.3 Compositi**on** of Blending Functi**on**As menti**on**ed at the beginning of Secti**on** 3, the blendingfuncti**on** associated with the sample point â ä is generatedas a swung surface by the revoluti**on** of a profile curvearound the projector âBãäªâ ä (its local á axis) while the profilecurve is scaled by the trajectory curve during revoluti**on**(see Figure 8).C**on**sidering, in the compositi**on** process, that the trajectorycurve is defined **on** the plane àqá asý æ¥þAèüéÏë ÿ í æþ^è5î6ÿ ï æ¥þAèÒðÒî ù…ú þ¡ Å÷£¢ ù£¤ î(13)and that, at the beginning of revoluti**on**, the profilecurve is in the plane à¦¥ (Figure 7); the resulting blendingfuncti**on** is expressed by2. For each functi**on**¨+#æbasisthe intersecti**on** à/.îá£.èof the straight-line from âBãwith the trajectory curve corre-æ. Scale the profile curve, i.e., compute:#through point àsp**on**ding to æ ã âç†éÏñJóobtaining¨$#æ, determine the set í ï è¦- í ï, computeè,%#è5æà .óà #è@ö«æà1#èàö«æ ôè´é¥ì ï æçÇèà0.ó(Figure 8);á£.ó#è

Z/ZZ33b 1d 1Q i= b 0M Q i+1= b 2P icd chull f_d\f f of the Bézier segment to be expanded;2. For each point ! " found in Step 1 and using its baricentriccoordinates ¢ R d ¦ !R ¦ £R relative to the triangularc**on**vex hull, determine Z by_Figure 9: Z for the curve segment lrøl£=u .¢ R 6XA¢ø:TS R d R 5¦(19)such that the expansi**on** of the Bézier segment passesthrough the point !B" [11];Q i= b 0b 1P iclQ i+1= b 23. Define Z as the smallest of all Z determined in Step2;4. DetermineM N according to Equati**on** (17) and computethe final Z as¦\¢M NX¢M vj M NM¦ ZM;(20)Figure 10: Bézier expansi**on** over restricted.point, !Y" , in the regi**on** between the chord’s support lineand the parallel through point f ; andMON is a fracti**on** ofthat chord, given asis given byM N «0ly>u ej lyxM¦ x¦\¢MOP6XA¢M vj MOP©5¦(17)(18)This choice of Z takes into account just the **on**vex hull fidu fromit [10] (see Figure 9).distanceMQPOne of the important properties of Bézier curves is thattheir expansi**on** is limited by their c**on**vex hulls. Hence,**on**e can c**on**clude that, if a ! " point is outside thef d f ftriangle, it should not impose any restricti**on** **on** the expansi**on**of the Bézier segment (see Figure 9). Said in a differ-ent way, it is not possible for a Bézier segment to includea !B" point outside its c**on**vex hull. Thus, no expansi**on** ofthe Bézier curve shown in Figure 9 will be able to enclosea !Y" point outside the trianglef . Also, it can be verifiedin the illustrati**on** shown in Figure 10 that, even whenf_dQf" is in the interior of the c**on**vex hull fid\f f , the c**on**diti**on**that the Bézier can expand at most up to touching the!straight line, parallel to the lrÒl£=u chord , passing throughis too restrictive.!Y"To overcome these deficiencies and to allow a more efficientexpansi**on** of the Bézier segments, a better approachis based **on** the following strategy for determining :Z1. Find all the sample **on**vexU X¢WV_¦(21) ¢ j :ZV.hs~O[üh ¢& j /(V_¦¥/YVin comp**on**entU X¢\VÇthe of functi**on**]¢\VÇthe provides awhole range of possibilities for the profile curve. Noticethat, this biased profile curve assumes any c**on**figurati**on** betweenthe Cubic Hermitian (/· & ) (see Equati**on** (12));and a linear functi**on** (/W). The tangents atVand & are both equal to (& j / ). Therefore, at the sample**on** with 0 different / and are shown.4 Comparis**on** of ResultsIn this secti**on**, two **reference** models were chosen to showthe comparis**on** tests. Each **reference** model is comparedto three interpolated **on**es generated by: polyhedral interpolati**on**,the interpolati**on** method proposed in [5], and theinterpolati**on** method proposed in this work.These three interpolated models were c**on**structed asfollows: 1) a number of sample **on** thedomain; 2) a Delaunay triangulati**on** of these **on**s for these

3333¦&¢&:&:4&:&:4egfihjflknmo

Ù’egfuhjfuknmo