# Generating Signed Distance Fields From Triangle Meshes IMM-TECHNICAL REPORT

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 Generating Signed Distance Fields From Triangle Meshes IMM-TECHNICAL REPORT J. Andreas Bærentzen and Henrik Aanæs Informatics and Mathematical Modelling (IMM) Technical University of Denmark DK-2800 Kongens Lyngby - Denmark Abstract A method for generating a discrete, signed 3D distance field is proposed. Distance fields are used in a number of contexts. In particular the popular level set method is usually initialized by a distance field. The main focus of our work is on simplifying the computation of the sign when generating signed distance fields. Previous methods largely rely on scan conversion to classify voxels as being inside or outside. In contrast, our method relies on defining a pseudo normal, the angle weighted normal, which is used to determine, for each grid point, whether that point is inside or outside. This leads to a method for generating signed distance fields which is a simple and straightforward extension of the method for generating unsigned distance fields. We prove that our choice of pseudo normal leads to a correct technique for computing the sign. Keywords: Distance Field, Signed Distance Field, Mesh, Triangle Mesh, Level Set. 1 Introduction The level set method proposed by Osher and Sethian [17, 20] is a technique for tracking deforming interfaces. It was proposed a little more than a decade ago, and it has become very popular in the intervening period. It is extremely adaptable and has found many uses in computer vision and computer graphics. Examples include stereo [8], image segmentation [15], and volume segmentation [24], statistical modelling [10], simulation of water [7], shape metamorphosis [2], and shape modelling [4]. The level set method operates on discrete 3D grids of scalar values. By interpolation, we can obtain a continuous scalar field, and the deforming interface is an isosurface of this scalar field. Almost invariably, the level set method is initialized by a 3D signed distance field of the shape. In other words, from the initial shape we generate a voxel grid where each voxel contains the shortest distance to the surface. The distance is positive if the voxel is outside and negative otherwise. Unfortunately, when dealing with 3D surfaces, our starting point is often a triangle 1

2 mesh (from now on, we simply write mesh) and not a signed distance field. Therefore, we need a technique which converts meshes to the distance field representation. Such methods do exist, but, in general, they involve a scan conversion step which classifies voxels as being either inside or outside. In the case of smooth surfaces such scan conversion is not necessary since we can use the surface normal at the closest point on a surface to determine whether a given point is inside or outside. However, the normal is discontinuous at the edges and vertices of a mesh. To overcome this problem, we introduce a pseudo normal for vertices and edges. The pseudo normal is simply the angle weighted normal which was proposed by Sequin [22] and again by Thürmer et al. [23]. The angle weighted normal at the closest feature is used to determine whether a voxel is inside or outside, if the closest feature is an edge or a vertex. In the case of faces, the face normal is used. In this paper, we prove that the dot product of the angle weighted normal and the vector from the closest point on the mesh to a given point is positive if the point is outside the mesh and negative if it is inside. To use our method, pseudo normals must be stored for each edge and vertex of the mesh. On the other hand, no scan conversion is required, and the generation of a signed distance field is nearly identical to the generation of an unsigned distance field. Finally, it should be mentioned that distance fields and in particular signed distance fields have many other applications than the level set method. In general, distance fields are also far more useful than, say, binary volumes as a representation for shapes [9, 5]. We can use signed distance fields to generate iso surfaces, for volumetric CSG [3], and for things like hypertexturing of shapes [19]. This paper is organized as follows; in Section 2 previous work is presented along side a discussion of how this work deviates from the previous work. In Section 3, the proposed method is presented in detail, including a fairly specific guide on implementation. The proposed method for computing the sign of the sign distance field is proven correct in Section 4. Note, that this section can be skipped on a first reading and is not essential for implementing our method. Lastly some experimental results are presented in Section 5 followed by a discussion of the presented work in Section 6. 2 Background We use the letter Å to denote a triangle mesh. A triangle mesh, Å, is a union of triangles Ì where ¾ ½Æ, Æ being the number of triangles. In other words Å ¾½Æ We assume that Å is a closed, orientable 2 manifold in 3D Euclidean space. This assumption is important because the sign of a distance field tells us whether the voxel is inside or outside, but this is only defined for closed, orientable manifolds. We will use the convention that the normal of a face points toward the exterior of the mesh. In practice, we can impose the manifold condition by requiring that [12] The mesh does not contain any self intersections: Triangles may share only edges Ì 2

3 and vertices and must be otherwise disjoint. Every edge must be adjacent to exactly two triangles. Triangles incident on a vertex must form a single cycle around that vertex. If the mesh fulfills these conditions, we know that it partitions space into a well defined interior, exterior, and the mesh itself. 2.1 Computing Unsigned Distance Fields By discrete distance field we understand a 3D grid of points (i.e. a voxel grid) where each voxel contains a scalar whose value is the shortest distance to the mesh. To generate a discrete distance field (or distance field for short), we need to compute the distance from every point in the grid to the mesh, where the distance from a point Ô to a triangle mesh Å is defined as 1 ÔÅµ Ò Ô Ü (1) Ü¾Å The point on the mesh which is closest to a given Ô, we will denote the closest point for this Ô, when it is not ambiguous. Observe that the mesh is simply the union of all its triangles Å Ë ¾Æ Ì where Æ is the number of triangles and Ì is triangle number, so clearly ÔÅµ Ò ¾½Æ Ò Ü¾Å Ò Ô Ü Ü¾Ì Ô Ü (2) (3) In other words, we compute the distance from a point to M by computing the distance from that point to every triangle in M and picking the smallest distance to any triangle. The next question is how to compute the distance from a point to a triangle. This is complicated by the need to know if the closest point to Ô is a vertex, lies on an edge, or lies on the face itself. This is resolved by a case analysis, and is discussed further in Section 3.1. In an early paper on discrete distance fields, Payne and Toga [18] proposed the case analysis approach along with some optimizations. Perhaps the most important is to compute square distances and only take the square root, when the shortest distance is found. Another (obvious) optimization is to keep the transformation matrix used to project points into the plane of the triangle and use it for all points. They also propose to store the triangles in a tree of bounding boxes. From a given point, we can compute the smallest and greatest possible distance to anything inside the box. This can be used to prune branches as we move down the tree. Mark Jones found that using the above method resulted in a fourfold increase in efficiency when compared to naïvely computing the distance in 3D [14]. Jones is only interested in voxels within a certain distance of the mesh and performs an initial scan conversion to find voxels that are adjacent to the mesh. Distances are only computed for 1 Infimum is the greatest lower bound of a set, denoted Ò. 3

