8
Edge Maps: Representing Flow with Bounded Error !"#$% &%"’(" * )*+ +,$’(’-’./ 0,(12 34 0’"% )%#..#"5 6"7%"1 * )*+ +,$’(’-’./ 0,(12 34 0’"% 8..#9:(;3 &#.;.# <"=#.,>. <(1.#;3#. ?"’(3,"@ <"A B-3,(,C *%., * )*+ +,$’(’-’./ 0,(12 34 0’"% 63$%-" D2 <.1(,. * )*+ +,$’(’-’./ 0,(12 34 0’"% <-($ B-$’"13 ?3,"’3 0,(1.#$(7"7. 7. )E "3 8"-@3/ &#"F(@ G"@.#(3 8"$>->>( * )*+ +,$’(’-’./ 0,(12 34 0’"% H(C-#. IJ K7C. ;"L$ .,"A@. ,.= 1(.=$ 34 1.>’3# M.@7 $’"A(@(’N/ (@@-$’#"’.7 =(’% " 1.>’3# M.@7 3, ’%($ ="1N $-#4">.2 :3L #3= O;(77@. #(C%’PJ D 1($-"@(F"’(3, 34 $3;. >3@3#.7 #.C(3,$ =%.#. Q3= $%"#.$ ’%. $";. $3-#>. OC#.., $L%.#.$P ",7 $(,R O#.7 $L%.#.$P ($ "-C;.,’.7 ’3 $%3= %3= ’%.$. #.C(3,$ 31.#@"L =%., .##3# ($ (,’#37->.72 &3’’3; #3= O;(77@. #(C%’PJ )’#.";="1.$ O>3@3#.7 C#.., ’3 #.7 "$ ’%.N C#3=P $%3= ’%. "71.>’(3, 34 " $(,C@. L"#’(>@.2 +, ’%. L#.$.,>. 34 .##3#/ ="1.$ >", =(7., ",7 ,"##3=/ ",7 A(4-#>"’. 3# ;.#C.2 ABSTRACT Robust analysis of vector elds has been established as an im- portant tool for deriving insights from the complex systems these elds model. Many analysis techniques rely on computing stream- lines, a task often hampered by numerical instabilities. Approaches that ignore the resulting errors can lead to inconsistencies that may produce unreliable visualizations and ultimately prevent in-depth analysis. We propose a new representation for vector elds on sur- faces that replaces numerical integration through triangles with lin- ear maps dened on its boundary. This representation, called edge maps, is equivalent to computing all possible streamlines at a user dened error threshold. In spite of this error, all the streamlines computed using edge maps will be pairwise disjoint. Furthermore, our representation stores the error explicitly, and thus can be used to produce more informative visualizations. Given a piecewise-linear interpolated vector eld, a recent result [15] shows that there are only 23 possible map classes for a triangle, permitting a concise description of ow behaviors. This work describes the details of computing edge maps, provides techniques to quantify and rene edge map error, and gives qualitative and visual comparisons to more traditional techniques. Keywords: Vector Fields, Error Quantication, Edge Maps. Index Terms: I.3.3 [Computer Graphics]: Picture/Image * emails: {hbhatia, jadhav, chengu, jlevine, pascucci}@sci.utah.edu email: [email protected] email: [email protected] Generation—Line and curve generation; I.3.6 [Computer Graph- ics]: Methodology and Techniques—Graphics data structures and data types; G.1.2 [Numerical Analysis]: Approximation— Approximation of surfaces and contours 1 MOTIVATIONS Vector elds are a common form of simulation data appearing in a wide variety of applications ranging from computational uid dy- namics (CFD) and weather prediction to engineering design. Vi- sualizing and analyzing the ow behavior of these elds can help to provide critical insights into simulated physical processes. How- ever, achieving a consistent and rigorous interpretation of vector elds is difcult, in part because traditional numerical techniques for integration do not preserve the expected invariants of vector elds. To better understand this inherent issue of traditional numerical techniques, we start with a description of a common way to store vector elds. Both a discretization of the domain of the eld (often in the form of a triangulated mesh) as well as a set of sample vec- tors (dened at the vertices of the mesh) are required. The vector eld on the interior of a triangle is approximated by interpolating vector values from the samples at the triangle’s corners. Computing properties that then require integrating these vector values presents a signicant computational challenge. For example, consider com- puting the ow paths (streamlines) of massless particles that travel using the instantaneous velocity dened by the eld. Na¨ ve inte- gration techniques may violate the property that every two of these paths are expected to be pairwise disjoint (i.e. the uniqueness of the solution of an ordinary differential equation). Figure 2 gives one such example, where a fourth-order Runge-Kutta integration tech- nique creates two crossing streamlines. Despite these problems, many of the standard techniques used 75 IEEE Pacific Visualisation Symposium 2011 1 - 4 March, Hong Kong, China 978-1-61284-934-8/11/$26.00 ©2011 IEEE

Edge Maps: Representing Flow with Bounded Error …nonato/pubs/flowmap.pdf · todetectlimitcyclesinplanarvector elds. Scheuermannetal.[26] look for the areas of non-linear behavior

Embed Size (px)

Citation preview

Page 1: Edge Maps: Representing Flow with Bounded Error …nonato/pubs/flowmap.pdf · todetectlimitcyclesinplanarvector elds. Scheuermannetal.[26] look for the areas of non-linear behavior

Edge Maps: Representing Flow with Bounded Error

