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

geoinfo.info
  • No tags were found...

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

1A Strategy for the Interpolation of SurfacesThrough the Use of Basis FunctionsEDSON 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 construction of digital terrain models based on surface interpolation, it is defined a bivariatefunction that interpolates a finite set of sample ong>pointsong>, §¢¤ ¦©¨ ¦, such that, ¡£¢¤ ¦¨ . In thiswork, it is presented a strategy for the generation of interpolation surfaces through the use of basis functions. Thismethodology is based on a work by Chaturvedi and Piegl, where improvements related to the construction of the¡£¢¥¤§¦©¨basis functions were made. The proposed strategy allows a larger expansion of the basis function’s support region,represented by the interior of a trajectory curve, composed of quadratic rational Bézier segments and reduces theapproximation error between the reference surface and the interpolation surface.1 IntroductionIn Digital Terrain Modeling, the concept of height fields ismathematically represented by an elevation function, defined on the domain D of a referenceplane. Usually, the elevation values are known only at afinite set of sample ong>pointsong>.The use of irregularly distributed sample ong>pointsong> avoidsthe over sampling problem that is common to Data ElevationModels [1], where the sample ong>pointsong> are distributedover a regular grid.Regardless of the type of sample point distribution used,a way of computing the elevation at any point of the domainis needed. For that purpose, several surface interpolationstrategies 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 generationof interpolation surfaces through the use of basis functions.This methodology is based on a work of Chaturvediand Piegl [5], where improvements related to the constructionof the basis functions were made. This methodologyallows a larger expansion of the basis function’s support region,represented by the interior of a trajectory curve, composedof quadratic rational Bézier segments. Moreover, itpromotes a better agreement between the interpolating surfaceand a reference terrain.The surface is defined procedurally, based on a triangulationof the !#"$%¢¥¤ $ ¦©¨ $ projections, , of the sample! $ ¢¥¤ $ ¦©¨ $ ¦ $ ong>pointsong>, &('*)+', , , on a referenceplane . The interpolation surface is constructed by a suitablecombination of ¤-¨ specially defined basis functions,corresponding to the sample ong>pointsong>.Each basis function is defined on a local domain inthe neighborhood of the corresponding projection !."$ . Thisdomain includes only ! "$ and its adjacent ong>pointsong> in the tri-Figure 1: Two possible basis functions.angulation. The illustration in Figure 1 shows two distinctbasis functions associated with the sample point ! "$ : one,corresponding to a piecewise linear interpolation; and theother, constructed over an expanded domain and utilizing asmooth profile curve.The smoothness of the profile curve and the extensionof the domain are controlled by local parameters / and 012 3 ¦&54 , respectively, which influences the overall shape of thebasis function.The remainder of the paper is organized as follows. InSection 2, it is presented an overview of the surface reconstructionproblem, using basis functions. In Section 3, it isdiscussed the aspects of construction and control of basisfunctions. In Section 4, the proposed method is contrastedagainst other methods. Finally, some conclusions are drawnin Section 5.2 Interpolation SurfaceThe surface reconstruction problem of a terrain, for whicha set of sample ong>pointsong> ! $, )9¢¥¤ $ ¦©¨ $ ¦6 $ 87