4 those voxels. Furthermore, the accurate distance to a given triangle is only computed if the voxel is within a given distance of the triangle plane. Dachille and Kaufman proposed a method that is suitable for hardware implementation [6]. The idea is to perform the case analysis using only distance to plane computations. The advantage is that, using the proposed incremental approach, only one addition is needed for each voxel (within the bounding box of the polygons) to compute the distance from that voxel to a given plane. Recently, André Guéziec [11] proposed a new method called the Meshsweeper algorithm. This algorithm is based on a hierarchy of simplifications of the mesh. The distance is first computed at a coarse level, and then we proceed to finer levels. The advantage is that at any level, it is possible to prune branches if they cannot contain the shortest distance. Huang et al. proposed a new distance field representation called CDF (Complete Distance Fields) [13]. The central idea is to divide a volume into cells, and in each cell to store references to all triangles that might contain the point closest to any point inside the cell. 2.2 Sign Computation Originally, Payne and Toga [18] suggested that the signs should be computed in a separate pass. Thus, we begin by classifying each voxel according to whether it is inside or outside the mesh. Voxels inside are given negative sign, voxels outside are given positive sign (or vice versa). This classification can be done in a number of ways, Payne and Toga suggested that for each z level plane in the grid, we compute the intersection of the mesh and the plane. This produces a 2D contour that we can scan convert. An even simpler approach would be to cast rays along rows of voxels. At voxel locations where the ray has crossed the mesh an uneven number of times, we know we are inside. A completely different approach has been suggested by Sean Mauch [16]. The idea is to create (truncated) Voronoi regions for every face, edge and vertex in the mesh. These Voronoi regions are represented as polyhedra which, in turn, are scan converted. The regions corresponding to edges and faces will be either interior or exterior to the mesh depending on whether the mesh is locally concave or convex. The Voronoi region of a face will straddle the mesh, but if the closest point is on a face there will be no sign ambiguity. Thus, Mauch s method handles sign correctly, although the author does not discuss the issue. Although scan conversion does the job, it adds complexity to the distance computation, and it seems that there is an alternative: Computing the sign locally at the closest point on the mesh. When the closest point Ü to our given point Ô has been found, the normal at Ü can be determined ( except at edges and vertices). Based on this normal it is easy to determine if Ô is inside or outside. This is done simply by taking the dot product of the normal and Ö Ô Ü which will be denoted the direction vector in the following. For details on why this works, see Section 4. Unfortunately, if Ü belongs to an edge or a vertex, the surface is only ¼ smooth, and the normal is not defined. The obvious 4

5 solution to this problem seems to be to find some approximate normal that will do. In the following, we will call such a normal a pseudo normal. However, this is more difficult than one might think. First of all, it is important to note that if Ü is on an edge or a vertex, it is easy to find examples where the dot product with the direction vector is positive for some of the normals incident on the vertex (or edge) that contains Ü and negative for others (See Figure 1) [18]. We can compute p n 1 x n 2 Figure 1: This figure illustrates that we can have the same distance to two triangles (line segments in 2D) but the sign of the dot product with the direction vector is not the same for the two normals. the average normal, but again, it is possible to find cases where the dot product with the average normal is negative although Ô is outside. The counterexample is easy to construct: If we subdivide any one face incident on the vertex and leave the others, the normal of that face will completely dominate. Huang et al. suggested using the sign of the numerically greatest dot product [13]. In other words, at a vertex or an edge, we take the dot product of the direction vector and the normal of each adjacent face. The sign of the numerically greatest dot product determines the sign of the distance. This seems to work in 2D where triangles are replaced by line segments, but it does not work in 3D. In the case of very sharp corners in the mesh, the greatest dot product may be negative for points outside the mesh. See also Section 5. As we have seen, it is tricky to determine the sign using the face normals alone or in combination. Thus it might seem that the previously described global methods are more attractive, but in this paper we propose a pseudo normal which does produce the correct sign. This allows us to compute the sign as an integral part of the usual algorithm for distance field generation. We achieve this by defining a pseudo normal for each edge and each vertex. Our main contribution is to prove that our choice of pseudo normal, the angle weighted normal (described in detail in the next section), leads to correct sign computations. In practice, we compute the sign of distances by taking the dot product between the angle weighted normal and the direction vector. This leads to a very simple implementation where no scan conversion is required. What we do need is an initial pass that stores pseudo normals for each edge and vertex of every triangle. Except for this initial pass, the algorithm is almost identical to the algorithm for generating unsigned distance fields. This is the basic idea; in the next section we describe our method in detail. 5

6 3 The Proposed Method As mentioned above, the problem of determining the sign of a given voxel arises when the normal to the mesh is not defined on the point on the mesh closest to the voxel. Since a mesh is a piecewise linear surface, the problem of determining the normal occurs on edges and vertices. In light of this, an approach is proposed which calculates a pseudo normal at these discontinuities, i.e. the edges and vertices. Without further ado, the pseudo normal that we propose is the angle weighted normal originally introduced by [22, 23] In the case of an edge between faces and with normals Ò and Ò respectively the angle weighted normal, Ò«is given by: Ò«Ò Ò This is seen to be a weighted sum of the normals of the incident faces, where the weights correspond to the incident angles of the faces. This generalizes to vertices as well, such that the definition of angle weighted normal, Ò«, for a given point on the mesh is: Ò««Ò (4) where «is the incident angle of face at the point, and Ò is the corresponding normal. Note, that this generalizes to points on faces, giving a unified frame work, in that Ò«here is the face normal times ¾. It is seen that Ò«is a scaled variant of the average normals in a small ball around the given point. Since only the direction of Ò«is needed for sign computation, the scale is unimportant, and using Ò«thus corresponds to using the normal averaged over a small ball. In light of this, the proposed method for computing the signed distance field corresponding to a mesh is summarized in the following pseudocode: 1. Calculate Ò«for all vertices. 2. Calculate Ò«for all edges. 3. Initialize the distance grid, by setting all elements to Ò. 4. for all faces: (a) Calculate bounding box (see below). (b) for all voxels in the bounding box: i. calculate signed distance to face. ii. if absolute value of distance to face is smaller then previous voxel value update the voxel value. The reason a given face is only allowed to effect the voxels within a bounding box, is computational speed, and memory usage, c.f. [14]. This bounding box is the minimal box that contains the face (only its 3 corners need be considered) extended by a constant amount along the x, y, and z axes. The bounding box is only used in the cases where we just want the distance field in a transition region on either side of the surface. Thus should be equal to the width 6