!"#$% &%"'("!)*+ +,$'('-'./ 0,(12 34 0'"%

)%#..#"5 6"7%"1!)*+ +,$'('-'./ 0,(12 34 0'"%

8..#9:(;3 &#.;.#†<"=#.,>. <(1.#;3#. ?"'(3,"@ <"A

B-3,(,C *%.,!)*+ +,$'('-'./ 0,(12 34 0'"%

63$%-" D2 <.1(,.!)*+ +,$'('-'./ 0,(12 34 0'"%

<-($ B-$'"13 ?3,"'3‡0,(1.#$(7"7. 7. )E"3 8"-@3/ &#"F(@

G"@.#(3 8"$>->>(!)*+ +,$'('-'./ 0,(12 34 0'"%

H(C-#. IJ K7C. ;"L$ .,"A@. ,.= 1(.=$ 34 1.>'3# M.@7 $'"A(@('N/ (@@-$'#"'.7 =('% " 1.>'3# M.@7 3, '%($ ="1N $-#4">.2 :3L #3= O;(77@. #(C%'PJ D1($-"@(F"'(3, 34 $3;. >3@3#.7 #.C(3,$ =%.#. Q3= $%"#.$ '%. $";. $3-#>. OC#.., $L%.#.$P ",7 $(,R O#.7 $L%.#.$P ($ "-C;.,'.7 '3 $%3= %3='%.$. #.C(3,$ 31.#@"L =%., .##3# ($ (,'#37->.72 &3''3; #3= O;(77@. #(C%'PJ )'#.";="1.$ O>3@3#.7 C#.., '3 #.7 "$ '%.N C#3=P $%3= '%. "71.>'(3,34 " $(,C@. L"#'(>@.2 +, '%. L#.$.,>. 34 .##3#/ ="1.$ >", =(7., ",7 ,"##3=/ ",7 A(4-#>"'. 3# ;.#C.2

ABSTRACTRobust analysis of vector elds has been established as an im-portant tool for deriving insights from the complex systems theseelds model. Many analysis techniques rely on computing stream-lines, a task often hampered by numerical instabilities. Approachesthat ignore the resulting errors can lead to inconsistencies that mayproduce unreliable visualizations and ultimately prevent in-depthanalysis. We propose a new representation for vector elds on sur-faces that replaces numerical integration through triangles with lin-ear maps dened on its boundary. This representation, called edgemaps, is equivalent to computing all possible streamlines at a userdened error threshold. In spite of this error, all the streamlinescomputed using edge maps will be pairwise disjoint. Furthermore,our representation stores the error explicitly, and thus can be used toproduce more informative visualizations. Given a piecewise-linearinterpolated vector eld, a recent result [15] shows that there areonly 23 possible map classes for a triangle, permitting a concisedescription of ow behaviors. This work describes the details ofcomputing edge maps, provides techniques to quantify and reneedge map error, and gives qualitative and visual comparisons tomore traditional techniques.Keywords: Vector Fields, Error Quantication, Edge Maps.Index Terms: I.3.3 [Computer Graphics]: Picture/Image

!emails: {hbhatia, jadhav, chengu, jlevine, pascucci}@sci.utah.edu†email: [email protected]‡email: [email protected]

Generation—Line and curve generation; I.3.6 [Computer Graph-ics]: Methodology and Techniques—Graphics data structuresand data types; G.1.2 [Numerical Analysis]: Approximation—Approximation of surfaces and contours

1 MOTIVATIONSVector elds are a common form of simulation data appearing in awide variety of applications ranging from computational uid dy-namics (CFD) and weather prediction to engineering design. Vi-sualizing and analyzing the ow behavior of these elds can helpto provide critical insights into simulated physical processes. How-ever, achieving a consistent and rigorous interpretation of vectorelds is difcult, in part because traditional numerical techniquesfor integration do not preserve the expected invariants of vectorelds.To better understand this inherent issue of traditional numerical

techniques, we start with a description of a common way to storevector elds. Both a discretization of the domain of the eld (oftenin the form of a triangulated mesh) as well as a set of sample vec-tors (dened at the vertices of the mesh) are required. The vectoreld on the interior of a triangle is approximated by interpolatingvector values from the samples at the triangle’s corners. Computingproperties that then require integrating these vector values presentsa signicant computational challenge. For example, consider com-puting the ow paths (streamlines) of massless particles that travelusing the instantaneous velocity dened by the eld. Nave inte-gration techniques may violate the property that every two of thesepaths are expected to be pairwise disjoint (i.e. the uniqueness of thesolution of an ordinary differential equation). Figure 2 gives onesuch example, where a fourth-order Runge-Kutta integration tech-nique creates two crossing streamlines.Despite these problems, many of the standard techniques used

75

IEEE Pacific Visualisation Symposium 2011

1 ­ 4 March, Hong Kong, China

978­1­61284­934­8/11/$26.00 ©2011 IEEE 

Page 2: Edge Maps: Representing Flow with Bounded Error …nonato/pubs/flowmap.pdf · todetectlimitcyclesinplanarvector elds. Scheuermannetal.[26] look for the areas of non-linear behavior

H(C-#. SJ <.4'J :=3 $'#.";@(,.$ "#. $..7.7 '#"1.@(,C >@3>R=($."#3-,7 '%($ $(,R (, " 73;"(, ["1,1]# ["1,1]2 &3''3;J +,('("@@N/ '%.;"C.,'" $'#.";@(,. ($ $..7.7 3-'$(7. 34 '%. A@-. $'#.";@(,.2 :3LJD4'.# (,'.C#"'(3, =('% " $'.L $(F. 34 0.025 '%. $'#.";@(,.$ >#3$$/ ,3='%. ;"C.,'" $'#.";@(,. ($ (,$(7. '%. A@-. $'#.";@(,.2

for vector elds rely on variants of Runge-Kutta methods. Conse-quently, robustly computing ow becomes a formidable task. Inte-gration is confounded by numerical errors at each step, in particularnear unstable regions where the ow bifurcates or spirals slowly.These errors can compound quickly to produce inconsistent viewsof the vector eld. The resulting visualizations and analysis cancause inaccurate interpretations of the eld.Apart from the obvious problem of potentially including an un-

known structural error in the analysis, traditional techniques cancause a more subtle yet equally important problem. By hiding theerrors inherent in the numerical integration these techniques createthe perception of certainty. The user is presented with crisp linesand clean segmentations which imply a false level of accuracy. In-stead, a more nuanced approach that clearly indicates which infor-mation is known and where possible instabilities might arise wouldprovide a more candid view of the data.Considering these motivations, we propose a new data structure

to represent vector elds called edge maps. Edge maps provide anexplicit representation of ow by mapping entry and exit points ofow paths on the edges of the triangle. Thus, they encode the prop-erty most often needed by common analysis tools to compute visu-alizations and topological decompositions. We show how to com-pute many of the same primitives robustly and directly on the edgemaps themselves. Moreover, the edge map data structure encodesnumerical error, allowing the presentation of a more complete viewof the data illuminating the major features that demonstrate wherenumerically unstable regions exist. By quantifying this error, wecan rene the maps to bound the amount of error incurred by thisrepresentation.While a method is required to compute the initial ow within

each triangle, any subsequent computation assumes the edge mapto be ground truth. Such a strategy is akin to recent techniques thatrobustly compute scalar eld topology. Gyulassy et al. [10], forexample, convert a scalar eld into a discrete gradient from whichglobal properties such as the topology can be extracted consistently.In both scalar and vector elds the initial conversion can create dis-cretization artifacts. However, the net gain is signicant. Usingedge maps, we can carry the error through while performing com-putation. Where discretization artifacts have occurred, we showthese unavoidable errors explicitly to the user. Consequently, in-stead of providing a black box representation of the data that ig-nores the impact of discretization, we can provide analysts a visu-alization of the data that accounts for these artifacts and indicateshow errors may have affected the apparent ow behavior.

ContributionsThis paper describes a new data structure for storing the ow behav-ior of a vector eld that does not rely on numerical integration. Thisstructure is complementary to the traditional way of storing vectorelds as piecewise linear interpolations over a mesh. Each trianglestores a map which encodes the inow/outow behavior over theboundary of the triangle. This allows us to replace the notion of in-tegration with a different primitive: map lookup. Our contributionsinclude:

• The denition of edge maps for triangulated 2D vector elds,and an algorithm to compute the approximate edge maps;

• Quantication of error bounds with this approximation;

• A renement procedure for reducing mapping error; and

• New visualizations of ow instabilities using edge maps.

A more detailed discussion on the mathematical properties ofedge maps and the possible congurations of ow within each tri-angle appeared in a recent technical report [15].

2 RELATED WORK

Since vector-valued data is a natural way to represent uid owin simulations as well as other dynamical systems [13], analyz-ing vector elds has received a signicant amount of attention inthe visualization community. In addition, computer graphics re-searchers have used vector elds for applications ranging from tex-ture synthesis and non-photorealistic rendering [5, 32] to mesh gen-eration [1, 22]. Regardless of the application, there is a universalneed to represent large, complex elds concisely. A reliable visu-alization must encode the important features of the eld and ensurethat the methods used do not create contradictory views.Kipfer et al. [17], following the lead of Nielson and Jung [21],

proposed a local exact method (LEM) to trace a particle on lin-early interpolated vector elds dened on unstructured grids. LEMsolves an ODE representing the position of the particle as a functionof time, starting at a given position. Consequently, it removes theneed to perform step-wise numerical integration, and hence is freefrom the cumulative integration error and is as accurate as numeri-cal precision. Given an entry point of a particle to a simplex, LEMgives its exit point from the simplex. We use this exact methodduring the construction of edge maps, which removes the need foron-the-y numerical integration.Consistency is particularly desirable when computing structural

properties of vector elds. Helman and Hesselink [12] compute avector eld’s topological skeleton by segmenting the domain of theeld using streamlines traced from each saddle of the eld along itseigenvector directions. The nodes of the skeleton are critical pointsof the vector eld and streamlines that connect them are called sep-aratrices. Subsequently, the skeleton extraction has been extendedto include periodic orbits [31]. Three dimensional variants of thetopological skeleton have also been proposed [9, 16, 28, 30]. Thereaders should refer to [8, 19, 27] for more detailed surveys.However, it is well known that computing the topological skele-

ton can be numerically unstable due to errors inherent in the inte-gration of separatrices and inconsistencies among neighboring tri-angles [3, 7, 14, 21, 25, 28]. As a result, some of the fundamen-tal topological invariants of a vector eld may not be preserved,such as, the Poincare-Hopf formula or the fact that streamlines arepair-wise disjoint. Consequently, computing the topological skele-ton numerically is adequate for visualizing the resulting structuresbut less suitable for further analysis. A number of techniques havebeen proposed to extract the topological skeleton in a stable andefcient manner. Chen et al. [2] introduce the ECG (Entity Con-nection Graph) as a more complete topological representation ofvector elds on piece wise linear manifolds. By detecting closedstreamlines, Wischgoll and Scheuermann [31] propose a technique

76

Page 3: Edge Maps: Representing Flow with Bounded Error …nonato/pubs/flowmap.pdf · todetectlimitcyclesinplanarvector elds. Scheuermannetal.[26] look for the areas of non-linear behavior

to detect limit cycles in planar vector elds. Scheuermann et al. [26]look for the areas of non-linear behavior in the eld, and use higherorder methods so that the features are not destroyed under linearassumption.Recent work of Reininghaus and Hotz [23] construct a combina-

torial vector eld based on Forman’s discrete Morse theory [6]. Us-ing combinatorial elds allows the extraction of a consistent topo-logical structure. However, combinatorial vector elds were limitedby their high complexity, leading to later improvements to the al-gorithm [24]. While provably consistent, it is unclear how closethe combinatorial eld is to the original eld. By comparison, thiswork proposes an integration technique that is both consistent andhas error bounded with respect to the LEM.

3 EDGE MAPSTo address the issues of inconsistency, we propose an alternate rep-resentation called edge maps. In the following, we dene edgemaps and describe the elements that go into their construction.

3.1 FoundationsLet !V : M $R2 be a 2-dimensional vector eld dened on a man-ifoldM . !V is represented as the set of vector values sampled at thevertices of a triangulation of M . Specically, each vertex pi hasthe vector value !V (pi) associated with it. The vector values on theinterior of each triangle !with vertices {pi, p j, pk} in the triangula-tion are interpolated linearly using!V (pi),!V (p j),!V (pk). Figure 3(a)depicts the eld dened in this way for a single triangle.Given a vector eld!V , we can dene the ow x(t) of!V . Treating

!V as a velocity eld, the ow describes the parametric path thata massless particle travels according to the instantaneous velocitydened by !V . x(t) can be dened as the solution of the differentialequation:

dx(t)dt

=!V (x(t)).

The path x(t) with x(0) = x0 is called the streamline starting at x0.Since the analytic form of the vector eld is unavailable, solvingthis differential equation for a single streamline is typically accom-plished using numerical integration such as Euler or Runge-Kuttamethods.For a piecewise linear vector eld dened by the three vector

samples at the vertices of a triangle, we begin with assuming that:(1) the vectors at all the vertices of the triangle are non-zero, (2) thevectors at any two vertices sharing an edge are not antiparallel, and(3) the vectors at two vertices on an edge e are not both parallel to e.Any such conguration violating one of these conditions is unsta-ble, and can be avoided by a slight perturbation. This perturbationensures that no critical point lies on the boundary of the triangle,which signicantly simplies the analysis of edge maps.

3.2 DenitionLet ! be a triangle with boundary "!. To understand and representthe ow behavior through !, we rst summarize the formal de-nitions given in [15]. An origin-destination (o-d) pair is a pair ofpoints (p,q), where both p and q lie on "! and there exists a stream-line between them which lies entirely in the interior of !. We call pan origin point and q a destination point. Let P be the set of all theorigin points on "!, and Q be the set of all the destination points on"!. The edge map of !, # : P$ Q, is dened as the point-to-pointmapping between the boundary of the triangle, such that # (p) = qif (p,q) is an o-d pair. q is called the image of p under # . If thereexists a critical point on the interior of the triangle, some points on"! will not be a part of any o-d pair, since they ow to or emergefrom the critical point.Edge maps provide a point-to-point mapping of endpoints of

streamlines through a triangle. To efciently represent the edgemaps, we merge adjacent origin points that have destination points

which also adjacent. This merging helps approximate the point-to-point mapping as a mapping between connected subsets of theboundary of a triangle, called intervals. The interval obtained aftermerging adjacent origin points is called the origin interval, whilethe interval obtained by merging their respective destination pointsis called the destination interval. Pairing up of an origin and its cor-responding destination interval forms a link. A link is an interval-interval map, representing a region of unidirectional ow. Fig-ure 3(b) depicts the results of this merging process.

(a) (b) (c)

H(C-#. TJ K7C. ;"L 43# " '#(",[email protected] O"P U('%(, " '#(",C@./ '%. 1.>'3#($ #.L#.$.,'.7 AN (,'.#L3@"'(,C '%#.. 1.>'3#$ "' ('$ 1.#'(>.$2 OAP V-##.L#.$.,'"'(3, $-A7(1(7.$ '%. A3-,7"#N (,'3 " $.' 34 (,'.#1"@$/ =%(>%;"L (,Q3= '3 3-'Q3= 43# " '#(",[email protected] O>P B(1., ", .,'#N L3(,' '3 "'#(",C@./ ('$ >3##.$L3,7(,C .W(' L3(,' >", A. 3A'"(,.7 AN "LL#3W(;"'9(,C '%. ;"L @(,."#@N/ '%-$ #.L@">(,C $'#.";@(,. (,'.C#"'(3, =('% " $'.L">#3$$ '%. '#(",[email protected]

3.3 Edge Map GenerationFor practical purposes, we extend the denition of an edge map,to include critical points in the map. Such an extension facilitatesstreamline integration using edge maps, as discussed later. We de-ne a (forward) edge map #+ : P $ ! such that given a point pwhere a streamline enters the triangle, the map gives us the uniquepoint where it exits the triangle. If a critical point exists within thetriangle, the ow may never exit, hence the range of #+ can includethe interior of the triangle. On the points on the boundary, whereow does not enter the triangle, but instead, exits it, we dene abackward edge map #" : Q$ !. For a point q on the boundary of!, #"(q) describes the unique point where ow entered the triangleon its path to q.We note that the edge map # as dened in [15] is a bijection and

its inverse #"1 represents the edge map of inverted ow. However,according to the denition presented here, #+ (or #") is a bijectiononly if there is no critical point present in the triangle. For such tri-angles, #" = (#+)"1, since for points p,q % "!, #+(p) = q if andonly if #"(q) = p. As for triangles with critical point, this inverserelationship does not hold because #+ (or #") is no more a one-to-one map. In either case, for a triangle !, #+ and #" completelydescribe the behavior of the ow through !.An edge map (forward and backward) can be encoded concisely

as a collection of links of a triangle, such that the intervals are non-intersecting other than at their end points, and covers the entireboundary of the triangle (see Figure 3(c)). If there is a critical pointpresent in the triangle, some links may include the critical point asa source or destination interval. Thus, to store the edge map for atriangle, we only need to encode a collection of pairs of intervals.As discussed in Section 3.2, intervals are constructed by merging

adjacent origin points whose destinations are also adjacent. At themaximum level of merging, the intervals are bounded by either: (i)vertices of the triangle; (ii) images of vertices (Figure 4(a)); (iii)transition points: points where the ow changes between inowand outow (Figure 4(b)); (iv) images of transition points and (v)sepx points, where the separatrices of a saddle exit or enter (Figure4(c)).Figure 6 gives the algorithm for computing the edge map for

a triangle without a critical point. The advection of vertices andtransition points are done using LEM [21]. When the triangle has a

77

Page 4: Edge Maps: Representing Flow with Bounded Error …nonato/pubs/flowmap.pdf · todetectlimitcyclesinplanarvector elds. Scheuermannetal.[26] look for the areas of non-linear behavior

H(C-#. XJ :%. ST .Y-(1"@.,>. >@"$$.$ 34 .7C. ;"L$ 43# L(.>.=($. @(,."# Q3=2:%.N "#. 3#7.#.7 @.4'9'39#(C%'/ '3L9'39A3''3; AN '%. ,-;A.# 34 @(,R$'%"' .W($' (, .">% .7C. ;"L2 K">% @(,R ($ "$$(C,.7 " 7(44.#.,' >3@3#2

(a) (b) (c)

H(C-#. ZJ )L@(''(,C 34 '%. A3-,7"#N (,'3 (,'.#1"@$J O"P D '#(",C@. =('% "43#="#7 1.#'.W (;"C. OC#.N 73'P 34 '%. @3=.# #(C%' 1.#'.W[ OAP D '#(",C@.=('% " $(,C@. '#",$('(3, L3(,' O=%('. >(#>@.P 4#3; (,'.#,"@ Q3= ",7 ('$43#="#7 ",7 A">R="#7 (;"C. OC#.N 73'$P[ O>P D '#(",C@. =('% " $"[email protected](,' OA@">R 73'P/ ('$ 43-# $.LW L3(,'$ OC#.N 73'$P/ ",7 " '#",$('(3, L3(,'4#3; .W'.#,"@ Q3= O=%('. $Y-"#.P2 ?3'. '%"' (, ;3$' >"$. 1.#'(>.$"@$3 ">' "$ .W'.#,"@ '#",$('(3, L3(,'$2

critical point (detected using [20]), the algorithm is similar exceptthat there can be additional cuts (from separatrices) and the criticalpoint itself can act as an interval.

ConstructEdgeMap(!):

1. Identify the transition points on "!. If necessary ad-vect it forward and backward to nd its images.(There can be at most 6 transition points in a triangle:1 per edge and 1 per vertex. [15])

2. Advect any vertices of ! that are not transition pointsforward (resp. backward) to nd their images.(The transitions points, vertices, and their images cut"! into intervals of unidirectional ow.)

3. Using the direction (inow/outow), and connectivityimplied by advecting, pair intervals to form links.(Collection of these links compose the edge map.)

H(C-#. \J D@C3#('%; 43# >#."'(,C '%. .7C. ;"L 43# " '#(",[email protected]

3.4 Streamline Integration using Edge MapsThe encoding of ow as edge maps ultimately allows us to deter-mine structural properties of the ow through the triangle in a fastmanner. Consequently, this leads to computing ow-based proper-ties efciently. For example, we can query the edge maps to deter-mine destinations of points under the ow by trivially performinglookup and composition on the maps. At each lookup, we havepreserved the property that origin intervals are going to the samedestination intervals they would have in the original piecewise lin-ear ow.In particular, particle trajectories can be approximated on a per-

link level by linearly interpolating between the source and destina-tion intervals. As a result, this approach gives a method to approx-imate streamlines. As Figure 3(c) shows, for a point on any sourceinterval, we can approximate the path to its destination by linearlyinterpolating where it lies in the origin interval and projecting thatpoint to the same coordinate in the destination interval.Using the precomputed edge maps, any numerical integration to

calculate the streamlines or particle propagation (such as the sim-plest Euler integration) given by

xn+1 = xn+(tn+1" tn) ·!V (xn)

can be replaced by a simple lookup

xn+1 = #+(xn)

Hence, edge maps are faster, and as discussed in Section 4.1, havea bounded error that can be explicitly computed.

3.5 Equivalence Classes of Edge MapsIn a companion report [15], we show that there exist 23 equivalentclasses of edge maps for linearly varying ow, see Figure 5. Here,equivalence is dened as invariance under rotation of triangle andinversion of ow. Exploiting the fact that piecewise linear ow canswitch between inow and outow only once per edge, one canshow that the boundary of a triangle can be broken up into at mosteleven intervals, with a potential critical point acting as a twelfthinterval. To understand topological equivalence, splits caused byvertices and their images (see Figure 4(a)) are discounted. The lin-earity of the ow implies that these intervals may connect them-selves into, only in a limited number of ways to create a valid edgemap. For a more descriptive discussion on equivalence, and to un-derstand the rules for validating edge maps based on the propertiesof linear vector elds, the reader is encouraged to refer to [15].

78

Page 5: Edge Maps: Representing Flow with Bounded Error …nonato/pubs/flowmap.pdf · todetectlimitcyclesinplanarvector elds. Scheuermannetal.[26] look for the areas of non-linear behavior

Since the number of classes is limited, the overhead for storingthe edge maps of a single triangle is both bounded and relativelylow. We observe that only four of the classes do not contain a crit-ical point. Therefore, the vast majority of triangles in our experi-ments could be classied as one of these four types.

4 ERROR PROPAGATION USING EDGE MAPS

The most common approach for tracing streamlines is numericalintegration. From a given starting point these techniques repeat-edly take small steps to approximate the next position in the path.The resulting error is controlled only indirectly by choosing a stepsize [11]. Since typically the true streamline is not known, this er-ror cannot be quantied explicitly. While some schemes are moreaccurate than others and highly sophisticated techniques exist to lo-cally adapt the step size, the indirect control over an unknown errorrepresents a fundamental restriction. On the contrary, edge mapsrepresent and control the error explicitly and do not require settinga step size.Furthermore, integrating streamlines numerically can also lead

to inconsistencies, such as intersecting streamlines and signicantdifferences between forward and backward traced lines. Edge mapsreplace the integration with a one dimensional barycentric map-ping that guarantees non-intersecting streamlines and consistencybetween forward and backward traces up to the oating point pre-cision of the linear interpolation.

4.1 Mapping Error

As explained in Section 3.3, the vertices, saddle separatrices, andtransition points are advected to split the triangle perimeter into in-tervals. Since we use the LEM for this advection, the end-pointsof the intervals are accurate up to the oating point precision of thesystem. These intervals are paired into links to construct the edgemap. Since the edge map approximates the true exit point q of apoint p by linearly interpolating within the link as q&, it incurs someerror. This error can be calculated as the deviation of the exit pointgiven by the map, from that given by the exact method ('q" q&').We have derived the expression for this mapping error in a link,

(a)

]^

]^2^^I

]^2^^S

]^2^^T

]^2^^Z

]^2^^X

]^ ]^2X ]I ]I2X ]S ]S2X ]T$

