4 Ambiguity But this does not always work - look at this data: 10 -5 -3Try it - it is ambiguous!

5 What is the Problem?The contour of the bilinear interpolant is NOT a straight line – it is a curve -10-5-21Joining intersectionswith straight lineswas only anapproximationThis is curve of: f(x,y) = (1-x)(1-y)f00+x(1-y)f10+(1-x)yf01+ xyf11= 0BUT how can we draw it?

6 Tracking ContoursWe can track the contour in small steps through the grid rectangle - starting from the intersection with the edgestake a step, probe at an equal distance to either side, then predict next point; and so on-0.30.9-0.30.9Next point oncontourCurrent pointon contourProbesBUT THIS IS SLOW!!

7 Solution by Decomposing CellOne technique – more efficient than tracking - is to split cell into four trianglesWithin a triangle, we can fit a linear modelF(x,y) = a + bx +cyHow do we split?How do we calculate a,b,c?What is the gain?f1f2f3

8 Cell DecompositionProblem of drawing the curved lines has been circumvented by decomposing cell into four pieces within which the contours are well defined straight lines-5100.75-31

9 Avoiding Cell DecompositionAs an alternative to decomposing the cell, we can try to understand how the curved contours of a bilinear interpolant behaveThe difficult case is:+-Opposite vertices: two +and two -Where do the contourlines go?

10 Bilinear InterpolantThe bilinear interpolant has contours which are hyperbolas, and can be one of two forms:+-A+-BIn each case there is a saddle point - if saddle point is-ve, then we have case A; if +ve, case B.Saddle point: fx=fy=0 .. Max in one direction, min in other

11 A Possible Method This suggests following method:in ambiguous case, calculate saddle point and join intersection points according to how bilinear behaves:+-AB-+-+saddle negativesaddle positiveTry it on the example earlier

13 ProblemIn the ambiguous case, will the earlier four triangle method always give the same result as the saddle point method?5-150100-1Try thiswith bothapproaches

14 Greater AccuracyThe greater understanding of the bilinear leads to a more accurate methodA single straight line approximation can be made more accurate by using two straight line piecessee Lopes and Brodlie paper on Web siteB+-+--+A

15 2D Interpolation - Scattered DataOften the data will be given, not on a regular grid, but at scattered locations:f given at eachmarked pointApproach:(i) triangulate(ii) build interpolantin each triangle(iii) draw contours

16 TriangulationTriangulation is the process of forming a grid of triangles from the data pointsHow can we construct the triangulation?

17 Tesselation We solve the DUAL problem:Suppose a wolf is stationed at each data point. Each wolf is equally powerful and dominates the territory closest to its own baseWhat are the territories dominated by each wolf?

20 Dirichlet TesselationThe resulting tesselation is known as the Dirichlet or Voronoi tesselationGiven the Dirichlet tesselation for N pointsP1, P2, ... PNthere is an algorithm for constructing the tesselation when an extra point is added

24 Dirichlet TesselationDetermine polygon containing Q - here D3, surrounding P3Construct perpendicular bisector of P3Q and find intersection with D3 - this becomes point of modified tesselationDetermine adjacent polygon - here D2Repeat the above two steps until D3 is reached again, or there is no intersectionRemove all vertices and edges interior to the new polygon

26 Delaunay TriangulationTriangulation formed by joining points whose ‘territories’ share a common boundary in the tesselationThis has the nice property that it avoids long skinny trianglesSee the nice applets at:Delaunay.htmlNote the ‘empty circle’ property of the Delaunay triangulation

27 Contouring from Triangulated DataThe final step is to contour from the triangulated dataEasy – because contours of linear interpolant are straight lines – see earlier

28 Implementing Triangle-based Contouringf1f2f3Each vertex can be positive or negative (ignore zero for now)This gives 23 = 8 possible cases…… but there are only 2 distinct configurationsNo contour (all same sign)Contour (2 of one sign, 1 of the other)Implementation:Determine which of 8 casesSelect code for the appropriate configurationAll same signf1f2f3Two same sign

29 Implementing Rectangle-based Contouring+For a rectangle, there will be 24 = 16 casesThere are 4 configurationsAll same sign (no contour)3 same sign (one contour piece)2 adjacent with same sign (one contour piece)2 opposite with same sign (two pieces, but ambiguous)+-+-+-

30 Surface ViewsA different mapping technique for 2D scalar data is the surface view.Here a surface is created in 3D space, the height representing the scalar valueConstruction is quite easy - suppose we have a rectangular grid

37 Cross SectionsAnother option is to look at a cross-section through the dataFor example, if x and y are the independent variables, we could fix y and look at f in terms of just xthen repeat for different ythis reduces the ES2 problem to a sequence of ES1 problems

About project

Feedback

To ensure the functioning of the site, we use cookies. We share information about your activities on the site with our partners and Google partners: social networks and companies engaged in advertising and web analytics. For more information, see the Privacy Policy and Google Privacy &amp Terms.
Your consent to our cookies if you continue to use this website.