7 R6 R3 R2 R1 R7 R4 R5 Figure 2: The seven regions in the plane containing a triangle. of the transition region. Of course, the bounding box can be omitted if we wish a complete distance field, but in this case, it is likely that a more sophisticated method for computing distances should be used (e.g. [11]). This issue is completely orthogonal to the sign issue and will not be discussed further. The limitations of the distance field should be seen in the context that in most efficient level set implementations narrow banding is used [1]. The narrow band approach in principal consists of only updating the level set in a neighborhood of the front, which is equal to the small distance values. Hence, if a narrow banding is applied the large distance values discarded by using a bounding box are not needed anyway. 3.1 Distance to Triangle The challenge in calculating the distance from a point to a triangle, consists of determining whether the closest point is on the edge, a vertex, or on the actual face itself. The reason is that in the 3 different cases, a distance to a line, a point or a plane should be calculated, respectively. The situation is shown in Figure 2. When a point Ô is projected onto the plane containing the triangle, the projected point Ô ¼ lies in one of the 7 regions shown in Figure 2. If Ô ¼ is projected onto Ê½ then the distance from the point to the face is equal to the distance from the point to the plane of the face. If Ô ¼ lies in Ê¾, Ê or Ê a distance to the corresponding line should be calculated. Lastly, with regions Ê, Ê or Ê a distance to the corresponding vertex should be calculated. 7

8 3.2 Implementation The practical implementation of this method is straightforward. We assume that the mesh is stored in a file that contains a list of vertices and a list of triangles. Each triangle is specified by three vertices. When the file is loaded, a database of edges, vertices, and triangles is built. We loop over all triangles, and for each of the triangle s vertices we add the angle weighted normal to the normal stored with the vertex representation in the database. Similarly, the (unweighted) normal is added to the edge representation in the database. The generation of the distance field now proceeds. For each triangle, we loop over all voxels within the bounding box. For each voxel, the shortest distance is computed in the way described in the previous section. However, we find not only the shortest distance to the face, but also the actual closest point on each triangle. Since we have to locate the distance feature, this is a trivial modification. Having obtained the closest point, we can find the direction vector. We then look up the correct angle weighted normal corresponding to the closest feature, and compute the dot product of this normal and the direction vector. The sign of this dot product is the sign of our distance. The reader may have spotted a way to simplify the algorithm: The dot product of the angle weighted normal and the direction vector is clearly equal to the sum of the inner product of the normal (weighted by angle) and the direction vector. Ò«Ö «Ò Ö so, apparently, we could compute maintain a sum,, of dot products in a variable for each voxel. When a numerically shorter distance is found, the sum is reinitialized to «Ò Ö. When a new distance that is equal to a previous distance is found, we simply add: «Ò Ö. The lure of this approach is that we would not need to precompute the area weighted normals, so the method would be even simpler. Unfortunately, the method has a fundamental problem with numerical precision. Because we rely on floating point computations, we cannot expect the computed quantities to be exact. This means that it is possible that, for the same voxel, we sometimes find that for triangle the closest point is a vertex, but for triangle the closest point is a point on the edge between and that is just extremely close to the same vertex. We believe that this problem can be addressed, for instance using robust floating point techniques [21], but we feel that the trivial solution of precomputing the angle weighted normals is preferable. 4 Proof It is shown here that the proposed method for computing the sign is valid. In this section we will use the following definitions: We assume a triangle mesh, Å, that is a closed 2 manifold in 3D Euclidean space. Let Å be the closure of the volume enclosed by the mesh. In other 8

9 words, Å is a 3 manifold with boundary, and the boundary is the triangle mesh. Note that Å Å Ú is a vertex of the mesh. is the index of a face one of whose vertices is Ú. Let faces share vertex Ú, then ¾ ½ Ò is the normal to a face of the mesh incident on Ú. Ò points away from Å. «is the angle of the face at Ú The main part of this section is Theorem 1, where the use of the angle weighted normal, Ò«, as pseudo normal is proven correct for vertices. The use of Ò«in general then follows straight from this. Theorem 1 Let there be given a point Ô, and assume that vertex Ú is a closest point in Å so that Ú Ô where ÒÜ¾Å Ô Ü. LetÒ«be the sum of normals to faces incident on Ú, weighted by the angle of the incident face, i.e. Finally, consider the vector Ö Ô Ú. It now holds for that ¼ if Ô is outside the mesh. ¼ if Ô is inside. Ò«Ò«(5) Ò«Ö (6) To prove this, we first consider the case where Ô is outside the mesh. Define the volume Ë as the intersection of the mesh, Å, and a ball,, centered at Ú. The radius of is chosen arbitrarily to be 1. If one of the edges incident on Ú is shorter than one, we simply scale the mesh. Ë (the boundary of Ë) consists of a part coincident with the mesh, Ë Å, and a part coincident with the ball, Ë Ë Ë Å. Observe that Ë Ë Å Ë and Ë Å Ë. Introduce a divergence free velocity field,, where at any point Õ, Õµ Ö. Then, from the theorem of Gauss we have ( being divergence free) Ë ËÅ Ò µ ¼ (7) Ö Ò µ Ë Ö Ò µ Lemma 1 For any point Õ ¾ Ë the angle ÚÕ ÚÔµ is greater than or equal to ¾. Ô is outside Å by assumption. Proof: By construction Ú is a star point in Ë, i.e. the line segment between v and any point in Ë lies completely in Ë. Hence, if there is a Õ such that ÚÕ ÚÔµ ¾, there would be a point on the line between Ú and Õ which is closer to Ô then Ú. Thisis easily seen, because if ÚÕ ÚÔµ ¾ 9

10 p r v Tangent Mesh q Figure 3: It is seen that ÚÕ ÚÔµ ¾,sinceÚ is the point in Å closest to Ô. the line segment from Ú to Õ must pass through the interior of a closed ball of radius Ö centered at Ô, and any point in the interior of this ball will be closer to Ô than Ú. Finally, since Ë Å, this contradicts our requirement that Ú is the point in Å closest to Ô. See Figure 3. For all points Õ ¾ Ë it is seen that the normal, Ò Õµ, isgivenbyúõ, since is the unit sphere centered at Ú. So, by Lemma 1, Ò Õµ Ö ¼ for all Ò. Therefore, we have that Ë Ö Ò µ ¼ (8) The inequality in (8) is strict because the left hand side is only zero if the area of Ë is zero, and this, in turn, would require the mesh to collapse breaking our manifold assumption. From (7) it now follows that ËÅ Ö Ò µ ¼ (9) It is seen that the intersection of face and Ë has an area equal to «, implying that the flux of through this intersection is given by Ö Ò«.So ËÅ Ö Ò µ Ö Ò«Ö Ò«¼ (10) Proving the theorem for Ô outside the mesh. If Ô is inside the mesh, the situation is essentially the same, except for the fact that the direction of the involved normals point the other way. This means that the integral over Ë changes sign. Thus, becomes negative which concludes our proof 10