.O%P

(b)

(c)

]^

]^2^^I

]^2^^S

]^2^^T

]^2^^Z

]^2^^X

]^ ]^2X ]I ]I2X ]S ]S2X ]T$

.O%P

(d)

H(C-#. _J `"LL(,C .##3# (, .7C. ;"L$2 :%. #.7 ",7 C#.., .##3#>-#1.$ (, OAP $%3= '%. ;"LL(,C .##3# (, #.7 ",7 C#.., @(,R$ 34 '%.'#(",C@. (, O"P2 :%. ;"LL(,C .##3# ($ 7#"=, "$ " 4-,>'(3, 34 "#>9@.,C'%L"#";.'.# 34 '%. '#(",C@./ $/ >3-,'.#9>@3>R=($. 4#3; '%. A3''3; @.4'1.#'.W2 H3# 2.0 < $ < 3.0/ '%.#. ($ ,3 ;"LL(,C .##3#/ $(,>. '%($ $.C9;.,' 34 '%. '#(",C@. ($ ">'(,C "$ " 7.$'(,"'(3,2 :%. "1.#"C. .7C.9@.,C'% 34 '%. '#(",C@. (, >3,$(7.#"'(3, ($ 0.0252 D #.M,.7 ;"L O>P>3,'"(,$ ;->% $;"@@.# ;"LL(,C .##3# O7P =%., #.M,.7 '3 & = 0.0025"$ >3;L"#.7 '3 '%. A"$(> ;"L2 a-#(,C #.M,.;.,'/ A3'% @(,R$ (, O"PC.' $L@(' (,'3 '=3 @(,R$ .">%2

e(% ), shown as Equation 1 in Appendix A (as a function of the arclength parameter of the link, % ).Figure 7 shows one such graph of the mapping error as a func-

tion of the arc-length parameter of the triangle, $ . We use the max-imum error value of error in a link as the mapping error of the link,' . An upper limit to this mapping error can be imposed by a userparameter, & . If for a link, ' > & , we split the link to improve theaccuracy of the map. We call this process renement of edge maps.Figure 7(c) shows rened map of the ow in Figure 7(a) ow with& = 0.0025.

(a)

]^]^2^^^X]^2^^I]^2^^IX]^2^^S]^2^^SX]^2^^T

]I2X ]I2\ ]I2_ ]I2b ]I2c ]S$