?F?3G$5HF11F3¦Nis known, consists in determining a bivariate func-, such ?¢¤ $ ¦¨ $ that. The !B"$ ong>pointsong> are the orthogonal projections oftion ?¦6:¦;=¦¢¤@¦Ä &CD8! $ ong>pointsong> on the reference plane .¤-¨ $ for each point !B"$#1Equation (1) determines the interpolation ? 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 functions E $ ¢¥¤§¦©¨1¢¥¤§¦©¨YX $ E $ ¢¤@¦©¨5;(non-negativity);¢¤@¦Ä(1)(partition of unity);)UT WV if R $ Nand $ , where $ is the supportAs pointed out in [5], requirements 2-5 are easily satisfiedif rational basis functions of the formE $ ¢¥¤@¦¨¢Z $ ¢¥¤§¦©¨©6XA¢GH NZ N ¢¤@¦©¨are used. It is also pointed out, in the same work, that thesebasis functions are analogous to the tensor product B-splinebasis functions in that: 1) they can be defined over arbitrarydomains (concave or convex); 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 constructing¢¥¤@¦¨the interpolation surfacebased on Equation (1) are distinguishable, both, bythe way E $ ¢¥¤@¦¨the basis functions are defined, and by theway the basis functions’ support domains are delimited. Forexample, the basis functions of the polyhedral interpolationare swung surfaces defined by rotating a linear profile curvearound a local z-axis and scaling the profile by the boundarypolygon of the support region. This region is identified bythe triangulation !B"$ of the ong>pointsong> (Figure 1(a)).In summary, given an arbitrary point , to obtainit is necessary: 1) to find all the basis functions¨ ¤@¦A[ ¢\[that do not vanish at ; 2) to evaluate each non-zerocontribution of these basis functions by, first, computing¢\[ ¤_¦`[Ä ¢Q[ ¤§¦A[ ¨and, then, substituting into Equation (2); and 3)Z $to blend the basis functions values with the correspondingsample ong>pointsong>, using Equation (1).[]?¤§¦^[ ¨^ ¢Q[(2)3 Basis FunctionsIn this section, it is discussed a two-step process for theconstruction of basis functions. First, a trajectory curve thatdelimits the support domain of the basis function is determined.Then, a profile curve is defined to generate a swungsurface as it is scaled by the trajectory curve during its revolutionaround the corresponding sample point projector.The main improvements over the process proposed in [5]are made in the construction of the trajectory curves.3.1 Trajectory CurveIn order to determine the trajectory curve that delimits thesupport domain of the basis function associated with a sample! $ point , one starts by obtaining a triangulation of¢¤ANO¦¨PNQthe!Y" N projections, , of the sample ong>pointsong> on thereference plane. Next, using all the triangles that share the!Y"$ vertex , a polygon is defined by connecting the sides oppositeto that vertex. Finally, it is constructed a sequenceof NURBS (Non-Uniform Rational B-Splines)[9] relative toeach side of the polygon just defined such that they maintainacontinuity at the connecting ong>pointsong>.The resulting trajectory curve can be either open, whenever!Y"$ is at the border of the terrain’s domain ; or closed,when it is an interior point of (See Figure 2). In synthesis,the trajectory curve must: 1) interpolate all the verticesof the polygon used to define the support region; 2) possess,at a least, continuity ; 3) define a region in !#"$ which isthe only sample point projection strictly inside it; and, 4) beintersected at most once by any straight-line segment withorigin at !B"$ point .Conditions 1) and 2) are trivially satisfied, if NURBSsegments are chosen to connect each two consecutive verticesof the polygon. Condition 3) implies that !#" ong>pointsong>which are not part of the boundary polygon impose limitson the expansion of the trajectory curve, since none of themcan lie inside the support region. Condition 4) imposes aspecial strategy for the construction of the trajectory curve,as discussed next.The NURBS segments chosen are quadratic rationalBé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: Computation of the tangent k. at l£ .Suppose mnl¦l ¦\;>;=;=¦l£oqp that is the set of verticesof the polygon around !B"$ point determined by the triangulation(see Figure 2), lrostl where when the curve is, one triesclosed. Between each pair of vertices lr l£=uto define a connecting quadratic rational Bézier segment.However, that is not always possible, requiring that more¢than one segment be used.In order to determine the connecting 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 equationl£=u vj l£w6XA¢6xly>u ej ly¥wx M¦kB_k# where is an unit vector with the same orientation as vector(Figure 3).l£=u vj l£wEquation (4) adequately defines the tangent at all thel£ ong>pointsong> whenever the trajectory curve is closed. However,when that curve is open, it is necessary to define anotherway of computing the tangent vectors at the extremitiesl o and . l Hence:1. If zS(4)k , k and are defined as the unit vectorsthat {`|O} form angles with the l j l vector (Figure4(a));2. If z, k is defined as the unit vector tangent to(e)Q iQ iQ´ii> 0, i= 01 2Q´iQ i+1Q iQ´iii< 0, i= 0i1 2= 0, i< 01 2 = 0, i> 01 2Q i+1Q iQ´iFigure 5: Configurations 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 once, one 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 control ong>pointsong> of each Bézier segment connecting€ =­_ to , since the tangent at these vertices €areknown.If the tangents were "well behaved", as shown in Figure5(b), one would simply choose the intersection point ofthe parameterized straight-lines €£¯®8°Q‡B and €…=­_Q®²±¯‡B=­_as the middle control 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, consider ° 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 control ong>pointsong> is defined by analyzing the fivecases depicted in Figure 5 and described as follows.Case (° ’¼° ƒ ’½¡ 1 ) (Figure 5 (a)): The Béziersegment consists of a straight-line segment. One chooses³_¾8’]€ , ³ ’ ¸ € ®(€ =­_5¹À¿ ¤ and ³ ƒ ’]€ =­_ .Case 2 (° ° ƒ ’9§Y› and Á ÁÁ Á® Á Á ƒ Á Á£Â›\ O¡O¢ ) (Figure5(b)): One chooses ³i¾Ã’Ä€ , ³ as the intersection 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 only then tointerpolate the curve segments €yÆ€… e €£ €£>­_ . Point €£is defined by’S€…Ç® µ ºÈŠ® ºÈÉ (5)€µ £’ €…=­_´§s€… where ¿ ¤ , È is the unit vector in thedirection 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 non-neighbor Œ. point to the chord€ >­i and Ë^Ì is a chosen fraction of this chord segment,€. The ‡# tangent €… at is thei.e. Ë^Ì ’tÍ € >­i §Î€,vector parallel to the € € >­_ chord .Case (° ° ƒ ’Ï› 4 ) (Figure 5(d)): Taking = 0, one determinesthe €y point on the chord €yÆ€£>­_ segment . Thetangent € at is then defined asIn this case, one 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 correction 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 ong>pointsong> €that were created. After determiningthe tangents at all the vertices, the trajectory curve iscompletely defined, and all the component 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 function.The chosen profile curve has to ensure that the basisfunction is positive within its support domain, attains a singlemaximum, and does not possess local maxima or minima(see Section 2). A cubic Hermitian function guaranteesall these properties and is used herein, although, other functionswith similar properties could also be used.