11 Note that we do not assume that the closest point is unique. The proof requires only that Ú is a closest point. This means that Theorem 1 also holds in the case where Ô lies on the medial axis. For the sake of completeness, we now extend Theorem 1 to edges and faces. Recall that on an edge Ò«Ò Ò where and are the faces incident on the edge. Similarly, on a face Ò«¾Ò Corollary 2 Let there be given a point Ô, and assume that is a point in Å closest to Ô. Ò«Ò«(11) Finally, consider the vector Ö Ô. It now holds for that ¼ if Ô is outside the mesh. ¼ if Ô is inside. Ò«Ö (12) The proof is trivial since we can transform any edge point or face point to a vertex point by inserting a vertex. This does not change the geometry of M, but the case is now handled by Theorem 1 5 Results We have used two simple models, a tetrahedron and a pyramid, to verify our own approach and to demonstrate the problems with the two other local methods, we have discussed previously. The results are shown in Figure 4. Except for the mesh all the figures have been generated using texture mapped volume visualization. Positive distances are dark and transparent, negative distances are white and opaque. This make it easy to spot exterior areas containing voxels that have erroneous sign. Two sides in the tetrahedron have been subdivided. As seen from the figure, this does not cause problems for our method, but, if we use unweighted sum, regions of spurious negative distances appear around the vertices where many triangles meet. A similar problem occurs in the case of the pyramid. If we use the maximum of the dot products to determine sign, three regions of spurious negative distances appear around the top vertex. Again, our method handles this case correctly. To demonstrate our method in conjunction with a slightly larger mesh, we have voxelized a model containing triangles. To illustrate an application of distance fields, a series of offset surfaces have been generated from the model. These offset surfaces have also been visualized using texture based volume rendering, but this time diffuse and opaque isosurfaces have been generated. The results are shown in Figure 5. 11

12 Figure 4: Tetrahedron with two subdivided sides (top). Tetrahedron voxelized using unweighted sum of normals (middle left). Tetrahedron voxelized using our method (middle right). Pyramid voxelized using maximum dot product (bottom left). Pyramid voxelized using our method (bottom right). 6 Discussion In this paper, we have proposed a new and simple method for generating signed distance fields from triangle meshes. Our method does not rely on scan conversion but is a simple extension to the well known method for generating unsigned distance fields. We have proven that the method really works, i.e. that the dot product of the angle weighted normal and the direction vector is always positive if we are outside and negative if we are inside. We believe that this method will prove useful for generating signed distance fields which seem to be becoming increasingly popular as volumetric techniques in general and the level set method in particular become more and more important. 12

13 13

14 References [1] David Adalsteinsson and James A. Sethian. A fast level set method for propagating interfaces. Journal of Computational Physics, 118(2):269 77, [2] David E. Breen and Ross T. Whitaker. A level-set approach for the metamorphosis of solid models. Visualization and Computer Graphics, IEEE Transactions on, 7(2): , [3] Andreas Bærentzen and Niels Jørgen Christensen. A technique for volumetric csg based on morphology. In Proceedings of International Workshop on Volume Graphics, [4] Andreas Bærentzen and Niels Jørgen Christensen. Volume sculpting using the level-set method. In Proceedings of Shape Modelling International 2002, [5] Andreas Bærentzen, Miloš Šrámek, and Niels Jørgen Christensen. A morphological approach to the voxelization of solids. In Vaclav Skala, editor, Proceedings of WSCG 2000, volume I, February [6] Frank Dachille and Arie Kaufman. Incremental triangle voxelization. In Proceedings of Graphics Interface 2000, pages , [7] Douglas Enright, Steve Marschner, and Ronald Fedkiw. Animation and rendering of complex water surfaces. ACM Transactions on Graphics, 21(3):736 44, [8] Olivier D. Faugeras and Renaud Keriven. Variational principles, surface evolution, pdes, level set methods, and the stereo problem. Image Processing, IEEE Transactions on, 7(3): , [9] Sarah F.F. Gibson. Using distance maps for accurate surface representation in sampled volumes. In Stephen Spencer, editor, Proceedings of IEEE Symposium on Volume Visualization, October [10] José Gomes and Aleksandra Mojsilovic. A variational approach to recovering a manifold from sample points. Computer Vision - ECCV th European Conference on Computer Vision. Proceedings (Lecture Notes in Computer Science Vol.2351), pages 3 17, [11] André Guéziec. meshsweeper : Dynamic point to polygonal mesh distance and applications. IEEE Transactions on Visualization and Computer Graphics, 7(1):47 60, January March [12] Christoph M. Hoffmann. Geometric and Solid Modeling. Morgan Kaufmann, [13] Jian Huang, Yan Li, R. Crawfis, Shao-Chiung Lu, and Shuh-Yuan Liou. A complete distance field representation. Visualization, VIS 01. Proceedings, pages , [14] Mark W. Jones. The production of volume data from triangular meshes using voxelisation. Computer Graphics Forum, 15(5): ,

15 [15] Ravi Malladi, James A. Sethian, and Baba C. Vemuri. Shape modeling with front propagation: a level set approach. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 17(2): , [16] Sean Mauch. A fast algorithm for computing the closest point and distance transform. Technical report, Applied and Computational Mathematics, California Institute of Technology, [17] Stanley Osher and James A. Sethian. Fronts propagating with curvaturedependent speed: Algorithms based on Hamilton-Jacobi formulations. Journal of Computational Physics, 79:12 49, [18] Bradley A. Payne and Arthur W. Toga. Distance field manipulation of surface models. Computer Graphics and Applications, 12(1), [19] Richard Satherley and Mark W. Jones. Extending hypertextures to nongeometrically definable volume data. Proceedings of the International Workshop on Volume Graphics, pages vol.1, [20] James A. Sethian. Level Set Methods and Fast Marching Methods Evolving Interfaces in Computational Geometry, Fluid Mechanics, Computer Vision, and Materials Science. Cambridge University Press, [21] Jonathan Richard Shewchuk. Robust Adaptive Floating-Point Geometric Predicates. In Proceedings of the Twelfth Annual Symposium on Computational Geometry, pages Association for Computing Machinery, May [22] Carlo H. Séquin. Procedural spline interpolation in unicubix. Proceedings of the 3rd USENIX Computer Graphics Workshop, pages 63 83, [23] Grith Thürmer and C.A. Wüthrich. Computing vertex normals from polygonal facets. Journal of Graphics Tools, 3(1):43 6, [24] Ross T. Whitaker, David E. Breen, Ken Museth, and N. Soni. Segmentation of biological volume datasets using a level set framework. pages ,