.O%P

(b)H(C-#. bJ D, .W";L@. 34 " ;"L =('% A(;37"@ .##3# O(, C#.., @(,RP2?3'. '%"' '%. W9"W($ %"$ A.., $>"@.7 '3 #",C. 1.4 ( $ ( 2.0 '3 (@@-$9'#"'. '%. ;"LL(,C .##3#2 H3# 3'%.# 1"@-.$ 34 $/ '%. .##3# ($ F.#3/ $(,>.'%3$. $.C;.,'$ "#. 7.$'(,"'(3,$2

In our experiments, we found that typically the error is unimodalin a link. However, the error can also be bimodal, as shown in Fig-ure 8. Unsurprisingly, the mapping error is zero in the absence ofdivergence, since there is no linear expansion of ow, in the direc-tion orthogonal to the ow. Figure 10 corroborates this intuition bytesting the edge map propagation in a purely rotational ow. Hence,in the absence of mapping error, the propagation using edge mapsis as accurate as the underlying method for advection used for mapgeneration.

4.2 Expansion of Exit Points

H(C-#. cJ KWL",$(3,34 .W(' L3(,'$ #.L#.$.,'$.##3# "$ " #",C. 34 L3$9$(A@. 7.$'(,"'(3,$2

We have been using the forward (#+)and backward (#") edge maps astools to look up the streamline of in-dividual particles. However, we canalso represent the mapping error ex-plicitly by redening the edge mapsas a one-to-many map.

#+(p,() = Q

where, for an entry point p, insteadof a single exit point q the map givesa range of possible exit points, a seg-ment Q, under the expansion factor( . This is illustrated in Figure 9. Thelength of the segment Q is directly proportional to the expansionfactor. Thus, we call Q the expansion of the exit point q.The mapping error ' for p encodes the deviation of its exit point

q dened by the edge map from the true exit point q. Therefore, theexpansion of the exit point Q calculated using ( = ' provides anupper bound on the possible exit points of p. Furthermore, since thestreamlines at the endpoints of the links are accurate, the expansioncan not span across links and thus is truncated at the endpoints ofthe link containing both p and q.

4.3 Streamwaves

Under the consideration of mapping error, edge maps no longerdescribe a one-to-one, but a one-to-many mapping. We dene astreamwave as set of possible destinations that a massless particlemay reach at least once when accounting for possible errors. Al-ternatively, a streamwave can be seen as the expansion of a stream-line due to mapping uncertainties. In the current work, we quantify

79

Page 6: Edge Maps: Representing Flow with Bounded Error …nonato/pubs/flowmap.pdf · todetectlimitcyclesinplanarvector elds. Scheuermannetal.[26] look for the areas of non-linear behavior

H(C-#. I^J *3;L"#($3, A.'=.., L#3L"C"'(3, -$(,C deZX [email protected]",7 .7C. ;"L$ O;"C.,'"P 3, " 1.>'3# M.@7 7.M,.7 AN " >3-,'.#9>@3>R=($. 3#A(' $..7.7 "' '%. $";. L3(,' ON.@@3=P2 :%. ;"C.,'" ",7A@-. @(,.$ 31.#@"L (, '%. A.C(,,(,C A-' " $-A$'",'("@ 7.1("'(3, (, deZX$'#.";@(,. ($ 3A$.#1.7 "4'.# 3,@N 3,. #.13@-'(3, "#3-,7 '%. >#('(>"@L3(,' OL-#[email protected] +, '%. "A$.,>. 34 ;"LL(,C .##3#/ '%. ;"LL.7 @(,.$"#. ">>-#"'. '3 Q3"'(,C9L3(,' L#.>($(3,2

and visualize the mapping error as streamwaves propagate. How-ever, any other kind of error can be modeled as the expansion ( forstreamwaves.Using the edge maps, we can compute the streamwaves as fol-

lowsXn+1 = #+(Xn,()

where X0 = {xo} represents the seed point of the wave and Xn theset of points currently at the front of the wave. Note that, in thisform the speed of the wave is determined by the number of trian-gles that are processed rather than the velocity of the ow. Us-ing traditional techniques to compute streamwaves as a collectionof streamlines can become computationally expensive and requiresdelicate processing in regions of high divergence. Using edge maps,however, propagating a wave is only as expensive as the number oftriangles currently at the front and independent of the ow com-plexity within each triangle.Furthermore, if there exist no bifurcations in a triangle, then only

extremes of the range of exit points Xn+1 are of interest, and allthe intermediate points are handled implicitly. For triangles withbifurcation, a streamwave may split into two streamwaves, each ofwhich can be propagated independently.As shown in Figure 11, a streamwave is the superset of a single

streamline, so analyzing only the streamline in the presence of erroris an incomplete analysis. Since expansion of a streamwave in thepresence of error may cause it to revisit a certain region, we trun-cate the streamwave so as to avoid going into innite ow loops.This is consistent with our denition of streamwave since we onlywant to visualize the region that can be visited (at least once) by thestreamwave. The color of the streamwave progresses from green tored as it propagates forward in time, as an indication of the speedof the streamwave.Streamwaves also present a method to visually show error

bounds of other integration techniques. For example, Figure 12shows the integration of a streamline connecting a source to a sinkusing three different techniques. By showing a streamwave, whoseexpansion is set larger than the maximum error for Euler integra-tion, we can visually show a comparison between Euler integration,fourth-order Runge-Kutta, and the local exact method.

5 VISUALIZATION OF FUZZY TOPOLOGY

Topological structures in vector elds, such as their topologicalskeleton [12], are one of the key features used to analyze vectoreld data. Traditionally, the skeleton is computed by tracing fourseparatrices out of each saddle (two forward and two backward)by computing streamlines starting in the directions of the eigen-

H(C-#. IIJ G($-"@(F"'(3,$ 34 $'#.";="1.$2 :3L @.4'J 3#(C(,"@ 1.>'3#M.@7 1($-"@(F.7 =('% +&HG fScg2 :3L #(C%'J '=3 $'#.";@(,.$/ 3,. ,."#" $"[email protected]$ $.L"#"'#(W2 &3''3;J :=3 (;"C.$ $%3= $'#.";="1.$ "' 7(494.#.,' @.1.@$ 34 .##3#2 )'#.";="1.$ "#. >3@3#.7 4#3; C#.., '3 #.7/$%3=(,C 7($'",>. '%. Q3= %"$ L#3L"C"'.7 "$ " ;."$-#. 34 '%. ,-;9A.# 34 ;"L$ '%. $'#.";="1. %"$ '#"1.@@.7 '%#3-C%2 ?3'. '%"' '%..##3# @.1.@$ %"1. A.., .W"CC.#"'.7 '3 (@@-$'#"'. .WL",$(3, ",7 A(4-#9>"'(3, 34 $'#.";="1.$2

vectors of all the saddles. These separatrices terminate when theyarrive at another critical point or leave the boundary of the domain.However, this approach faces challenges since compound integra-tion error can cause the trace to end at an incorrect critical point.In particular, unstable topologies, such as when a pair of saddles isconnected by a separatrix, suffer from this form of inconsistency.We can use the streamwave construction to study the robustness

of topological representations. By growing a streamwave in theforward direction from all sources and in the reverse direction fromall sinks we can perform a partial topological decomposition of avector eld that is analogous to stable and unstable manifolds inscalar eld topology [4]. These streamwaves are initiated from theboundary of the triangles containing the critical points. While wecannot yet account for centers, streamwaves can provide importantinformation about the structure of the ow. In particular, in theabsence of closed orbits, the union of the forward and backwardstreamwaves creates a covering of domain similar to the segmen-tation induced by traditional vector eld topology. However, inour construction each point in the domain may be part of severalstreamwaves creating a notion of fuzzy topology as shown in Fig-ure 1. Figure 13 shows an additional example of fuzzy topologycomputed on a diesel engine dataset, indicating the swirling struc-ture around its surface. This provides important information aboutany potential instabilities in the topological segmentation. In par-ticular it provides users with an intuitive measure of how certain agiven structure is.To illustrate the new concept of fuzzy topology we compare

streamwaves with traditional scalar eld techniques, see Figure 14.Laney et al. [18] use topological analysis on the interface surfacesbetween heavy and light uids in a Rayleigh-Taylor instability. Inparticular, the unstable manifolds of the height function segmentthe surfaces into bubbles, the primary feature of interest. Similarly,we can compute the gradient eld of the same dataset, and constructthe manifolds using streamwaves. Both techniques provide a simi-lar view of the data but our representation is richer by also showingthe inevitable inconsistencies at the boundaries of the bubbles.

80

Page 7: Edge Maps: Representing Flow with Bounded Error …nonato/pubs/flowmap.pdf · todetectlimitcyclesinplanarvector elds. Scheuermannetal.[26] look for the areas of non-linear behavior

H(C-#. ISJ D $'#.";@(,. -$(,C deZ OA@">R 7"$%.7P -$(,C $'.L$(F.!t = 0.005/ K-@.# OA@">R 73''.7P -$(,C $'.L$(F. !t = 0.005 ",7 @3>"@.W">' ;.'%37 O<K`P O=%('. $3@(7P/ ",7 " $'#.";="1. -$(,C .7C.;"L$ =('% & = 0.0001 =.#. $..7.7 "' '%. $";. L3(,'2 *3,$(7.#9(,C '%. @3>"@ .W">' ;.'%37 '3 A. '%. C#3-,7 '#-'%/ $3;. 7.1("'(3, ($3A$.#1.7 (, K-@.# ",7 deZ $'#.";@(,.$2 +' ($ "@$3 3A$.#1.7 '%"' '%.$'#.";="1./ >.,'.#.7 "#3-,7 '%. <K` $'#.";@(,./ A3-,7$ '%. '=3.##3,.3-$ $'#.";@(,.$ "' "@@ '%. '(;.$2

H(C-#. ITJ :3L3@3CN 34 '%. 7(.$.@ .,C(,. 7"'"$.'2 :3L #3=J D, +&HG#.,7.#(,C 34 '%. Q3= [email protected]'P ",7 1($-"@(F"'(3, 34 '%. '3L3@3CN O#(C%'P2&3''3; #3=J '%. $'"A@. ",7 -,$'"A@. ;",(43@7$2

6 DISCUSSION AND FUTURE WORK

Edge maps establish a novel way to represent and analyze sampledvector elds. Compared to traditional interpolation schemes theyhave several attractive properties: (1) numerical integration (andthus all error accumulation) is conned to the map construction; (2)unavoidable errors accumulated during integration or inherent inthe representation can be explicitly encoded; and (3) ow informa-tion extracted from the maps is guaranteed to be consistent. Theseadvantages translate into a number of useful visualization and anal-ysis tools such as streamwaves and the notion of fuzzy topology.The edge map representation can also reproduce published results(using integration schemes), as well as provide richer interpreta-tions that are not possible using existing techniques.Nevertheless, edge maps have some disadvantages, most notably

the storage overhead per triangle. Furthermore, applying texture-based ow visualization techniques for edge maps, such as IBFV,requires some additional effort. Extending the edge map construc-

H(C-#. IZJ G($-"@(F"'(3,$ 34 " d"N@.(C%9:"N@3# (,$'"A(@('N2 :3L #3=J U.#.L#37->. '%. #.$-@'$ 4#3; <",.N .' "@2 fIbg [email protected]'P $(7.9AN9$(7. =('% 3-#.7C. ;"L >3;L-'"'(3, 34 '%. -,$'"A@. ;",(43@7$ O#(C%'P2 &3''3; #3=J=%., '%. .##3# 4">'3# ($ (,>#."$.7 [email protected]'P =. >", 3A$.#1. '%. .;.#C(,C31.#@"L$ O#(C%'P2

tion to volumetric domains could pose a signicant challenge giventhe number of potential map classes per tetrahedral element.In this work, we have presented edge maps for triangulated do-

mains, however, as a general concept, the idea of edge maps is ap-plicable to other kinds of surface domains as well. For example,for structured grids and unstructured quadrilaterals edge maps canbe created between the boundaries of the cells. In these domains,different interpolations of the interior of cells will be required andthe types of ow behaviors shown in [15] will need to be rede-ned. However, on a conceptual level of replacing integration witha boundary mapping, the idea of edge maps is both extendible aswell as applicable to different discretizations of domain.There exist some interesting opportunities to exploit the consis-

tency and discrete nature of edge maps. One such potential appli-cation of edge maps is in vector eld simplication. Because theow can be represented discretely and error can be encoded explic-itly, we can merge edge maps to reduce the complexity of the owelds, or to perform domain simplication keeping the error in theow bounded.

ACKNOWLEDGEMENTSThis work is supported in part by the National Science Founda-tion awards IIS-1045032, OCI-0904631, OCI-0906379 and CCF-0702817, and by King Abdullah University of Science and Tech-nology (KAUST) Award No. KUS-C1-016-04. This work wasalso performed under the auspices of the U.S. Department of En-ergy by the University of Utah under contracts DE-SC0001922,DE-AC52-07NA27344, and DE-FC02-06ER25781, and LawrenceLivermore National Laboratory (LLNL) under contract DE-AC52-07NA27344. We are grateful to Jackie Chen for the dataset fromFigure 11, Robert S. Laramee for the diesel engine dataset fromFigure 13, and Paul Miller, William Cabot, and Andrew Cook forthe bubbles dataset from Figure 14. Attila Gyulassy and PhilippeP. Pebay provided many useful comments and discussions. LLNL-PROC-463631.

REFERENCES[1] D. Bommes, H. Zimmer, and L. Kobbelt. Mixed-integer quadrangula-

tion. ACM Trans. Graph., 28(3):77, 2009.

81

Page 8: Edge Maps: Representing Flow with Bounded Error …nonato/pubs/flowmap.pdf · todetectlimitcyclesinplanarvector elds. Scheuermannetal.[26] look for the areas of non-linear behavior

[2] G. Chen, K. Mischaikow, R. S. Laramee, P. Pilarczyk, and E. Zhang.Vector eld editing and periodic orbit extraction using morse decom-position. IEEE Trans. Vis. Comput. Graph., 13(4):769–785, 2007.

[3] G. Chen, K. Mischaikow, R. S. Laramee, and E. Zhang. EfcientMorse decompositions of vector elds. IEEE Trans. Vis. Comput.Graph., 14(4):848–862, 2008.

[4] H. Edelsbrunner, J. Harer, and A. Zomorodian. Hierarchical Morse-Smale complexes for piecewise linear 2-manifolds. Discrete and Com-putational Geometry, 30(1):87–107, 2003.

[5] M. Fisher, P. Schroder, M. Desbrun, and H. Hoppe. Design of tangentvector elds. ACM Trans. Graph., 26(3):56, 2007.

[6] R. Forman. A user’s guide to discrete morse theory. In Proc. of the2001 Internat. Conf. on Formal Power Series and Algebraic Combi-natorics, page 48, 2001.

[7] C. Garth, H. Krishnan, X. Tricoche, T. Tricoche, and K. I. Joy. Gen-eration of accurate integral surfaces in time-dependent vector elds.IEEE Trans. Vis. Comput. Graph., 14(6):1404–1411, 2008.

[8] C. Garth and X. Tricoche. Topology- and feature-based ow visual-ization: Methods and applications. In SIAM Geom. Des. & Comp.,2005.

[9] A. Globus, C. Levit, and T. Lasinski. A tool for visualizing the topol-ogy of three-dimensional vector elds. In IEEE Visualization, pages33–41, 1991.

[10] A. Gyulassy, V. Natarajan, V. Pascucci, and B. Hamann. Efcientcomputation of morse-smale complexes for three-dimensional scalarfunctions. IEEE Trans. Vis. Comput. Graph., 13(6):1440–1447, 2007.

[11] E. Hairer, S. P. Norsett, and G. Wanner. Solving Ordinary Differen-tial Equations I: Nonstiff Problems. Springer Series in ComputationalMathematics, 1993.

[12] J. Helman and L. Hesselink. Representation and display of vector eldtopology in uid ow data sets. IEEE Computer, 22(8):27–36, 1989.

[13] M. W. Hirsch, S. Smale, and R. L. Devaney. Differential Equations,Dynamical Systems, and An Introduction To Chaos. Elsevier Aca-demic Press, 2nd edition, 2004.

[14] J. P. Hultquist. Constructing stream surfaces in steady 3d vector elds.In Proc. of IEEE Vis. ’92, pages 171–178, Los Alamitos, CA, USA,1992. IEEE Computer Society Press.

[15] S. Jadhav, H. Bhatia, P.-T. Bremer, J. A. Levine, L. G. Nonato, andV. Pascucci. Consistent approximation of local ow behavior for 2dvector elds using edge maps. Technical Report UUSCI-2010-004,Scientic Computing and Imaging Institute, December 2010.

[16] K. M. Janine, J. Bennett, G. Scheuermann, B. Hamann, and K. I. Joy.Topological segmentation in three-dimensional vector elds. IEEETrans. Vis. Comput. Graph., 10:198–205, 2004.

[17] P. Kipfer, F. Reck, and G. Greiner. G.: Local exact particle tracing onunstructured grids. Computer Graphics Forum, 22:133–142, 2003.

[18] D. E. Laney, P.-T. Bremer, A. Mascarenhas, P. Miller, and V. Pascucci.Understanding the structure of the turbulent mixing layer in hydrody-namic instabilities. IEEE TVCG., 12(5):1053–1060, 2006.

[19] R. S. Laramee, H. Hauser, L. Zhao, and F. H. Post. Topology BasedFlow Visualization: The State of the Art. In Topology-Based Methodsin Vis., Mathematics and Visualization, pages 1–19. Springer, 2007.

[20] Y. Lavin, R. Batra, and L. Hesselink. Feature comparisons of vectorelds using earth mover’s distance. In Proc. of IEEE/ACM Visualiza-tion ’98, pages 103 –109, Oct. 1998.

[21] G. Nielson and I.-H. Jung. Tools for computing tangent curves forlinearly varying vector elds over tetrahedral domains. IEEE Trans.Vis. Comput. Graph., 5(4):360 –372, oct. 1999.

[22] N. Ray, B. Vallet, W.-C. Li, and B. Levy. N-symmetry direction elddesign. ACM Trans. Graph., 27(2):10, 2008.

[23] J. Reininghaus and I. Hotz. Combinatorial 2d vector eld topology ex-traction and simplication. In Topological Methods in Data Analysisand Visualization., 2009.

[24] J. Reininghaus, C. Lowen, and I. Hotz. Fast combinatorial vector eldtopology. IEEE Trans. Vis. Comput. Graph., 99, 2010.

[25] G. Scheuermann, T. Bobach, H. Hagen, K. Mahrous, B. Hamann, K. I.Joy, and W. Kollmann. A tetrahedra-based stream surface algorithm.In VIS ’01: Proceedings of the conference on Visualization ’01, pages151–158, Washington, DC, USA, 2001. IEEE Computer Society.

[26] G. Scheuermann, H. Kruger, M. Menzel, and A. P. Rockwood. Visu-alizing nonlinear vector eld topology. IEEE Transactions on Visual-ization and Computer Graphics, 4(2):109–116, 1998.

[27] G. Scheuermann and X. Tricoche. Topological methods in ow vi-sualization. In C. Hansen and C. Johnson, editors, In VisualizationHandbook, pages 341–356. Elsevier, 2004.

[28] H. Theisel, T. Weinkauf, H.-C. Hege, and H.-P. Seidel. Saddle connec-tors - an approach to visualizing the topological skeleton of complex3d vector elds. In IEEE Visualization, pages 225–232, 2003.

[29] J. J. van Wijk. Image based ow visualization. ACM Trans. Graph.,21(3):754–754, 2002.

[30] T. Weinkauf, H. Theisel, K. Shi, H.-C. Hege, and H.-P. Seidel. Ex-tracting higher order critical points and topological simplication of3d vector elds. In IEEE Visualization, pages 559–566, 2005.

[31] T. Wischgoll and G. Scheuermann. Detection and visualization ofclosed streamlines in planar ows. IEEE Transactions on Visualiza-tion and Computer Graphics, 7(2):165–172, 2001.

[32] E. Zhang, K. Mischaikow, and G. Turk. Vector eld design on sur-faces. ACM Trans. Graph., 25(4):1294–1326, 2006.

APPENDIX

A MAPPING ERRORIn [17], the motion of a particle under a linear vector eld !V (x) =Ax + o is dened as

x(t) = e(t"t0)Ax0+(e(t"t0)A" Id)A"1o

where, x0, t0 give the particle’s initial position and time, and x(t)gives the position after time t. A is a 2#2 matrix, o is the translationvector, and Id is the identity matrix.Consider a link, in which origin interval (a,b) ows to destina-

tion interval (c,d). Point a ows to point c in time t(a). Similarly,point d is calculated as the true destination of point b, reached intime t(d).

c(a, t(a)) = et(a)Aa+(et(a)A" Id)A"1o

d(b, t(b)) = et(b)Ab+(et(b)A" Id)A"1o

Now, consider a point x on the src interval, whose true destinationis given by y.

y(x, t(x)) = et(x)Ax+(et(x)A" Id)A"1o

Suppose, x = %a+(1"% )b. We can interchangebly use y(x) andy(% ), and t(x) and t(% ).The map gives x&s destination as y&, and the mapping error is

calculated as e(% ) = y&(% )" y(% ). The map interpolates the desti-nation interval to approximate the destination of x.

y&(% ) = %c+(1"% )d= %et(a)A(a+A"1o)+(1"% )et(b)A(b+A"1o)" Id A"1o

Calculating the deviation between the two,

e(% ) = y&(% )" y(% )= %et(a)A(a+A"1o)+(1"% )et(b)A(b+A"1o)" Id A"1o

" {et(x)Ax+(et(x)A" Id)A"1o}

= %et(a)A(a+A"1o)+(1"% )et(b)A(b+A"1o)

"et(x)A(x+A"1o)

= %et(a)A(a+A"1o)+(1"% )et(b)A(b+A"1o)

" et(% )A(%a+(1"% )b+A"1o) (1)

The maximum length of this deviation of e(% ) over every link isassigned as the mapping error of the link

' = max0(%(1 ||e(% )||2

82