îáèàîáèààáîîáèàáè îîáèààæóáîá àîáèàîáèààáîîáè îæàáîàáîáóàáîáîîáèàáè î#(a)z(b)yzL(u)C(u)xxL z (u)Figure 7: Configurations of Trajectory and Profile curves.(x,y)(x k ,y k )y(x c ,y c )The cubic Hermitian profile curve is defined parametricallyon a local coordinate system àá , where the á axisxC(v)coincides with the direction of the projector â#ãäªâ ä , byFigure 8: Contribution of basis function at the point æ à.ì íæçÇè5îì ïAæçÇèÆðÇé+ëòñJóUç§îçŠôžǣ óÊõªç.ös÷OèÆðøîåÊæçÇèêé+ëç ú ñžû ù…ú(12)Notice that the parameterization is such that the curveis swept from å²æ ù èêé×ë>ñžî ù ð to åÊǣ ñPèüéÏë ù î\ñ5ð .¨ ä æwhere is the non-normalized basis function relativeto the sample â ä point , the contribution is accomplishedas follows:1. Given a point æ àdefined as í! ï é" ¨$#æè*) ù ;3.3 Composition of Blending FunctionAs mentioned at the beginning of Section 3, the blendingfunction associated with the sample point â ä is generatedas a swung surface by the revolution of a profile curvearound the projector âBãäªâ ä (its local á axis) while the profilecurve is scaled by the trajectory curve during revolution(see Figure 8).Considering, in the composition process, that the trajectorycurve is defined on the plane àqá asý æ¥þAèüéÏë ÿ í æþ^è5î6ÿ ï æ¥þAèÒðÒî ù…ú þ¡ Å÷£¢ ù£¤ î(13)and that, at the beginning of revolution, the profilecurve is in the plane থ (Figure 7); the resulting blendingfunction is expressed by2. For each function¨+#æbasisthe intersection à/.îá£.èof the straight-line from âBãwith the trajectory curve corre-æ. Scale the profile curve, i.e., compute:#through point àsponding 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 triangularconvex 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 expansion 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 Equation (17) and computethe final Z as¦\¢M NX¢M vj M NM¦ ZM;(20)Figure 10: Bézier expansion over restricted.point, !Y" , in the region between the chord’s support lineand the parallel through point f ; andMON is a fraction 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 ong>pointsong>, notneighbors of !Y"$ , that are inside the convex hull fidu fromit [10] (see Figure 9).distanceMQPOne of the important properties of Bézier curves is thattheir expansion is limited by their convex hulls. Hence,one can conclude that, if a ! " point is outside thef d f ftriangle, it should not impose any restriction on the expansionof 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 convex hull. Thus, no expansion ofthe Bézier curve shown in Figure 9 will be able to enclosea !Y" point outside the trianglef . Also, it can be verifiedin the illustration shown in Figure 10 that, even whenf_dQf" is in the interior of the convex hull fid\f f , the conditionthat 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 efficientexpansion of the Bézier segments, a better approachis based on the following strategy for determining :Z1. Find all the sample ong>pointsong> ! " that are inside the convexU X¢WV_¦(21) ¢ j :ZV.hs~O[üh ¢& j /(V_¦¥/YVin componentU X¢\VÇthe of function]¢\VÇthe provides awhole range of possibilities for the profile curve. Noticethat, this biased profile curve assumes any configuration betweenthe Cubic Hermitian (/· & ) (see Equation (12));and a linear function (/W). The tangents atVand & are both equal to (& j / ). Therefore, at the sampleong>pointsong>, /·& unless , the digital terrain model does notVhave to show a plateau shape. In Figure 11, some examplesof the same basis function with 0 different / and are shown.4 Comparison of ResultsIn this section, two reference models were chosen to showthe comparison tests. Each reference model is comparedto three interpolated ones generated by: polyhedral interpolation,the interpolation method proposed in [5], and theinterpolation method proposed in this work.These three interpolated models were constructed asfollows: 1) a number of sample ong>pointsong> was defined on thedomain; 2) a Delaunay triangulation of these ong>pointsong> wasdetermined; 3) the elevations for these ong>pointsong> were directly min ¢ &


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


Ù’egfuhjfuknmo

More magazines by this user
Similar magazines