### Planar Tree Transformation: Results and Counterexample

Planar Tree Transformation: Results and Counterexample Selim G Akl, Kamrul Islam, and Henk Meijer School of Computing, Queen s University Kingston, Ontario, Canada K7L 3N6 Abstract We consider the problem

### Section 1.1. Introduction to R n

The Calculus of Functions of Several Variables Section. Introduction to R n Calculus is the study of functional relationships and how related quantities change with each other. In your first exposure to

### Improved Billboard Clouds for Extreme Model Simplification

Improved Billboard Clouds for Extreme Model Simplification I.-T. Huang, K. L. Novins and B. C. Wünsche Graphics Group, Department of Computer Science, University of Auckland, Private Bag 92019, Auckland,

### CS268: Geometric Algorithms Handout #5 Design and Analysis Original Handout #15 Stanford University Tuesday, 25 February 1992

CS268: Geometric Algorithms Handout #5 Design and Analysis Original Handout #15 Stanford University Tuesday, 25 February 1992 Original Lecture #6: 28 January 1991 Topics: Triangulating Simple Polygons

### MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem

MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem David L. Finn November 30th, 2004 In the next few days, we will introduce some of the basic problems in geometric modelling, and

### We call this set an n-dimensional parallelogram (with one vertex 0). We also refer to the vectors x 1,..., x n as the edges of P.

Volumes of parallelograms 1 Chapter 8 Volumes of parallelograms In the present short chapter we are going to discuss the elementary geometrical objects which we call parallelograms. These are going to

### A typical 3D modeling system involves the phases of 1. Individual range image acquisition from different viewpoints.

Efficient Model Creation of Large Structures based on Range Segmentation 2nd International Symposium on 3D Data Processing, Visualization & Transmission, September 2004, Thessaloniki, Greece. Ioannis Stamos

### Diffuse Reflections in Simple Polygons

Diffuse Reflections in Simple Polygons Gill Barequet a,1, Sarah M. Cannon b,2, Eli Fox-Epstein c,3, Benjamin Hescott c,3, Diane L. Souvaine c,3, Csaba D. Tóth d,4 and Andrew Winslow c,3 a Department of

### Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example.

An Example 2 3 4 Outline Objective: Develop methods and algorithms to mathematically model shape of real world objects Categories: Wire-Frame Representation Object is represented as as a set of points

### The Essentials of CAGD

The Essentials of CAGD Chapter 2: Lines and Planes Gerald Farin & Dianne Hansford CRC Press, Taylor & Francis Group, An A K Peters Book www.farinhansford.com/books/essentials-cagd c 2000 Farin & Hansford

### THREE DIMENSIONAL GEOMETRY

Chapter 8 THREE DIMENSIONAL GEOMETRY 8.1 Introduction In this chapter we present a vector algebra approach to three dimensional geometry. The aim is to present standard properties of lines and planes,

### Solving Geometric Problems with the Rotating Calipers *

Solving Geometric Problems with the Rotating Calipers * Godfried Toussaint School of Computer Science McGill University Montreal, Quebec, Canada ABSTRACT Shamos [1] recently showed that the diameter of

### Numerical Analysis Lecture Notes

Numerical Analysis Lecture Notes Peter J. Olver 5. Inner Products and Norms The norm of a vector is a measure of its size. Besides the familiar Euclidean norm based on the dot product, there are a number

### Chapter 15 Introduction to Linear Programming

Chapter 15 Introduction to Linear Programming An Introduction to Optimization Spring, 2014 Wei-Ta Chu 1 Brief History of Linear Programming The goal of linear programming is to determine the values of

### Model Repair. Leif Kobbelt RWTH Aachen University )NPUT \$ATA 2EMOVAL OF TOPOLOGICAL AND GEOMETRICAL ERRORS !NALYSIS OF SURFACE QUALITY

)NPUT \$ATA 2ANGE 3CAN #!\$ 4OMOGRAPHY 2EMOVAL OF TOPOLOGICAL AND GEOMETRICAL ERRORS!NALYSIS OF SURFACE QUALITY 3URFACE SMOOTHING FOR NOISE REMOVAL 0ARAMETERIZATION 3IMPLIFICATION FOR COMPLEXITY REDUCTION

### A Short Introduction to Computer Graphics

A Short Introduction to Computer Graphics Frédo Durand MIT Laboratory for Computer Science 1 Introduction Chapter I: Basics Although computer graphics is a vast field that encompasses almost any graphical

### 3D Distance from a Point to a Triangle

3D Distance from a Point to a Triangle Mark W. Jones Technical Report CSR-5-95 Department of Computer Science, University of Wales Swansea February 1995 Abstract In this technical report, two different

### Introduction to Voronoi Diagrams

C.S. 252 Prof. Roberto Tamassia Computational Geometry Sem. II, 1992 1993 Lecture 13 Date: March 22, 1993 Scribe: Scott S. Snibbe 1 Introduction Introduction to Voronoi Diagrams This lecture introduces

### Geometry of Vectors. 1 Cartesian Coordinates. Carlo Tomasi

Geometry of Vectors Carlo Tomasi This note explores the geometric meaning of norm, inner product, orthogonality, and projection for vectors. For vectors in three-dimensional space, we also examine the

### Chapter 3-3D Modeling

Chapter 3-3D Modeling Polygon Meshes Geometric Primitives Interpolation Curves Levels Of Detail (LOD) Constructive Solid Geometry (CSG) Extrusion & Rotation Volume- and Point-based Graphics 1 The 3D rendering

### Scalar Visualization

Scalar Visualization 4-1 Motivation Visualizing scalar data is frequently encountered in science, engineering, and medicine, but also in daily life. Recalling from earlier, scalar datasets, or scalar fields,

### Computational Geometry. Lecture 1: Introduction and Convex Hulls

Lecture 1: Introduction and convex hulls 1 Geometry: points, lines,... Plane (two-dimensional), R 2 Space (three-dimensional), R 3 Space (higher-dimensional), R d A point in the plane, 3-dimensional space,

### Image Gradients. Given a discrete image Á Òµ, consider the smoothed continuous image Üµ defined by

Image Gradients Given a discrete image Á Òµ, consider the smoothed continuous image Üµ defined by Üµ Ü ¾ Ö µ Á Òµ Ü ¾ Ö µá µ (1) where Ü ¾ Ö Ô µ Ü ¾ Ý ¾. ½ ¾ ¾ Ö ¾ Ü ¾ ¾ Ö. Here Ü is the 2-norm for the

### STURMFELS EXPANDED. Niels Lauritzen

STURMFELS EXPANDED Niels Lauritzen The author s address: NIELS LAURITZEN DEPARTMENT OF MATHEMATICAL SCIENCES UNIVERSITY OF AARHUS, DENMARK EMAIL: niels@imf.au.dk URL: http://www.imf.au.dk/ niels/ ii Contents

### We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

CHAPTER 4 CURVES 4.1 Introduction In order to understand the significance of curves, we should look into the types of model representations that are used in geometric modeling. Curves play a very significant

### H.Calculating Normal Vectors

Appendix H H.Calculating Normal Vectors This appendix describes how to calculate normal vectors for surfaces. You need to define normals to use the OpenGL lighting facility, which is described in Chapter

### 2.3 Convex Constrained Optimization Problems

42 CHAPTER 2. FUNDAMENTAL CONCEPTS IN CONVEX OPTIMIZATION Theorem 15 Let f : R n R and h : R R. Consider g(x) = h(f(x)) for all x R n. The function g is convex if either of the following two conditions

### 3. INNER PRODUCT SPACES

. INNER PRODUCT SPACES.. Definition So far we have studied abstract vector spaces. These are a generalisation of the geometric spaces R and R. But these have more structure than just that of a vector space.

### Solving Simultaneous Equations and Matrices

Solving Simultaneous Equations and Matrices The following represents a systematic investigation for the steps used to solve two simultaneous linear equations in two unknowns. The motivation for considering

### Triangle. A triangle is a geometrical figure. Tri means three. So Triangle is a geometrical figure having 3 angles.

Triangle A triangle is a geometrical figure. Tri means three. So Triangle is a geometrical figure having 3 angles. A triangle is consisting of three line segments linked end to end. As the figure linked

### Fast approximation of the maximum area convex. subset for star-shaped polygons

Fast approximation of the maximum area convex subset for star-shaped polygons D. Coeurjolly 1 and J.-M. Chassery 2 1 Laboratoire LIRIS, CNRS FRE 2672 Université Claude Bernard Lyon 1, 43, Bd du 11 novembre

### Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 17 Shannon-Fano-Elias Coding and Introduction to Arithmetic Coding

### Segmentation of building models from dense 3D point-clouds

Segmentation of building models from dense 3D point-clouds Joachim Bauer, Konrad Karner, Konrad Schindler, Andreas Klaus, Christopher Zach VRVis Research Center for Virtual Reality and Visualization, Institute

### Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Computer Graphics CS 54 Lecture 1 (Part 1) Curves Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) So Far Dealt with straight lines and flat surfaces Real world objects include

### Euclidean Geometry. We start with the idea of an axiomatic system. An axiomatic system has four parts:

Euclidean Geometry Students are often so challenged by the details of Euclidean geometry that they miss the rich structure of the subject. We give an overview of a piece of this structure below. We start

### CHAPTER 1 Splines and B-splines an Introduction

CHAPTER 1 Splines and B-splines an Introduction In this first chapter, we consider the following fundamental problem: Given a set of points in the plane, determine a smooth curve that approximates the

### Max-Min Representation of Piecewise Linear Functions

Beiträge zur Algebra und Geometrie Contributions to Algebra and Geometry Volume 43 (2002), No. 1, 297-302. Max-Min Representation of Piecewise Linear Functions Sergei Ovchinnikov Mathematics Department,

### Intersection of an Oriented Box and a Cone

Intersection of an Oriented Box and a Cone David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 1998-2016. All Rights Reserved. Created: January 4, 2015 Contents 1 Introduction

### Part-Based Recognition

Part-Based Recognition Benedict Brown CS597D, Fall 2003 Princeton University CS 597D, Part-Based Recognition p. 1/32 Introduction Many objects are made up of parts It s presumably easier to identify simple

### Homework Exam 1, Geometric Algorithms, 2016

Homework Exam 1, Geometric Algorithms, 2016 1. (3 points) Let P be a convex polyhedron in 3-dimensional space. The boundary of P is represented as a DCEL, storing the incidence relationships between the

### 2.5 Physically-based Animation

2.5 Physically-based Animation 320491: Advanced Graphics - Chapter 2 74 Physically-based animation Morphing allowed us to animate between two known states. Typically, only one state of an object is known.

### Monotone Partitioning. Polygon Partitioning. Monotone polygons. Monotone polygons. Monotone Partitioning. ! Define monotonicity

Monotone Partitioning! Define monotonicity Polygon Partitioning Monotone Partitioning! Triangulate monotone polygons in linear time! Partition a polygon into monotone pieces Monotone polygons! Definition

### 7. The Gauss-Bonnet theorem

7. The Gauss-Bonnet theorem 7. Hyperbolic polygons In Euclidean geometry, an n-sided polygon is a subset of the Euclidean plane bounded by n straight lines. Thus the edges of a Euclidean polygon are formed

### Visualization of General Defined Space Data

International Journal of Computer Graphics & Animation (IJCGA) Vol.3, No.4, October 013 Visualization of General Defined Space Data John R Rankin La Trobe University, Australia Abstract A new algorithm

### Polygonal Approximation of Closed Curves across Multiple Views

Polygonal Approximation of Closed Curves across Multiple Views M. Pawan Kumar Saurabh Goyal C. V. Jawahar P. J. Narayanan Centre for Visual Information Technology International Institute of Information

### 6.1 Application of Solid Models In mechanical engineering, a solid model is used for the following applications:

CHAPTER 6 SOLID MODELING 6.1 Application of Solid Models In mechanical engineering, a solid model is used for the following applications: 1. Graphics: generating drawings, surface and solid models 2. Design:

### Analysis of Algorithms, I

Analysis of Algorithms, I CSOR W4231.002 Eleni Drinea Computer Science Department Columbia University Thursday, February 26, 2015 Outline 1 Recap 2 Representing graphs 3 Breadth-first search (BFS) 4 Applications

### SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH

31 Kragujevac J. Math. 25 (2003) 31 49. SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH Kinkar Ch. Das Department of Mathematics, Indian Institute of Technology, Kharagpur 721302, W.B.,

### Polygon Triangulation. O Rourke, Chapter 1

Polygon Triangulation O Rourke, Chapter 1 Outline Triangulation Duals Three Coloring Art Gallery Problem Definition A (simple) polygon is a region of the plane bounded by a finite collection of line segments

### SOLUTIONS TO ASSIGNMENT 1 MATH 576

SOLUTIONS TO ASSIGNMENT 1 MATH 576 SOLUTIONS BY OLIVIER MARTIN 13 #5. Let T be the topology generated by A on X. We want to show T = J B J where B is the set of all topologies J on X with A J. This amounts

### Vector storage and access; algorithms in GIS. This is lecture 6

Vector storage and access; algorithms in GIS This is lecture 6 Vector data storage and access Vectors are built from points, line and areas. (x,y) Surface: (x,y,z) Vector data access Access to vector

### Volume visualization I Elvins

Volume visualization I Elvins 1 surface fitting algorithms marching cubes dividing cubes direct volume rendering algorithms ray casting, integration methods voxel projection, projected tetrahedra, splatting

### Linear Programming I

Linear Programming I November 30, 2003 1 Introduction In the VCR/guns/nuclear bombs/napkins/star wars/professors/butter/mice problem, the benevolent dictator, Bigus Piguinus, of south Antarctica penguins

### Existence of Simple Tours of Imprecise Points

Existence of Simple Tours of Imprecise Points Maarten Löffler Department of Information and Computing Sciences, Utrecht University Technical Report UU-CS-007-00 www.cs.uu.nl ISSN: 09-7 Existence of Simple

### A Generalized Marching Cubes Algorithm Based On Non-Binary Classifications

Konrad-Zuse-Zentrum fu r Informationstechnik Berlin Takustraße 7 D-14195 Berlin-Dahlem Germany HANS-CHRISTIAN HEGE DETLEV STALLING MARTIN SEEBASS MALTE ZOCKLER A Generalized Marching Cubes Algorithm Based

### Intersection of a Line and a Convex. Hull of Points Cloud

Applied Mathematical Sciences, Vol. 7, 213, no. 13, 5139-5149 HIKARI Ltd, www.m-hikari.com http://dx.doi.org/1.12988/ams.213.37372 Intersection of a Line and a Convex Hull of Points Cloud R. P. Koptelov

### A NOTE ON EDGE GUARDS IN ART GALLERIES

A NOTE ON EDGE GUARDS IN ART GALLERIES R. Nandakumar (nandacumar@gmail.com) Abstract: We study the Art Gallery Problem with Edge Guards. We give an algorithm to arrange edge guards to guard only the inward

### Applied Algorithm Design Lecture 5

Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design

### Topological Treatment of Platonic, Archimedean, and Related Polyhedra

Forum Geometricorum Volume 15 (015) 43 51. FORUM GEOM ISSN 1534-1178 Topological Treatment of Platonic, Archimedean, and Related Polyhedra Tom M. Apostol and Mamikon A. Mnatsakanian Abstract. Platonic

### Vector Algebra CHAPTER 13. Ü13.1. Basic Concepts

CHAPTER 13 ector Algebra Ü13.1. Basic Concepts A vector in the plane or in space is an arrow: it is determined by its length, denoted and its direction. Two arrows represent the same vector if they have

### 4.1 Learning algorithms for neural networks

4 Perceptron Learning 4.1 Learning algorithms for neural networks In the two preceding chapters we discussed two closely related models, McCulloch Pitts units and perceptrons, but the question of how to

### Mesh-based Integration of Range and Color Images

Mesh-based Integration of Range and Color Images Yiyong Sun *, Christophe Dumont, Mongi A. Abidi Imaging, Robotics, and Intelligent Systems (IRIS) Laboratory Department of Electrical and Computer Engineering

### MATHEMATICAL BACKGROUND

Chapter 1 MATHEMATICAL BACKGROUND This chapter discusses the mathematics that is necessary for the development of the theory of linear programming. We are particularly interested in the solutions of a

### Recall that two vectors in are perpendicular or orthogonal provided that their dot

Orthogonal Complements and Projections Recall that two vectors in are perpendicular or orthogonal provided that their dot product vanishes That is, if and only if Example 1 The vectors in are orthogonal

### Curves and Surfaces. Goals. How do we draw surfaces? How do we specify a surface? How do we approximate a surface?

Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] Goals How do we draw surfaces? Approximate with polygons Draw polygons

### CK-12 Geometry: Exploring Solids

CK-12 Geometry: Exploring Solids Learning Objectives Identify different types of solids and their parts. Use Euler s formula to solve problems. Draw and identify different views of solids. Draw and identify

### CHAPTER 4 4. METHODS FOR MEASURING DISTANCE IN IMAGES

50 CHAPTER 4 4. METHODS FOR MEASURING DISTANCE IN IMAGES 4.1. INTRODUCTION In image analysis, the distance transform measures the distance of each object point from the nearest boundary and is an important

### Centroid: The point of intersection of the three medians of a triangle. Centroid

Vocabulary Words Acute Triangles: A triangle with all acute angles. Examples 80 50 50 Angle: A figure formed by two noncollinear rays that have a common endpoint and are not opposite rays. Angle Bisector:

### Convexity in R N Main Notes 1

John Nachbar Washington University December 16, 2016 Convexity in R N Main Notes 1 1 Introduction. These notes establish basic versions of the Supporting Hyperplane Theorem (Theorem 5) and the Separating

### Mathematics Course 111: Algebra I Part IV: Vector Spaces

Mathematics Course 111: Algebra I Part IV: Vector Spaces D. R. Wilkins Academic Year 1996-7 9 Vector Spaces A vector space over some field K is an algebraic structure consisting of a set V on which are

### Shortest Path Algorithms

Shortest Path Algorithms Jaehyun Park CS 97SI Stanford University June 29, 2015 Outline Cross Product Convex Hull Problem Sweep Line Algorithm Intersecting Half-planes Notes on Binary/Ternary Search Cross

### Common Core Unit Summary Grades 6 to 8

Common Core Unit Summary Grades 6 to 8 Grade 8: Unit 1: Congruence and Similarity- 8G1-8G5 rotations reflections and translations,( RRT=congruence) understand congruence of 2 d figures after RRT Dilations

### 10.0-2. Finite Element Modeling

What s New in FEMAP FEMAP 10.0 and 10.0.1 include enhancements and new features in: User Interface on page 3 Meshing on page 23 Mesh Associativity on page 33 Properties on page 33 Functions on page 35

### LECTURE NOTES: FINITE ELEMENT METHOD

LECTURE NOTES: FINITE ELEMENT METHOD AXEL MÅLQVIST. Motivation The finite element method has two main strengths... Geometry. Very complex geometries can be used. This is probably the main reason why finite

Adaptive Online Gradient Descent Peter L Bartlett Division of Computer Science Department of Statistics UC Berkeley Berkeley, CA 94709 bartlett@csberkeleyedu Elad Hazan IBM Almaden Research Center 650

### Week 2 Polygon Triangulation

Week 2 Polygon Triangulation What is a polygon? Last week A polygonal chain is a connected series of line segments A closed polygonal chain is a polygonal chain, such that there is also a line segment

### discuss how to describe points, lines and planes in 3 space.

Chapter 2 3 Space: lines and planes In this chapter we discuss how to describe points, lines and planes in 3 space. introduce the language of vectors. discuss various matters concerning the relative position

### 1. Abstract 2. Introduction 3. Algorithms and Techniques

MS PROJECT Virtual Surgery Piyush Soni under the guidance of Dr. Jarek Rossignac, Brian Whited Georgia Institute of Technology, Graphics, Visualization and Usability Center Atlanta, GA piyush_soni@gatech.edu,

### Constrained Tetrahedral Mesh Generation of Human Organs on Segmented Volume *

Constrained Tetrahedral Mesh Generation of Human Organs on Segmented Volume * Xiaosong Yang 1, Pheng Ann Heng 2, Zesheng Tang 3 1 Department of Computer Science and Technology, Tsinghua University, Beijing

### 10. Graph Matrices Incidence Matrix

10 Graph Matrices Since a graph is completely determined by specifying either its adjacency structure or its incidence structure, these specifications provide far more efficient ways of representing a

### x 2 f 2 e 1 e 4 e 3 e 2 q f 4 x 4 f 3 x 3

Karl-Franzens-Universitat Graz & Technische Universitat Graz SPEZIALFORSCHUNGSBEREICH F 003 OPTIMIERUNG und KONTROLLE Projektbereich DISKRETE OPTIMIERUNG O. Aichholzer F. Aurenhammer R. Hainz New Results

### 1 Orthogonal projections and the approximation

Math 1512 Fall 2010 Notes on least squares approximation Given n data points (x 1, y 1 ),..., (x n, y n ), we would like to find the line L, with an equation of the form y = mx + b, which is the best fit

### Notes on polyhedra and 3-dimensional geometry

Notes on polyhedra and 3-dimensional geometry Judith Roitman / Jeremy Martin April 23, 2013 1 Polyhedra Three-dimensional geometry is a very rich field; this is just a little taste of it. Our main protagonist

### Determinants, Areas and Volumes

Determinants, Areas and Volumes Theodore Voronov Part 2 Areas and Volumes The area of a two-dimensional object such as a region of the plane and the volume of a three-dimensional object such as a solid

### How Reliable are Practical Point-in-Polygon Strategies?

How Reliable are Practical Point-in-Polygon Strategies? Stefan Schirra Otto von Guericke University, Department of Computer Science, Magdeburg, Germany, stschirr at ovgu.de Abstract. We experimentally

### C4 Computer Vision. 4 Lectures Michaelmas Term Tutorial Sheet Prof A. Zisserman. fundamental matrix, recovering ego-motion, applications.

C4 Computer Vision 4 Lectures Michaelmas Term 2004 1 Tutorial Sheet Prof A. Zisserman Overview Lecture 1: Stereo Reconstruction I: epipolar geometry, fundamental matrix. Lecture 2: Stereo Reconstruction

### The Goldberg Rao Algorithm for the Maximum Flow Problem

The Goldberg Rao Algorithm for the Maximum Flow Problem COS 528 class notes October 18, 2006 Scribe: Dávid Papp Main idea: use of the blocking flow paradigm to achieve essentially O(min{m 2/3, n 1/2 }

### Mean Value Coordinates

Mean Value Coordinates Michael S. Floater Abstract: We derive a generalization of barycentric coordinates which allows a vertex in a planar triangulation to be expressed as a convex combination of its

### Computer Graphics: Visualisation Lecture 3. Taku Komura Institute for Perception, Action & Behaviour

Computer Graphics: Visualisation Lecture 3 Taku Komura tkomura@inf.ed.ac.uk Institute for Perception, Action & Behaviour Taku Komura Computer Graphics & VTK 1 Last lecture... Visualisation can be greatly

### State of Stress at Point

State of Stress at Point Einstein Notation The basic idea of Einstein notation is that a covector and a vector can form a scalar: This is typically written as an explicit sum: According to this convention,

### AIMA Chapter 3: Solving problems by searching

AIMA Chapter 3: Solving problems by searching Ana Huaman January 13, 2011 1. Define in your own words the following terms: state, state space, search tree, search node, goal, action, transition model and

### Lattice Point Geometry: Pick s Theorem and Minkowski s Theorem. Senior Exercise in Mathematics. Jennifer Garbett Kenyon College

Lattice Point Geometry: Pick s Theorem and Minkowski s Theorem Senior Exercise in Mathematics Jennifer Garbett Kenyon College November 18, 010 Contents 1 Introduction 1 Primitive Lattice Triangles 5.1

### New Hash Function Construction for Textual and Geometric Data Retrieval

Latest Trends on Computers, Vol., pp.483-489, ISBN 978-96-474-3-4, ISSN 79-45, CSCC conference, Corfu, Greece, New Hash Function Construction for Textual and Geometric Data Retrieval Václav Skala, Jan

### 1 VECTOR SPACES AND SUBSPACES

1 VECTOR SPACES AND SUBSPACES What is a vector? Many are familiar with the concept of a vector as: Something which has magnitude and direction. an ordered pair or triple. a description for quantities such

### Divide-and-Conquer. Three main steps : 1. divide; 2. conquer; 3. merge.

Divide-and-Conquer Three main steps : 1. divide; 2. conquer; 3. merge. 1 Let I denote the (sub)problem instance and S be its solution. The divide-and-conquer strategy can be described as follows. Procedure

### STRAND B: Number Theory. UNIT B2 Number Classification and Bases: Text * * * * * Contents. Section. B2.1 Number Classification. B2.

STRAND B: Number Theory B2 Number Classification and Bases Text Contents * * * * * Section B2. Number Classification B2.2 Binary Numbers B2.3 Adding and Subtracting Binary Numbers B2.4 Multiplying Binary

### arxiv: v1 [math.mg] 6 May 2014

DEFINING RELATIONS FOR REFLECTIONS. I OLEG VIRO arxiv:1405.1460v1 [math.mg] 6 May 2014 Stony Brook University, NY, USA; PDMI, St. Petersburg, Russia Abstract. An idea to present a classical Lie group of