Hoops: 3D Curves as Conservative Occluders for Cell-Visibility

Size: px
Start display at page:

Download "Hoops: 3D Curves as Conservative Occluders for Cell-Visibility"

Transcription

1 EUROGRAPHICS 2001 / A. Chalmers and T.-M. Rhyne (Guest Editors) Volume 20 (2001), Number 3 Hoops: 3D Curves as Conservative Occluders for Cell-Visibility Pere Brunet, Isabel Navazo, Jarek Rossignac and Carlos Saona-Vázquez Abstract Most visibility culling algorithms require convexity of occluders. Occluder synthesis algorithms attempt to construct large convex occluders inside bulky non-convex sets. Occluder fusion algorithms generate convex occluders that are contained in the umbra cast by a group of objects given an area light. In this paper we prove that convexity requirements can be shifted from the occluders to their umbra with no loss of efficiency, and use this property to show how some special non-planar, non-convex closed polylines that we call "hoops" can be used to compute occlusion efficiently for objects that have no large interior convex sets and were thus rejected by previous approaches. 1. Introduction Despite the continuous improvement in the bandwidth of graphics hardware, navigation of very complex models remains an open problem of interest to graphics researchers. Software solutions to this shortcoming abound, and can be grouped into three families: level of detail, image-based rendering and visibility culling. This paper introduces a new tool that can be used to improve culling performance of most current visibility culling algorithms. Research on visibility culling first focused on ways to compute conservatively whether a set of objects are hidden by one single convex object called the occluder. Local visibility algorithms perform occlusion culling at each viewpoint while the user is navigating. Approximate cell visibility algorithms subdivide the navigational space into cells and estimate the set of visible objects for each cell by sampling viewpoints locations in it. Recently, several researchers proposed to use synthesized convex shapes which can be safely substituted for the original occluders and that can be combined to synthesize a larger set (which may be safely substituted for several occluders). But occluder convexity has remained a necessary condition for the computation of individual occluders. In many Polytechnic University of Catalonia G.V.U., Georgia Institute of Technology situations, convexity of occluders yields faster culling algorithms and has been a prerequisite for occluder fusion. This paper proposes new results for occlusion computation. From a theoretical point of view, it relaxes the conditions occluders must meet in order to allow to infere cell visibility from local visibility at its vertices. If an object S is hidden by an occluder O from the vertices of a convex cell C, then S is hidden from all points of C. On a more practical side, new algorithms are introduced that compute suitable non-convex occluders from arbitrary scenes. More importantly, though concave these occluders retain the main properties of convex occluders regarding visibility: occlusion speed and cell visibility computability. Finally, we also show how these occluders can be stored compactly as special polylines we call hoops and how hoops from disjoint sources can be fused together. Hoops can be integrated effortlessly into almost all visibility culling algorithms for enhanced occlusion culling. Our tests show that hoops can be synthesized from non-convex sets that do not contain any large convex sets, thus improving occlusion performance. Section 2 reviews current approaches to visibility culling, occluder synthesis and occluder fusion. Our theoretical contributions to visibility are introduced next in section 3. Section 4 exploits those results to elaborate a practical algorithm to synthesise occluders from heavily tessellated scenes and store them as hoops. Fusion of hoops is addressed next in section 5. Finally, sections 6 and 7 show empiric results and discuss conclusions and future work. Published by Blackwell Publishers, 108 Cowley Road, Oxford OX4 1JF, UK and 350 Main Street, Malden, MA 02148, USA.

2 2. Previous Work Back in 1993, Teller and Hanrahan 17 extended previous ideas of Teller 16 and Teller and Séquin 18 to present an algorithm that computed visibility in architectural environments. Linear-programming techniques were used to compute interroom visibility. Later, Coorg and Teller 5, 6 introduced the concepts of separating and supporting planes to conservatively decide visibility between two convex sets separated by a convex polygon. At each viewpoint, supporting and separating planes were used to cull the kd-tree of the scene with a set of occluders that had been selected previously in a preprocess. Instead of sets of planes, Hudson et al. 10 computed shadow frusta to cull the scene. Greene, Kass and Miller 9 and Zhang et al. 20 also computed visibility locally at each viewpoint, but computations were done in image space with hierarchical generalisations of the z-buffer. Instead of performing occlusion culling at each viewpoint, several authors proposed to partition the space into cells and computing visibility of the cell as a conservative estimation of the union of the visible sets of its inner points. Cohen-Or et al. 4 used a uniform grid to partition navigational space, whereas Saona-Vázquez et al. 14 proposed an octree. Klosowski and Silva 11 presented a non-conservative, realtime approach to visibility. They employ a heuristic metric that estimates the likelihood of a polygon being visible. Andújar et al. 2 also presented an algorithm that traded accuracy for speed. It was accomplished by means of a generalisation of potentially visible sets, called hardly visible sets, that allows to cull geometry that is partially occluded. Additionally, the authors showed how hardly visible sets could be used to improve level of detail. As discussed in the previous section, almost all visibility algorithms depend heavily on the tesselation and on the convexity of its models. Occluder synthesis algorithms provide alternative tessellations of potentially good occluders to increase the efficiency of occlusion culling. Zhang 19 and Law and Tan 13 used simplification algorithms to accelerate the culling process. As convexity was not an issue, their applicability is more limited than more recent methods. Instead of simplification, several authors have opted for converting the original bounded representation to a hierarchical volumetric representation (i.e., an octree). Andújar, Saona- Vázquez and Navazo 1 used a seed-like algorithm to generate sets of densely overlapping boxes contained into the black nodes of the octree. Schaufler et al. 15 presented a similar synthesis algorithm that also included occluder fusion (see below). Bernardini, Klosowski and El-Sana 3 generated view-dependent occluders by considering the faces of black nodes as potential occluders. Finally, until very recently visibility computation was limited to occlusion due to a single connected convex occluder (except for frame buffer based occlusion techniques). That is to say, an object that was occluded by the joined action of two blockers but not by either of them alone was always classified as visible. Fusion of occluders may be achieved by extending occluders inside previously computed umbras. If an occluder O 2 intersects the umbra U 1 of occluder O 1, then extending O 2 into U 1 yields a fusioned occluder that culls geometry occluded by O 1 and O 2 together. Even better, this procedure can be repeated iteratively with other occluders. Koltun, Chrysanthou and Cohen-Or 12 have proposed this approach in 2.5D space using supporting and separating lines to compute umbras, and so do Schaufler et al., 15 but in 3D using volume octrees. In an utterly different fashion, Durand et al. 8 project occluders into image space and accomplish occluder fusion by reprojecting on several planes. It is the only cell visibility algorithm that can cope with concave sets, although with some limitations. Namely, a plane has to be found whose intersection with the occluder is a singly connected surface. Even then, and as happens also with imagespace local visibility algorithms, concave occlusion is much slower than convex occlusion. A solution, sketched by Durand, 7 was to generate a set of convex occcluders whose union approximated the concave set conservatively. In order for this union to be of any use, the sets of the union must overlap. As we will see, hoops satisfy these requirements completely. 3. Cell Occlusion and Hoops This section discusses efficient ways of computing cell visibility. Given a partition of the space into cells, the objective is to compute a conservative estimation of the visible set of each cell. The visible set is the set of potentially visible scene polygons from any viewpoint in the cell (the visible set of a cell is also the complement of the set of polygons that are invisible from all possible viewpoints in the cell). In what follows we will first show that occluder convexity is a sufficient but not necessary condition for efficient cell occlusion. In fact, convexity of the umbra from the cell is enough to compute the visible set of the cell. Then, by extending the notion of umbra to non-planar polylines, we will introduce the concept of hoops and provide efficient tests to check umbra convexity and hoop conditions in linear time. The main idea derives from the fact that non-convex objects can generate convex shadows from certain locations of the viewpoint q (see figure 1). In these cases, a 3D polyline (hoop) generating the same convex shadow as O can be used in the occlusion tests instead of using the initial object O, figure 1-d and 1-e. This section presents the basic definitions and properties of hoops, whereas the hoop synthesis and fusion algorithms are introduced in sections 4 and Shadows We start with the definitions of shadows and umbrae. In what follows, the convex hull of a set of points p 1,..., p k will

3 Figure 1: A non-convex object (a). The object is a nonconvex occluder from a general viewpoint (b), but is almost convex from the view in (c). A q-hoop is a closed polyline that is seen as convex from the viewpoint q (d), although it is really non-planar and non-convex, (e). Definition 2 The shadow from a set C R m of a set O R m linearly separable from it (figure 2-b), is S(V,O) = {p R m \ O q C : qp O } = S(q, O) q C As we will see, it will prove useful to consider also an extended version of the shadow that includes the occluder and the region between the occluder and the viewing points, figure 2-c and 2-d. Definition 3 Let q R m,o R m be a point and a set that are linearly separable. The extended shadow of O from q is S * (q,o) = {p R m ray(q, p) O } = {p R m x O,λ > 0 : p = q + λ qx} Definition 4 Let O,C R m be two linearly separable sets. The extended shadow of O from C is S * (C,O) = S * (q,o) q C The next part of this section deals on how to infer cell visibility from the visibility properties of a few points, such as the cell vertices Cell Occluders Definition 5 Given a set O R m and a bounded polytope C R m, we will say that O is a cell occluder for C, or just a C-occluder, if the following proposition holds for any other set S O hides S from every vertex of C S is hidden by O from every point in C Figure 2: The shadow of a pointset O from a point q (a), the shadow of the same pointset from a set C (b), and the corresponding extended shadows from q and C, (c), (d). be denoted by CH(p 1,..., p k ) and the segment between two points p and q by pq. Definition 1 Assume we have a point q and a set O both in R m. Assume that there exists a plane linearly separating q and O. Then the shadow of O from q is, S(q,O) = {p R m p O qp O } If we extend this definition to sets of points, we define the umbra (Teller, 16 Saona 14 ), figure 2-a. The following result shows that, assuming convexity of the extended shadow of O from C, the cell visibility can be directly computed from the visibility properties of the vertices of C (observe that the convexity requirement for the extended shadow is weaker than the usual requirement of O being convex, figure 2-d) Theorem 1 Let O,C R m, where C = CH(q 1,...,q n) are linearly separable and such that q C : S * (q,o) is convex. Then O is a C-occluder: for every point x that is linearly separable from C O n x S(q i,o) q C : x S(q,O) i=1 Proof. We will demonstrate it by induction on the dimension of the polytope C,k = dim(c) < n. Let q be a point in C. Assume that x n S(q i,o) i=1 k = 1) Suppose q 1,q 2 are the extremal points of the segment C. Let H 1 be the plane separating C from O and H 2 the plane separating O from x (see figure 3). We know that

4 Figure 3: Example of lemma 1 for a segment. The drawing shows a 2D section by the plane q 1,q 2,x. Note that O need not be connected. Figure 4: The closed polyline defined by the sequence of edges (a) of the L-shaped object is not self-intersecting, but it is not q-simple from the view in (b). exist two points in O, p 1, p 2, that lie on rays xq 1 and xq 2 because x is hidden by O from all q i. As q, p 1, p 2 are on different edges of the triangle q 1 xq 2, the segments qx and p 1 p 2 intersect in a point y. Then, because p 1, p 2 O p 1, p 2 S * (q,o) by convexity of S * we have y S * (q,o) and then x S * (q,o). As H 2 separates x from O, if x is in the extended shadow of q from O then it must also be in the regular shadow S(q,O). k > 1) Let p 1, p 2 R m now be two different points on two (k 1)-facets f 1, f 2 of C such that point q CH(p 1, p 2 ) = p 1 p 2. Then, n x S(q i,o) induction x 2 S( f i,o) k>k 1 i=1 i=1 2 x S(p i,o) induction x S(p 1 p 2,O) k>2 i=1 x S(q,O) The consequence of theorem 1 is that, independently of its shape, we can conclude that a certain set O is a C-occluder simply from visibility tests from the vertices of C (provided that the extended shadow is convex). On the other hand, theorem 1 is also true in the case of a general-shaped polyhedral cell C, due to the fact that the vertices of CH(C) are always also vertices of C and that C CH(C). We will discuss now how polylines can be used as C- occluders for objects that are potentially good occluders despite not containing any large convex set (like the object in figure 1). First we should decide what we consider that a polyline occludes. This decission is not straightforward because it is unclear what the interior of a polyline is. And we must be careful about what we define a polyline to hide because it should be consistent with our previous definitions of shadows and umbrae. More precisely, we would like the shadow of a polyline P to be the same as the shadow of any object whose silhouette happens to be P. A first intuitive approach could be considering the shadow to be the cone bounded by the semiinfinite triangles from the viewing point and through each of the polyline edges. However in the general case this cone is not well defined. In particular, it may happen that the viewpoint sees the polyline as self-intersecting, as in the case depicted in figure 4 (observe that the projection of the polyline in figure 4-b is a right-turning polyline; but it is not convex because it is not a simple polygon). The following definition generalises the concept of simple polygon to non-planar polylines. Definition 6 Let P be a non-self-intersecting closed polyline and q a point. We say that P is simple from q, or just q- simple, if every line through q intersects P at one point at most and P and q are linearly separable. Property 1 P is q-simple if and only if the projection of P from q onto a plane separating P and q is a simple polygon. Proof. Let us assume that P is q-simple. Then, any projection line from q intersects P at only one point, which means that the projection of P is a simple polygon. On the other hand, if we assume that the projection of P is a simple polygon, then all straight lines from q passing through a point of the projected polygon will intersect P at one point. Now we can define safely the extended shadow of a polyline.

5 Definition 7 Let P be a polyline and q R 3 a point such that P is q-simple. We define S * (q,p), the extended shadow of P from q, as the cone bounded by the semiinfinite triangles from q and every two consecutive vertices of P. Property 2 Let P be a polyline and q R 3 a point such that P is q-simple. Then P belongs to the boundary of the extended shadow, P δs * (q,p). The extended shadow of a polyline from a region can be defined accordingly. It is clear that the previous definitions are consistent with that of a regular set. In this case, Property 3 Should P be the silhouette of a set S from the viewpoint q, then S * (q,p) = S * (q,s). Brunet, Navazo, Rossignac and Saona-Vázquez / Hoops However, although testing view-dependent simplicity of a polyline from a single point is an easy matter, simplicity from a cell is somewhat more complicated. Besides, if we want to actually use polylines as occluders, we need tools to check for the convexity of their extended shadow from a cell. We will introduce next the convex appearance polytope that generalises polygonal convexity to non-planar polylines. Definition 8 Let P be a polyline in R 3 with vertices [p 1,..., p n] such that there are not three consecutive colinear vertices. The convex appeareance polytope of P, denoted CAP(P), is defined as the (possibly empty) open intersection of the positive half-spaces bounded by the supporting planes of every three consecutive vertices of P. n CAP(P) = H + (p i, p i 1 p i p i p i+1 ) i=1 where p 0 = p n, p n+1 = p 1 The convex appearance polytope of a simple closed polyline is shown in figure 5. The non-planar closed polyline P in figure 5-a is seen as a simple, left-turning, closed and apparently convex polyline when it is seen from a viewpoint q, as shown in figure 5-b. CAP(P) (see figure 5-c ) defines the possible locations of the viewpoint q such that P appears as a left-turning polygon in its projection from q. Property 4 CAP(P) is a convex polytope (figure 5-c ), possibly empty. In the case of P being a planar, convex polygon, CAP(P) is the positive halfspace defined by the plane supporting P. In the case of P being a planar, non-convex polygon, CAP(P) is empty Hoops Unfortunately, inclusion in CAP(P) is not sufficient by itself to ensure convexity of the shadow, and simplicity of the projection of P must also be required. We will define hoops to be polylines that are seen as convex and simple from a set of viewpoints. Definition 9 Let q R 3 be a point and P a polyline. We say that P is a q-hoop iff P is q-simple and q CAP(P). Figure 5: A 3D polyline defined on a cube (a). The polyline P appears as convex when viewed from q (b). The convex appearance polytope of P, CAP(P), is an infinite three- sided pyramid (c). Definition 10 Let C be a subset of R 3 such that it is linearly separable from P. Then P is a C-hoop iff C CAP(P) and P is C-simple (P appears as a simple polygon from all viewpoints in C). Lemma 1 Let P be a polyline that does not self-intersect and q R 3 a point. Then, P is a q-hoop S * (q,p) is convex Proof. Let Π be a plane separating P from q. As P is q- simple, Π S * (q,p) = Q is a simple polygon that is the projection of P from q onto Π. Because of q being in CAP(P), we know that every three consecutive vertices of its projection Q share the same leftturn orientation (figure 5-b). Besides, Q is simple because P was q-simple. We can conclude then that Q is a convex polygon. On the other hand, as Q is the projection of P from q, then S * (q,q) = S * (q,p). As Q is convex, so is its extended shadow, and so is S * (q,p). Corollary 1 If P is a q-hoop, then CH(P) S * (q,p) (1) Proof. Straightforward as S * (q,p) is convex and P S * (q,p). Corollary 2 If P is a q-hoop, then S * (q,ch(p)) = S * (q,p) (2)

6 Proof. It is enough to show that x S * (q,ch(p)) x S * (q,p) and that follows from equation 1. Before hoops can be used as cell occluders, we must be sure that we can test whether a polyline is a hoop for a given cell. Inclusion of the cell in the convex appereance polytope of the polyline is easy to check by testing all the vertices of C against the halfspaces defined by P s pairs of consecutive edges. As for simplicity, we will now prove that checking whether P is a hoop for a cell C can also be ensured by checking only the vertices of the cell. The proof runs by showing that hoops are the silhouettes of convex sets. Definition 11 Let O R 3 be a convex set and q R 3 a point linearly separable from it. We define V(q,O) as the convex polytope defined by intersection of the halfspaces contaning q of the supporting planes of the 2-facets of O that are visible from q. We can define also I(q,O) using the supporting planes of the invisible faces of O. Property 5 The sets V(q,O) and I(q,O) are linearly separable. In most cases, the convex set CAP(P) coincides with V(q,O) for points q in CAP(P) and O = CH(P), figure 5- c. Similarly, the convex set CAP(P ) (P being the inversion of polyline P ) also coincides with I(q,O) for points q in CAP(P ) and O = CH(P). Lemma 2 If P is a q-hoop, then P is the silhouette of the convex hull of P when viewed from q. Proof. It follows from equation 2 and from P being on the boundary of S * (q,p) that all the edges of P are either edges of the silhouette of CH(P) from q, or are on faces of CH(P) that are colinear with q. Say Π 0 separates P from q, and consider the convex polygon Q = Π 0 S * (q,p). Suppose E is a set of edges of P that lie on a face of CH(P) colinear with q and whose supporting plane is Π. The edges of E must project onto an edge of Q on the line Π 0 Π so, as P is simple, they must form a connected sub-polyline [e 1,...,e k ] of P. Moreover, this sub-polyline can have just one edge e; if there are but two of them then Π is one of the planes that define CAP(P). And this cannot be, as it would mean that q CAP(P) Π and CAP(P) is an open set. Finally, as Π CH(P) = e, the convex hull of P cannot have a face on Π, so e must be a silhouette edge. Corollary 3 If P is a q-hoop, then q is either in V(q,CH(P)) or in I(q,CH(P)). Proof. Straightforward as P must be the silhouette of CH(P) by lemma 2. We are now ready to be able to ascertain P-simplicity from a region when we know that P appears as a simple polygon from the region vertices. The following Lemma gives the necessary results for this: Lemma 3 Let P be a closed polyline and Q a set of points q 1,...,q n linearly separable from it. Then, if P is a q i -hoop for all points in Q, then it is also a CH(Q)-hoop. Proof. We will prove it by induction on k the dimension of the convex hull of Q. Let q be a point in CH(Q) and P = [p 1,..., p n]. CASE k = 2) Let q 1,q 2 be the endpoints of the segment CH(Q). q 1,q 2 CAP(P) convexity q CAP(P) By lemma 2 P is the silhouette of CH(P) from q 1 and q 2. Consider the disjoint sets V = V(q 1,CH(P)) and I = I(q 1,CH(P)), and suppose that q 1 V. Point q 2 must be either in V or in I as it also sees P as the silhouette of CH(P). But it cannot be in I, because then the orientation of q 2 and any two consecutive edges of P would be the opposite of that of q 1 and the same two vertices, contradicting that q 1,q 2 CAP(P). By convexity, point q must also be in V, and P is thus the silhouette of CH(P) when viewed from q. Therefore, P must be q-simple. CASE k > 2) Let p 1, p 2 R m be two different points on two (k 1)-facets f 1, f 2 of C such that q CH(p 1, p 2 ) = p 1 p 2. Then, P : Q-hoop induction P : { f 1, f 2 }-hoop k>k 1 P {p 1, p 2 }-hoop induction P : q-hoop k>2 The main consequence from Lemma1 and Lemma 3 is that if we have a convex cell C contained in CAP(P), we can guarantee that the extended shadow S * will be convex from any viewpoint in C, by simple tests only on the vertices of C. Now we are ready to state that the hoop property as we defined it can be used in practice to employ polylines as valid view-dependent cell occluders. Theorem 2 Let P be a closed polyline, Q a set q 1,...,q n of points linearly separable from it such that P is a q i -hoop for all i, and C = CH(Q). Then P is a C-occluder. Proof. By lemmas 3 and 1, we know that P is CH(Q)- simple and thus that S * (CH(Q),P) is a convex set. Then, P is a CH(Q)-occluder by theorem 1. The main consequence is that non-convex closed polylines can define convex shadows and can be valid cell occluders. Given a convex cell C, we must only find a closed polyline P being a C-hoop (testing if C is in CAP(P) and cheking that P is a q i -hoop for the C vertices, according to definition 10). Then, we know that P is a valid C-occluder and that its extended shadow from any viewpoint in C is convex. A simple algorithm for computing C-hoops from scene objects will be presented in the next section. C-hoops generated from a certain object O can be stored compactly, can

7 be easely integrated in visibility culling algorithms and give a good conservative visibility estimation of O at a low computational cost. 4. Hoop Synthesis Given an object O with a well-defined interior and a cell C linearly separable from it, our goal is to compute a C-hoop P that is a C-occluder and that does not hide anything that M did not. In practice, O will be a polyhedron and C an isothetic box. A first possible solution, based on T heorem 2, would be to compute a C-hoop P such that CH(P) O. However, this is not a good solution in most practical cases: in concave objects such as the one presented in figure 1, the requirement that CH(P) O produces too small C-hoops. Observing that a C-hoop P is also a q-hoop for any point q in C, it is clear from Lemma 2 and figure 5 that the projection of P coincides with the silhouette of CH(P) from any point in the cell C and that this silhouette is invariant from any point in C. This leads us to a second and better solution: we can compute a C-hoop P such that a connected surface S exists fulfilling S O and silhouette(s) = silhouette(p) from any viewpoint in C. In other words, P will be a valid C-hoop if we can find a surface S within O that exactly fills out the empty region delimited by P as seen from C. In our scheme, we have a top-down seed algorithm that uses an octree representation of the original object O. As with any seed-like algorithm, we need a way to enlarge the seed that preserves view-dependent cell occlusion properties throughout the process. The following definitions will help us to discriminate between suitable and non-suitable candidates, Definition 12 Given a cubic cell C, a surface with border S, an object O and a closed polyline P, we will say that S C-fills P within O iff S O and the silhouette of S coincides with the silhouette of P from any possible viewpoint in the cell C. Definition 13 Popping vertex. Let p be a point, P a closed polyline, C a cubic cell, and O an object with a well-defined interior such that P is a C-hoop and there exists a surface S that C-fills P within O. Then p pops P from C iff the following three conditions hold 1. The point p is outside all the eight shadows S * (q i,p), where q i are the vertices of C. 2. Let [p 1,..., p n] be the vertices of P. Then there exists another polyline Q = [p 1,..., p i k, p, p i+l,..., p n], k + l > 1 such that Q is also a C-hoop. 3. There exists a surface S such that S C-fills P within O. The whole general procedure is shown in algorithm 1. We assume that a classical octree representation has been computed from O. The octree Oct is an input parameter of the function because it is only computed once for the whole scene and is then used for every Cell Occlusion computations. We will use the silhouettes of the black nodes of the octree as seeds, for they are both convex and fully contained into the original set. As we want occluders to be as big as possible, it makes sense to consider the biggest black nodes of the octree first. Once the n biggest black nodes are selected as seeds (where n is an input parameter entered by the user), the algorithm proceeds to generate a C-hoop for each of them. Observe that a seed black node is valid only if it has the same silhouette from all the vertices from C (in the case that none of the seed black nodes is valid, we subdivide the visibility cell C). Finally, the occlusion power of the different generated C-hoops is measured by the area of a section of their umbra from C, and the C-hoop with the biggest area is selected. function Cell_Occluder(O,Oct,C,numSeeds) returns Polyline var seeds: array[1..numseeds] of node CandidateVertices: list of 3DPoint P,Poccluder: Polyline seeds:= biggest_nodes(oct,numseeds) CandidateVertices:= black_vertices(oct) Poccluder := nil for i := 1 to numseeds do P:= silhouette(c,seeds[i]) for i:=1 to size(candidatevertices) do P:= pop(candidates[i], P, Oct,C) end for Poccluder:= MaximumShadowArea(P,Poccluder) end for return Poccluder Algorithm 1: Generation of a C-hoop for an object O from a view cell C. The algorithm and the funtion pop guarantee that P is always a C-hoop with vertices within O, and that there exists a surface S that C-fills P within the octree Oct and the object O. Initially, S is a surface filling the silhouette of the seed black nodes. The black_vertices function traverses the octree and returns a list of the vertices of its black nodes such that those vertices corresponding to bigger nodes appear first. We exploit the fact that all vertices of the octree black nodes are inside the object O, and that smaller nodes are located closer to the object boundary. This fact allows an automatic progressive enlargement and refinement of the C-hoop, figure 6. The MaximumshadowArea function selects the biggest polyline between two candidates by measuring the area of a section of the umbra with a plane separating the cell from the polylines. The silhouette function first determines which faces of the seed are visible from every vertex of the cell and then returns their silhouette. The key part of the procedure is located at the f or loop that traverses the list of candidate verc The Eurographics Association and Blackwell Publishers 2001.

8 tices. The current cell occluder is enlarged by popping it with the vertices in the list of candidates. Due to the way in which this list was created, this loop is equivalent to traversing the octree level by level using the occluder from level k as the seed to generate a larger one in level k + 1. The pop function in algorithm 2 runs a battery of tests before adding the candidate vertex p to the current occluder. First, p is tested for inclusion into the umbra of o from C (this requires only a simple test because the shadow is convex, Lemma 1). If it is located inside, it is rejected as it cannot contribute to enlarge it. Next, function insertion_points classifies the supporting planes of the faces of the umbra using the signed distance to p. This classification allows to determine where should p be inserted and which existing edges of o would have to be eliminated, if any. Besides, should cell occlusion be preserved, the three new edges so introduced have to be seen as convex from C. The three calls to the function convex_edge perform this simple test and ensure that this condition is fulfilled. At this point, we know that the new polyline is also a C-hoop. The only remaining issue is the existence of a surface inside the original object. We knew such a surface to exist for the previous hoop. For each of the edges that are going to be erased, the algorithm generates a triangle formed by the two vertices of the edge and the popping vertex. If all the triangles so generated are inside the octree, we know that an inner surface exists for the new hoop. Note that a negative answer to this test does not necessary mean that no inner surface exists. Nevertheless, this test is much cheaper that an exhaustive search and our empiric results have shown it to work well in practice. function pop(p,p,oct,c) returns Polyline s:= Shadow(C,P) if outside(p,s) then < i, j >:= insertion_points(p, s,c) b 1 := convex_vertex(p[i], p,p[ j],c) b 2 := convex_vertex(p[i 1],P[i], p,c) b 3 := convex_vertex(p,p[ j],p[ j + 1],C) if b 1 b 2 b 3 then if inside(triangles(p, P[i],..., P[ j]), Oct) then o:= polyline(o[1]...p[i], p,p[ j]...p[n]) endif end if end if return o Algorithm 2: Popping algorithm Observe that the algorithm guarantees that there exists a surface S that C-fills the hoop P, without never computing it. The surface S exists for the initial hoop built on the black seed nodes, and the triangle-in-octree inside tests guarantee that S exists in every subsequent popping iteration. Figure 6 shows several steps of the hoop popping algorithm in a particular example. The figure shows a section of the occluder and its octree as seen from a viewpoint in the cell. In 6-a, the concave occluder is shown together with the black nodes of its octree representation. Using one of the largest black nodes as a seed node 6-b, we have three possible candidate vertices in the coarsest octree level. The initial hoop - silhouette of the seed black node in 6-b - is enlarged by popping vertices in 6-c, 6-d and 6-e. To enlarge this intermediate hoop 6-e, new candidate vertices from the black nodes in the next octree level 6-f must be tested for popping. Out of the five candidate vertices in 6-f, only two of them can be used to enlarge the hoop in 6-g. The final hoop would now be enlarged using candidate vertices at deeper octree levels. Hoops can be efficiently used for visibility testing, due to the convexity of their extended shadow. Assuming that P is a C-hoop, the following algorithm tests if a given point Z is hidden by P from C: function InShadow(Z,P,C) returns boolean i:= 1 InExtendedShadow:= true while InExtendedShadow and i <= P.numVertices do pl:= EnclosingPlane(P,i,C) InExtendedShadow:= InPositiveHal f space(z, pl) i:= i + 1 end while U:= Umbragon(C, P) at this point, InExtendedShadow is true iff Z belongs to the extended shadow S * (C,P) return InExtendedShadow and InPositiveHal f space(z,u) Algorithm 3: Visibility testing algorithm The function EnclosingPlane returns the oriented plane containing the i-vertex of the hoop P and its next vertex in P, such that all vertices q i of the cell C are either in pl or in its positive halfspace. On the other hand, the Umbragon U is any oriented plane usable for conservative visibility computations of the occluder P from C (for any point q such that InPositiveHalfspace (q, U), we know that q is in the shadow S(C,P) ). Possible Umbragon options include triangulations of the hoop P, the shadow of CH(P) from C, or a plane cutting the hoop shadow and passing through the farthest point of P as seen from C. In our present implementation, we use a hoop triangulation. Observe that the information associated to the hoop P (the enclosing planes and its umbragon) can be computed only once and used for all the visibility computations from the cell C. Computational Cost. The number of edges of the polyline at each step can be considered bounded by a constant. The list of candidate vertices can be generated in O(n), where n stands for the number of nodes of the octree. The number of vertices of the octree is also O(n). The first tests in the pop function take constant time and the triangle-inoctree test has O(logn) cost. So the cost of pop is O(logn),

9 (a) Concave object in red and the black nodes of its octree (b) Seed node and the three candidate vertices of level 1. (c) First popping. The occluder is depicted in blue. (d) Second popping. (e) Third popping. (f) The candidate vertices of level 2. Valid ones are in black. (g) The occluder after all vertices up to level two have been popped. Figure 6: Occluder synthesis from a concave set viewed from a cell located on a plane parallel to the sheet. and that makes the cost of the whole occluder synthesis procedure to be O(nlogn). 5. Hoop Fusion In the last year several papers have been presented dealing with occluder fusion. The goal is to compute occlusion due to the combined action of several disjoint blockers. In this section we will discuss how hoops can be merged to this purpose. Our proposal uses a property first noted by Schaufler et al. 15 and Koltun et al.. 12 An occluder A can be extended safely into the umbra of another occluder B and the resulting occluder will hide anything that was invisible due to the presence of both A and B. This procedure can be iterated with as many occluders as wanted. Our hoop fusion algorithm computes joint occlusion incrementally. Given a set of candidate occluders {O i } an initial occluder O 1 is selected first using some metric like the solid angle. Once its hoop has been synthesised in the way explained in the previous section, its umbra U 1 is computed and the scene is culled with it. The solid angle metric is used again to select another occluder O 2 among the candidates that intersect U 1 (the intersection test is easy because of the convexity of U 1 ). The isothetic bounding box B 2 of O 2 is enlarged as much as possible until it surpasses U 1. An octree representation of B 2 U 1 is then computed. This octree can then be merged easily with that of O 2. The resulting octree is then used to generate another hoop using the algorithm of the previous section. The only alteration to it is that seeds are restricted to be in the O 2 part of the octree. Again, the umbra U 2 of O 2 can be computed easily and used to cull the scene further. Note that, as U 2 is obtained from the fusion of O 1 and O 2 (see figure 7), it occludes as much as O 1 and O 2 together, except for the zone between them. This does not affect occlusion performance as any object inside this zone was previously culled by U 1. This fusing procedure is iterated until none of the remaining candidates intersects the current umbra. When this happens, the candidate with the biggest solid angle is selected from the remaining candidates in {O i }, its hoop and its umbra are computed and the fusion process starts again with the rest of candidates. The whole process ends when there are no candidates left. 6. Results We have implemented the synthesis algorithm and carried on some tests with the models of St. Paul Cathedral and a

10 Figure 7: Hoop fusion. From left to right: two concave unconnected sets; the hoop of the closest set and its umbra; the intersection of the extended box of the second set and the union of the umbra of the previous hoop and the second set; the hoop generated from the octree of the intersection. folding screen to show how our algorithm behaves with nonconvex bulky objects, figure 9 and figure 10. We have tested the algorithm from two hundred cells placed randomly on spheres surrounding the model and using one hundred seeds at each cell, resulting in hoops in total. The results of these runs on the Cathedral model are depicted in figure 9 for two specific cells. As seen in the images, the synthesised hoops are quite tight. We have observed that using a small number of hoops for a concave object gives better results at a very small computational and storage cost. If the C-hoop generation algorithm in section 4 is modified in a way that it returns the N polygons with the highest shadow area instead of simply returning the polygon with the absolute maximum, the cell visibility computations can be based on these N hoops, giving a much tighter estimation of the extended shadow of the initial occluder, figure 9. We have observed that computing and storing the best N = 5 hoops gives good results for moderately concave occluders. The figure 11 shows the first 5 hoops obtained from the view-cell. It can be observed that hoops appear as convex when seen from a viewpoint close to the cell (left image) but they are not convex from other viewpoints (right image). In order to estimate the minimum number of seeds to obtain significant results, we performed four experiments from each cell, selecting the hoop with the largest shadow area among the total of the 100 generated hoops, and the hoops with the largest shadow area among the first five, ten and fifteen generated hoops. Figure 8 shows the cell visibility ratios for the Cathedral between the first and the others. The conclusion is that a low number of seeds (of the order of 10) gives already a hoop with good cell visibility, in the range of 80 to 90 percent of the visibility obtained with the hoop generated from 100 seeds. As a second example, the algorithm has been tested on the model of a folding screen (a twisted object whose occlusion Figure 8: Improvement on the size of occluders with different number of seeds. Results with five, ten and fifteen seeds are measured against results with one hundred seeds. cannot be computed by previous approaches). The results of the hoop generation on this model are shown in figure 10, that presents the maximum shadow area hoop obtained from 100 seeds. The tests also showed that the sizes of the computed occluders are small enough. The mean and standard deviation of the number of edges of the occluders were 13 and 5 for the folding screen and 21 and 4 for the cathedral. 7. Conclusions The main contributions of our work can be summarised as follows: We have enlarged the domain of occluders by shifting convexity requirements from the candidate occluder to its shadow. This allows to improve occlusion culling by using as occluders pointsets that would have been rejected by previous approaches. For instance, objects that are thin and twisted.

11 We have introduced a fast criterion to decide whether a candidate occluder generates convex shadows from every viewpoint in a cell. This criterion can be tested in linear time with respect to the number of vertices of the occluder and the cell. A new occluder synthesis algorithm that makes use of all these theoretical results has been presented. It generates view-dependent, non-convex occluders from a concave set independently of the tessellation. Furthermore, these occluders can be stored cheaply as hoops, special polylines that preserve most of the occlusion power of the original object. We have presented also an occluder fusion algorithm to merge hoops from separate occluders thus allowing computation of occlusion caused by joint action of many disconnected sets. Hoops can be easily integrated into existing visibility algorithms for improved occlusion performance. Even most recent algorithms that do not require convexity can take advantage of hoops to increase computation speed. We consider three different areas for future work: We would like to study whether extended shadow convexity is a necessary condition for cell visibility, or if further relaxations can be achieved. We are interested also in exploring mechanisms to speed up visibility culling. For instance, by making use of occluder coherence from cell to cell by using the current occluder as a seed for the next cell. Or by computing a set of cell occluders for each object such that every cell is guaranteed to have a valid occluder in the set. And finally, we would like to expand the synthesis algorithm to polygon meshes without an interior. Figure 9: Cell occluders of the cathedral from two different cells. On the left, the eight-level octree as viewed from the cell. On the right, the cubic cell and some hoops (in red) superimposed against its silhouette. 8. Acknowledgments The fourth author has been partially supported by an FPI grant of the Spanish Ministry of Education and Science. The second author thanks Spanish Ministry of Science and Technology for supporting her summer stay at Georgia Tech University. This work has also been partially supported by the project TIC C The authors would like to thank N. Aznar, E. Monclus, M. Soler and A. Vinacua for their help on the preparation of this paper. References 1. Carlos Andújar, Carlos Saona-Vázquez, and Isabel Navazo. LOD visibility culling and occluder synthesis. Computer-Aided Design, 32(13): , November Carlos Andújar, Carlos Saona-Vázquez, Isabel Navazo, and Pere Brunet. Integrating occlusion culling with levels of detail through hardly-visible sets. Computer Graphics Forum (Eurographics 2000), 19(3): , August Figure 10: Cell occluders of the folding screen from two different cells. On the left, the eight-level octree as viewed from the cell. On the right, the best hoop (in red) superimposed against its silhouette 3. Fausto Bernardini, James T. Klosowski, and Jihad El- Sana. Directional discretized occluders for accelerated occlusion culling. Computer Graphics Forum (Eurographics 2000), 19(3): , August Daniel Cohen-Or, Gadi Fibich, Dan Halperin, and Eyal Zadicario. Conservative visibility and strong occlusion for viewspace partitioning of densely occluded scenes. Computer Graphics Forum, 17(3): , Satyan Coorg and Seth Teller. Temporally coherent conservative visibility. In Proceedings of the Twelfth Annual Symposium On Computational Geomc The Eurographics Association and Blackwell Publishers 2001.

12 etry, pages 78 87, New York, May ACM Press. 6. Satyan Coorg and Seth Teller. Real-time occlusion culling for models with large occluders. In Proceedings of the Symposium on Interactive 3D Graphics, pages ACM Press, April Frédo Durand. 3D Visibility: Analytical study and applications. PhD thesis, Université Joseph Fourier, Frédo Durand, George Drettakis, Joëlle Thollor, and Claude Puech. Conservative visibility preprocessing using extended projections. In SIGGRAPH 2000 Proceedings, pages , July Ned Greene, Michael Kass, and Gavin Miller. Hierarchical Z-buffer visibility. Computer Graphics (SIG- GRAPH 93 Proceedings), 27: , T. Hudson, D. Manocha, J. Cohen, M. Lin, K. Hoff, and H. Zhang. Accelerated occlusion culling using shadow frusta. In Proceedings of the Thirteenth Annual Symposium on Computational Geometry, pages 1 10, June James T. Klosowski and Cláudio T. Silva. Rendering on a budget: A framework for time-critical rendering. In IEEE Visualization, pages , Vladlen Koltun, Yiorgos Chrysanthou, and Daniel Cohen-Or. Virtual occluders: An efficient intermediate PVS representation. In Eurographics Workshop on Rendering, pages 59 70, June Fei-Ah Law and Tiow-Seng Tan. Preprocessing occlusion for real-time selective refinement. In Proceedings of the 1999 Symposium on Interactive 3D Graphics, pages 47 53, Carlos Saona-Vázquez, Isabel Navazo, and Pere Brunet. The visibility octree. A data structure for 3D navigation. Computers & Graphics, 23(5): , Gernot Schaufler, Julie Dorsey, Xavier Decoret, and François X. Sillion. Conservative volumetric visibility with occluder fusion. In SIGGRAPH 2000 Proceedings, pages , July Seth Teller. Visibility Computation in Densely Occluded Polyhedral Environments. PhD thesis, CS Dept., UC Berkeley, Seth Teller and Pat Hanrahan. Global visibility algorithms for illumination computations. Computer Graphics (SIGGRAPH 93 Proceedings), 27: , Seth J. Teller and Carlo H. Séquin. Visibility preprocessing for interative walkthroughs. Computer Graphics (SIGGRAPH 91 Proceedings), 25(4):61 69, July Hansong Zhang. Effective occlusion culling for the interactive display of arbitrary models. PhD thesis, University of North Carolina at Chapel Hill, Hansong Zhang, Dinesh Manocha, Tom Hudson, and Kenneth E. Hoff III. Visibility culling using hierarchical occlusion maps. Computer Graphics (SIGGRAPH 97 Proceedings), 31:77 88, August 1997.

13 Figure 11: The original Cathedral model with five hoops computed for a specific viewcell. On the left, the image viewed from a point close to the viewcell. On the right, the view from an arbitrary viewpoint. In this last case the hoops are not convex.

Inner-cover of Non-convex Shapes

Inner-cover of Non-convex Shapes Submitted to the The 4th Israel-Korea Bi-National Conference on Geometric Modeling and Computer Graphics Inner-cover of Non-convex Shapes Daniel Cohen-Or Tel Aviv University dcor@post.tau.ac.il Shuly Lev-Yehudi

More information

Frédo Durand, George Drettakis, Joëlle Thollot and Claude Puech

Frédo Durand, George Drettakis, Joëlle Thollot and Claude Puech Frédo Durand, George Drettakis, Joëlle Thollot and Claude Puech imagis-gravir/imag-inria (Grenoble, France) Laboratory for Computer Science MIT (USA) Special thanks Leo Guibas Mark de Berg Introduction

More information

Real-Time Rendering (Echtzeitgraphik) Dr. Michael Wimmer

Real-Time Rendering (Echtzeitgraphik) Dr. Michael Wimmer Real-Time Rendering (Echtzeitgraphik) Dr. Michael Wimmer wimmer@cg.tuwien.ac.at Visibility Overview Basics about visibility Basics about occlusion culling View-frustum culling / backface culling Occlusion

More information

Hardware-accelerated from-region visibility using a dual ray space

Hardware-accelerated from-region visibility using a dual ray space Hardware-accelerated from-region visibility using a dual ray space Vladlen Koltun 1, Yiorgos Chrysanthou 2, and Daniel Cohen-Or 1 1 School of Computer Science, Tel Aviv University, Tel Aviv, Israel fvladlen,dcorg@tau.ac.il

More information

Fast Line-of-Sight Computations in Complex Environments

Fast Line-of-Sight Computations in Complex Environments Fast Line-of-Sight Computations in Complex Environments David Tuft Brian Salomon Sean Hanlon Dinesh Manocha Dept. of Computer Science Univ. of North Carolina at Chapel Hill Chapel Hill, NC 27599-3175 USA

More information

Visibility Preprocessing with Occluder Fusion for Urban Walkthroughs

Visibility Preprocessing with Occluder Fusion for Urban Walkthroughs . Visibility Preprocessing with Occluder Fusion for Urban Walkthroughs Peter Wonka, Michael Wimmer, Dieter Schmalstieg Vienna University of Technology Figure 1. Views from the 8 million polygon model of

More information

Parameter Space Footprints for Online Visibility

Parameter Space Footprints for Online Visibility Parameter Space Footprints for Online Visibility Daniel Cohen-Or Tel Aviv University dcor@tau.ac.il Tommer Leyvand Tel Aviv University tommer@tau.ac.il Olga Sorkine Tel Aviv University sorkine@tau.ac.il

More information

Visibility and Occlusion Culling

Visibility and Occlusion Culling Visibility and Occlusion Culling CS535 Fall 2014 Daniel G. Aliaga Department of Computer Science Purdue University [some slides based on those of Benjamin Mora] Why? To avoid processing geometry that does

More information

Pebble Sets in Convex Polygons

Pebble Sets in Convex Polygons 2 1 Pebble Sets in Convex Polygons Kevin Iga, Randall Maddox June 15, 2005 Abstract Lukács and András posed the problem of showing the existence of a set of n 2 points in the interior of a convex n-gon

More information

Occlusion Horizons for Driving through Urban Scenery

Occlusion Horizons for Driving through Urban Scenery Occlusion Horizons for Driving through Urban Scenery Laura Downs laura@cs.berkeley.edu Tomas Möller tompa@acm.org Computer Science Division University of California at Berkeley Carlo H. Séquin sequin@cs.berkeley.edu

More information

Restricted-Orientation Convexity in Higher-Dimensional Spaces

Restricted-Orientation Convexity in Higher-Dimensional Spaces Restricted-Orientation Convexity in Higher-Dimensional Spaces ABSTRACT Eugene Fink Derick Wood University of Waterloo, Waterloo, Ont, Canada N2L3G1 {efink, dwood}@violetwaterlooedu A restricted-oriented

More information

Occluder Simplification using Planar Sections

Occluder Simplification using Planar Sections Occluder Simplification using Planar Sections Ari Silvennoinen Hannu Saransaari Samuli Laine Jaakko Lehtinen Remedy Entertainment Aalto University Umbra Software NVIDIA NVIDIA Aalto University Coping with

More information

Goal. Interactive Walkthroughs using Multiple GPUs. Boeing 777. DoubleEagle Tanker Model

Goal. Interactive Walkthroughs using Multiple GPUs. Boeing 777. DoubleEagle Tanker Model Goal Interactive Walkthroughs using Multiple GPUs Dinesh Manocha University of North Carolina- Chapel Hill http://www.cs.unc.edu/~walk SIGGRAPH COURSE #11, 2003 Interactive Walkthrough of complex 3D environments

More information

Ray Space Factorization for From-Region Visibility

Ray Space Factorization for From-Region Visibility Ray Space Factorization for From-Region Visibility Tommer Leyvand Olga Sorkine Daniel Cohen-Or School of Computer Science, Tel Aviv University Figure 1: A view of a large urban model consisting of 26.8M

More information

Computing Visibility. Backface Culling for General Visibility. One More Trick with Planes. BSP Trees Ray Casting Depth Buffering Quiz

Computing Visibility. Backface Culling for General Visibility. One More Trick with Planes. BSP Trees Ray Casting Depth Buffering Quiz Computing Visibility BSP Trees Ray Casting Depth Buffering Quiz Power of Plane Equations We ve gotten a lot of mileage out of one simple equation. Basis for D outcode-clipping Basis for plane-at-a-time

More information

Planar Graphs. 1 Graphs and maps. 1.1 Planarity and duality

Planar Graphs. 1 Graphs and maps. 1.1 Planarity and duality Planar Graphs In the first half of this book, we consider mostly planar graphs and their geometric representations, mostly in the plane. We start with a survey of basic results on planar graphs. This chapter

More information

CS 563 Advanced Topics in Computer Graphics Culling and Acceleration Techniques Part 1 by Mark Vessella

CS 563 Advanced Topics in Computer Graphics Culling and Acceleration Techniques Part 1 by Mark Vessella CS 563 Advanced Topics in Computer Graphics Culling and Acceleration Techniques Part 1 by Mark Vessella Introduction Acceleration Techniques Spatial Data Structures Culling Outline for the Night Bounding

More information

Some Thoughts on Visibility

Some Thoughts on Visibility Some Thoughts on Visibility Frédo Durand MIT Lab for Computer Science Visibility is hot! 4 papers at Siggraph 4 papers at the EG rendering workshop A wonderful dedicated workshop in Corsica! A big industrial

More information

Interactive View-Dependent Rendering with Conservative Occlusion Culling in Complex Environments

Interactive View-Dependent Rendering with Conservative Occlusion Culling in Complex Environments Interactive View-Dependent Rendering with Conservative Occlusion Culling in Complex Environments Sung-Eui Yoon Brian Salomon Dinesh Manocha University of North Carolina at Chapel Hill http://gamma.cs.unc.edu/vdr

More information

Computational Geometry

Computational Geometry Lecture 1: Introduction and convex hulls Geometry: points, lines,... Geometric objects Geometric relations Combinatorial complexity Computational geometry Plane (two-dimensional), R 2 Space (three-dimensional),

More information

Hidden Surface Removal

Hidden Surface Removal Outline Introduction Hidden Surface Removal Hidden Surface Removal Simone Gasparini gasparini@elet.polimi.it Back face culling Depth sort Z-buffer Introduction Graphics pipeline Introduction Modeling Geom

More information

Accelerated Ambient Occlusion Using Spatial Subdivision Structures

Accelerated Ambient Occlusion Using Spatial Subdivision Structures Abstract Ambient Occlusion is a relatively new method that gives global illumination like results. This paper presents a method to accelerate ambient occlusion using the form factor method in Bunnel [2005]

More information

Universiteit Leiden Computer Science

Universiteit Leiden Computer Science Universiteit Leiden Computer Science Optimizing octree updates for visibility determination on dynamic scenes Name: Hans Wortel Student-no: 0607940 Date: 28/07/2011 1st supervisor: Dr. Michael Lew 2nd

More information

Visibility Streaming for Network-based Walkthroughs

Visibility Streaming for Network-based Walkthroughs Visibility Streaming for Network-based Walkthroughs Daniel Cohen-Or and Eyal Zadicario Computer Science Department Tel-Aviv University, Ramat-Aviv 69978, Israel Abstract In network-based walkthroughs the

More information

Occluder Shadows for Fast Walkthroughs of Urban Environments

Occluder Shadows for Fast Walkthroughs of Urban Environments EUROGRAPHICS 99 / P. Brunet and R. Scopigno (Guest Editors) Volume 18 (1999), number 3 Occluder Shadows for Fast Walkthroughs of Urban Environments Peter Wonka* and Dieter Schmalstieg+ * IRISA Rennes,

More information

Integrating Occlusion Culling with View-Dependent Rendering

Integrating Occlusion Culling with View-Dependent Rendering Integrating Occlusion Culling with View-Dependent Rendering Jihad El-Sana Neta Sokolovsky Cláudio T. Silva Ben-Gurion University Ben-Gurion University AT&T Abstract We present a novel approach that integrates

More information

6.854J / J Advanced Algorithms Fall 2008

6.854J / J Advanced Algorithms Fall 2008 MIT OpenCourseWare http://ocw.mit.edu 6.854J / 18.415J Advanced Algorithms Fall 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 18.415/6.854 Advanced

More information

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T

S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T Copyright 2018 Sung-eui Yoon, KAIST freely available on the internet http://sglab.kaist.ac.kr/~sungeui/render

More information

Mesh Repairing and Simplification. Gianpaolo Palma

Mesh Repairing and Simplification. Gianpaolo Palma Mesh Repairing and Simplification Gianpaolo Palma Mesh Repairing Removal of artifacts from geometric model such that it becomes suitable for further processing Input: a generic 3D model Output: (hopefully)a

More information

Fast and Simple Occlusion Culling using Hardware-Based Depth Queries

Fast and Simple Occlusion Culling using Hardware-Based Depth Queries Fast and Simple Occlusion Culling using Hardware-Based Depth Queries K. Hillesland B. Salomon A. Lastra D. Manocha University of North Carolina at Chapel Hill {khillesl,salomon,lastra,dm}@cs.unc.edu http://www.cs.unc.edu/

More information

Simple Silhouettes for Complex Surfaces

Simple Silhouettes for Complex Surfaces Eurographics Symposium on Geometry Processing(2003) L. Kobbelt, P. Schröder, H. Hoppe (Editors) Simple Silhouettes for Complex Surfaces D. Kirsanov, P. V. Sander, and S. J. Gortler Harvard University Abstract

More information

EULER S FORMULA AND THE FIVE COLOR THEOREM

EULER S FORMULA AND THE FIVE COLOR THEOREM EULER S FORMULA AND THE FIVE COLOR THEOREM MIN JAE SONG Abstract. In this paper, we will define the necessary concepts to formulate map coloring problems. Then, we will prove Euler s formula and apply

More information

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem Chapter 8 Voronoi Diagrams 8.1 Post Oce Problem Suppose there are n post oces p 1,... p n in a city. Someone who is located at a position q within the city would like to know which post oce is closest

More information

In what follows, we will focus on Voronoi diagrams in Euclidean space. Later, we will generalize to other distance spaces.

In what follows, we will focus on Voronoi diagrams in Euclidean space. Later, we will generalize to other distance spaces. Voronoi Diagrams 4 A city builds a set of post offices, and now needs to determine which houses will be served by which office. It would be wasteful for a postman to go out of their way to make a delivery

More information

Week 7 Convex Hulls in 3D

Week 7 Convex Hulls in 3D 1 Week 7 Convex Hulls in 3D 2 Polyhedra A polyhedron is the natural generalization of a 2D polygon to 3D 3 Closed Polyhedral Surface A closed polyhedral surface is a finite set of interior disjoint polygons

More information

Crossing Families. Abstract

Crossing Families. Abstract Crossing Families Boris Aronov 1, Paul Erdős 2, Wayne Goddard 3, Daniel J. Kleitman 3, Michael Klugerman 3, János Pach 2,4, Leonard J. Schulman 3 Abstract Given a set of points in the plane, a crossing

More information

Connected Components of Underlying Graphs of Halving Lines

Connected Components of Underlying Graphs of Halving Lines arxiv:1304.5658v1 [math.co] 20 Apr 2013 Connected Components of Underlying Graphs of Halving Lines Tanya Khovanova MIT November 5, 2018 Abstract Dai Yang MIT In this paper we discuss the connected components

More information

A Survey of Visibility for Walkthrough Applications

A Survey of Visibility for Walkthrough Applications A Survey of Visibility for Walkthrough Applications Daniel Cohen-Or Tel Aviv University Yiorgos Chrysanthou UCL Cláudio T. Silva AT&T Frédo Durand MIT - LCS Abstract Visibility algorithms for walkthrough

More information

A Survey of Visibility for Walkthrough Applications

A Survey of Visibility for Walkthrough Applications A Survey of Visibility for Walkthrough Applications Daniel Cohen-Or Tel Aviv University Yiorgos Chrysanthou UCL Cláudio T. Silva AT&T Frédo Durand MIT - LCS Abstract Visibility algorithms for walkthrough

More information

Technical Section. Tribox bounds for three-dimensional objects

Technical Section. Tribox bounds for three-dimensional objects PERGAMON Computers & Graphics 23 (1999) 429-437 Technical Section Tribox bounds for three-dimensional objects A. Crosnier a, *, J.R. Rossignac b a LIMM, 161 rue Ada, 34392 Montpellier Cedex 5, France b

More information

Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms

Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms Visible Surface Determination Visibility Culling Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms Divide-and-conquer strategy:

More information

However, this is not always true! For example, this fails if both A and B are closed and unbounded (find an example).

However, this is not always true! For example, this fails if both A and B are closed and unbounded (find an example). 98 CHAPTER 3. PROPERTIES OF CONVEX SETS: A GLIMPSE 3.2 Separation Theorems It seems intuitively rather obvious that if A and B are two nonempty disjoint convex sets in A 2, then there is a line, H, separating

More information

Visibility Preprocessing for Urban Scenes using Line Space Subdivision

Visibility Preprocessing for Urban Scenes using Line Space Subdivision Visibility Preprocessing for Urban cenes using Line pace ubdivision Jiří Bittner Center for Applied Cybernetics Czech Technical University in Prague bittner@fel.cvut.cz Michael Wimmer Institute of Computer

More information

Comparison of hierarchies for occlusion culling based on occlusion queries

Comparison of hierarchies for occlusion culling based on occlusion queries Comparison of hierarchies for occlusion culling based on occlusion queries V.I. Gonakhchyan pusheax@ispras.ru Ivannikov Institute for System Programming of the RAS, Moscow, Russia Efficient interactive

More information

Collision Detection. Motivation - Dynamic Simulation ETH Zurich. Motivation - Path Planning ETH Zurich. Motivation - Biomedical Simulation ETH Zurich

Collision Detection. Motivation - Dynamic Simulation ETH Zurich. Motivation - Path Planning ETH Zurich. Motivation - Biomedical Simulation ETH Zurich Collision Detection Motivation - Dynamic Simulation Collision detection is an essential part of physically realistic dynamic simulations. For each time step: compute dynamics detect collisions resolve

More information

Aspect-Ratio Voronoi Diagram with Applications

Aspect-Ratio Voronoi Diagram with Applications Aspect-Ratio Voronoi Diagram with Applications Tetsuo Asano School of Information Science, JAIST (Japan Advanced Institute of Science and Technology), Japan 1-1 Asahidai, Nomi, Ishikawa, 923-1292, Japan

More information

Improved Bounds for Intersecting Triangles and Halving Planes

Improved Bounds for Intersecting Triangles and Halving Planes Improved Bounds for Intersecting Triangles and Halving Planes David Eppstein Department of Information and Computer Science University of California, Irvine, CA 92717 Tech. Report 91-60 July 15, 1991 Abstract

More information

Interactive View-Dependent Rendering with Conservative Occlusion Culling in Complex Environments

Interactive View-Dependent Rendering with Conservative Occlusion Culling in Complex Environments Interactive View-Dependent Rendering with Conservative Occlusion Culling in Complex Environments Sung-Eui Yoon Brian Salomon Dinesh Manocha University of North Carolina at Chapel Hill {sungeui,salomon,dm}@cs.unc.edu

More information

CS 532: 3D Computer Vision 14 th Set of Notes

CS 532: 3D Computer Vision 14 th Set of Notes 1 CS 532: 3D Computer Vision 14 th Set of Notes Instructor: Philippos Mordohai Webpage: www.cs.stevens.edu/~mordohai E-mail: Philippos.Mordohai@stevens.edu Office: Lieb 215 Lecture Outline Triangulating

More information

Acquisition and Visualization of Colored 3D Objects

Acquisition and Visualization of Colored 3D Objects Acquisition and Visualization of Colored 3D Objects Kari Pulli Stanford University Stanford, CA, U.S.A kapu@cs.stanford.edu Habib Abi-Rached, Tom Duchamp, Linda G. Shapiro and Werner Stuetzle University

More information

Polygon decomposition. Motivation: Art gallery problem

Polygon decomposition. Motivation: Art gallery problem CG Lecture 3 Polygon decomposition 1. Polygon triangulation Triangulation theory Monotone polygon triangulation 2. Polygon decomposition into monotone pieces 3. Trapezoidal decomposition 4. Convex decomposition

More information

Tutte s Theorem: How to draw a graph

Tutte s Theorem: How to draw a graph Spectral Graph Theory Lecture 15 Tutte s Theorem: How to draw a graph Daniel A. Spielman October 22, 2018 15.1 Overview We prove Tutte s theorem [Tut63], which shows how to use spring embeddings to obtain

More information

Visible Surface Detection. (Chapt. 15 in FVD, Chapt. 13 in Hearn & Baker)

Visible Surface Detection. (Chapt. 15 in FVD, Chapt. 13 in Hearn & Baker) Visible Surface Detection (Chapt. 15 in FVD, Chapt. 13 in Hearn & Baker) 1 Given a set of 3D objects and a viewing specifications, determine which lines or surfaces of the objects should be visible. A

More information

EXTREME POINTS AND AFFINE EQUIVALENCE

EXTREME POINTS AND AFFINE EQUIVALENCE EXTREME POINTS AND AFFINE EQUIVALENCE The purpose of this note is to use the notions of extreme points and affine transformations which are studied in the file affine-convex.pdf to prove that certain standard

More information

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 Lecture 25: Bezier Subdivision And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10 1. Divide and Conquer If we are going to build useful

More information

Line Arrangement. Chapter 6

Line Arrangement. Chapter 6 Line Arrangement Chapter 6 Line Arrangement Problem: Given a set L of n lines in the plane, compute their arrangement which is a planar subdivision. Line Arrangements Problem: Given a set L of n lines

More information

Voronoi diagram and Delaunay triangulation

Voronoi diagram and Delaunay triangulation Voronoi diagram and Delaunay triangulation Ioannis Emiris & Vissarion Fisikopoulos Dept. of Informatics & Telecommunications, University of Athens Computational Geometry, spring 2015 Outline 1 Voronoi

More information

Physically-Based Laser Simulation

Physically-Based Laser Simulation Physically-Based Laser Simulation Greg Reshko Carnegie Mellon University reshko@cs.cmu.edu Dave Mowatt Carnegie Mellon University dmowatt@andrew.cmu.edu Abstract In this paper, we describe our work on

More information

Computing Conservative Multi-Focal Visibility using the z-buffer

Computing Conservative Multi-Focal Visibility using the z-buffer Computing Conservative Multi-Focal Visibility using the z-buffer James Gregory Marsden Leonidas J. Guibas Stanford University Abstract Despite advancements in computer graphics technology, algorithmic

More information

Planarity. 1 Introduction. 2 Topological Results

Planarity. 1 Introduction. 2 Topological Results Planarity 1 Introduction A notion of drawing a graph in the plane has led to some of the most deep results in graph theory. Vaguely speaking by a drawing or embedding of a graph G in the plane we mean

More information

Construction of planar triangulations with minimum degree 5

Construction of planar triangulations with minimum degree 5 Construction of planar triangulations with minimum degree 5 G. Brinkmann Fakultät für Mathematik Universität Bielefeld D 33501 Bielefeld, Germany gunnar@mathematik.uni-bielefeld.de Brendan D. McKay Department

More information

Clipping & Culling. Lecture 11 Spring Trivial Rejection Outcode Clipping Plane-at-a-time Clipping Backface Culling

Clipping & Culling. Lecture 11 Spring Trivial Rejection Outcode Clipping Plane-at-a-time Clipping Backface Culling Clipping & Culling Trivial Rejection Outcode Clipping Plane-at-a-time Clipping Backface Culling Lecture 11 Spring 2015 What is Clipping? Clipping is a procedure for spatially partitioning geometric primitives,

More information

Computer Graphics. Bing-Yu Chen National Taiwan University

Computer Graphics. Bing-Yu Chen National Taiwan University Computer Graphics Bing-Yu Chen National Taiwan University Visible-Surface Determination Back-Face Culling The Depth-Sort Algorithm Binary Space-Partitioning Trees The z-buffer Algorithm Scan-Line Algorithm

More information

Partitioning Orthogonal Polygons by Extension of All Edges Incident to Reflex Vertices: lower and upper bounds on the number of pieces

Partitioning Orthogonal Polygons by Extension of All Edges Incident to Reflex Vertices: lower and upper bounds on the number of pieces Partitioning Orthogonal Polygons by Extension of All Edges Incident to Reflex Vertices: lower and upper bounds on the number of pieces António Leslie Bajuelos 1, Ana Paula Tomás and Fábio Marques 3 1 Dept.

More information

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments?

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments? Homework 1: Questions/Comments? Implicit Surfaces,, & Volumetric Data Structures Loop Subdivision Shirley, Fundamentals of Computer Graphics Loop Subdivision SIGGRAPH 2000 course notes Subdivision for

More information

Efficient Visibility Processing for Projective Texture-mapping

Efficient Visibility Processing for Projective Texture-mapping To appear in Journal of Computers and Graphics Efficient Visibility Processing for Projective Texture-mapping Yizhou Yu Computer Science Division, University of California at Berkeley, USA Abstract Projective

More information

The Geometry of Carpentry and Joinery

The Geometry of Carpentry and Joinery The Geometry of Carpentry and Joinery Pat Morin and Jason Morrison School of Computer Science, Carleton University, 115 Colonel By Drive Ottawa, Ontario, CANADA K1S 5B6 Abstract In this paper we propose

More information

Preferred directions for resolving the non-uniqueness of Delaunay triangulations

Preferred directions for resolving the non-uniqueness of Delaunay triangulations Preferred directions for resolving the non-uniqueness of Delaunay triangulations Christopher Dyken and Michael S. Floater Abstract: This note proposes a simple rule to determine a unique triangulation

More information

FACES OF CONVEX SETS

FACES OF CONVEX SETS FACES OF CONVEX SETS VERA ROSHCHINA Abstract. We remind the basic definitions of faces of convex sets and their basic properties. For more details see the classic references [1, 2] and [4] for polytopes.

More information

LINES AND FREE LINE SEGMENTS TANGENT TO ARBITRARY THREE-DIMENSIONAL CONVEX POLYHEDRA

LINES AND FREE LINE SEGMENTS TANGENT TO ARBITRARY THREE-DIMENSIONAL CONVEX POLYHEDRA LINES AND FREE LINE SEGMENTS TANGENT TO ARBITRARY THREE-DIMENSIONAL CONVEX POLYHEDRA HERVÉ BRÖNNIMANN, OLIVIER DEVILLERS, VIDA DUJMOVIĆ, HAZEL EVERETT, MARC GLISSE, XAVIER GOAOC, SYLVAIN LAZARD, HYEON-SUK

More information

Collision and Proximity Queries

Collision and Proximity Queries Collision and Proximity Queries Dinesh Manocha (based on slides from Ming Lin) COMP790-058 Fall 2013 Geometric Proximity Queries l Given two object, how would you check: If they intersect with each other

More information

Presented by Konstantinos Georgiadis

Presented by Konstantinos Georgiadis Presented by Konstantinos Georgiadis Abstract This method extends the Hierarchical Radiosity approach for environments whose geometry and surface attributes changes dynamically. Major contributions It

More information

An Efficient Visual Hull Computation Algorithm

An Efficient Visual Hull Computation Algorithm An Efficient Visual Hull Computation Algorithm Wojciech Matusik Chris Buehler Leonard McMillan Laboratory for Computer Science Massachusetts institute of Technology (wojciech, cbuehler, mcmillan)@graphics.lcs.mit.edu

More information

As a consequence of the operation, there are new incidences between edges and triangles that did not exist in K; see Figure II.9.

As a consequence of the operation, there are new incidences between edges and triangles that did not exist in K; see Figure II.9. II.4 Surface Simplification 37 II.4 Surface Simplification In applications it is often necessary to simplify the data or its representation. One reason is measurement noise, which we would like to eliminate,

More information

Basics of Combinatorial Topology

Basics of Combinatorial Topology Chapter 7 Basics of Combinatorial Topology 7.1 Simplicial and Polyhedral Complexes In order to study and manipulate complex shapes it is convenient to discretize these shapes and to view them as the union

More information

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into 2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel

More information

CLASSIFICATION OF SURFACES

CLASSIFICATION OF SURFACES CLASSIFICATION OF SURFACES JUSTIN HUANG Abstract. We will classify compact, connected surfaces into three classes: the sphere, the connected sum of tori, and the connected sum of projective planes. Contents

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) April 1, 2003 [Angel 9.10] Frank Pfenning Carnegie

More information

Critique for CS 448B: Topics in Modeling The Voronoi-clip Collision Detection Algorithm

Critique for CS 448B: Topics in Modeling The Voronoi-clip Collision Detection Algorithm Critique for CS 448B: Topics in Modeling The Voronoi-clip Collision Detection Algorithm 1. Citation Richard Bragg March 3, 2000 Mirtich B. (1997) V-Clip: Fast and Robust Polyhedral Collision Detection.

More information

Lecture 3: Art Gallery Problems and Polygon Triangulation

Lecture 3: Art Gallery Problems and Polygon Triangulation EECS 396/496: Computational Geometry Fall 2017 Lecture 3: Art Gallery Problems and Polygon Triangulation Lecturer: Huck Bennett In this lecture, we study the problem of guarding an art gallery (specified

More information

Monotone Paths in Geometric Triangulations

Monotone Paths in Geometric Triangulations Monotone Paths in Geometric Triangulations Adrian Dumitrescu Ritankar Mandal Csaba D. Tóth November 19, 2017 Abstract (I) We prove that the (maximum) number of monotone paths in a geometric triangulation

More information

Conservative Visibility Preprocessing using Extended Projections

Conservative Visibility Preprocessing using Extended Projections To appear in the SIGGRH 2 conference proceedings UDTED EXTENDED VERSION Conservative Visibility reprocessing using Extended rojections Frédo Durand, George Drettakis, Joëlle Thollot and Claude uech imgis

More information

Answer Key: Three-Dimensional Cross Sections

Answer Key: Three-Dimensional Cross Sections Geometry A Unit Answer Key: Three-Dimensional Cross Sections Name Date Objectives In this lesson, you will: visualize three-dimensional objects from different perspectives be able to create a projection

More information

Spatial Data Structures

Spatial Data Structures 15-462 Computer Graphics I Lecture 17 Spatial Data Structures Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees Constructive Solid Geometry (CSG) March 28, 2002 [Angel 8.9] Frank Pfenning Carnegie

More information

COMPUTATIONAL GEOMETRY

COMPUTATIONAL GEOMETRY Thursday, September 20, 2007 (Ming C. Lin) Review on Computational Geometry & Collision Detection for Convex Polytopes COMPUTATIONAL GEOMETRY (Refer to O'Rourke's and Dutch textbook ) 1. Extreme Points

More information

Collision Detection with Bounding Volume Hierarchies

Collision Detection with Bounding Volume Hierarchies Simulation in Computer Graphics Collision Detection with Bounding Volume Hierarchies Matthias Teschner Computer Science Department University of Freiburg Outline introduction bounding volumes BV hierarchies

More information

Inner Approximation of Polygons and Polyhedra by Unions of Boxes

Inner Approximation of Polygons and Polyhedra by Unions of Boxes Inner Approximation of Polygons and Polyhedra by Unions of Boxes Christian Spielberger Martin Held Technical Report 2006-02 April 2006 Department of Computer Sciences Jakob-Haringer-Straße 2 5020 Salzburg

More information

Lofting 3D Shapes. Abstract

Lofting 3D Shapes. Abstract Lofting 3D Shapes Robby Prescott Department of Computer Science University of Wisconsin Eau Claire Eau Claire, Wisconsin 54701 robprescott715@gmail.com Chris Johnson Department of Computer Science University

More information

Spatial Data Structures

Spatial Data Structures CSCI 420 Computer Graphics Lecture 17 Spatial Data Structures Jernej Barbic University of Southern California Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees [Angel Ch. 8] 1 Ray Tracing Acceleration

More information

Convex Hulls in Three Dimensions. Polyhedra

Convex Hulls in Three Dimensions. Polyhedra Convex Hulls in Three Dimensions Polyhedra Polyhedron 1.A polyhedron is the generalization of a 2- D polygon to 3-D A finite number of flat polygonal faces The boundary or surface of a polyhedron - Zero-dimensional

More information

INTRODUCTION TO THE HOMOLOGY GROUPS OF COMPLEXES

INTRODUCTION TO THE HOMOLOGY GROUPS OF COMPLEXES INTRODUCTION TO THE HOMOLOGY GROUPS OF COMPLEXES RACHEL CARANDANG Abstract. This paper provides an overview of the homology groups of a 2- dimensional complex. It then demonstrates a proof of the Invariance

More information

5 Graphs

5 Graphs 5 Graphs jacques@ucsd.edu Some of the putnam problems are to do with graphs. They do not assume more than a basic familiarity with the definitions and terminology of graph theory. 5.1 Basic definitions

More information

Convex hulls of spheres and convex hulls of convex polytopes lying on parallel hyperplanes

Convex hulls of spheres and convex hulls of convex polytopes lying on parallel hyperplanes Convex hulls of spheres and convex hulls of convex polytopes lying on parallel hyperplanes Menelaos I. Karavelas joint work with Eleni Tzanaki University of Crete & FO.R.T.H. OrbiCG/ Workshop on Computational

More information

G 6i try. On the Number of Minimal 1-Steiner Trees* Discrete Comput Geom 12:29-34 (1994)

G 6i try. On the Number of Minimal 1-Steiner Trees* Discrete Comput Geom 12:29-34 (1994) Discrete Comput Geom 12:29-34 (1994) G 6i try 9 1994 Springer-Verlag New York Inc. On the Number of Minimal 1-Steiner Trees* B. Aronov, 1 M. Bern, 2 and D. Eppstein 3 Computer Science Department, Polytechnic

More information

Collision Detection. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill

Collision Detection. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill Collision Detection These slides are mainly from Ming Lin s course notes at UNC Chapel Hill http://www.cs.unc.edu/~lin/comp259-s06/ Computer Animation ILE5030 Computer Animation and Special Effects 2 Haptic

More information

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees

Lecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public

More information

Pacific Journal of Mathematics

Pacific Journal of Mathematics Pacific Journal of Mathematics SIMPLIFYING TRIANGULATIONS OF S 3 Aleksandar Mijatović Volume 208 No. 2 February 2003 PACIFIC JOURNAL OF MATHEMATICS Vol. 208, No. 2, 2003 SIMPLIFYING TRIANGULATIONS OF S

More information

An On-line Occlusio-CuUing Algorithm for Fast Walkthrough

An On-line Occlusio-CuUing Algorithm for Fast Walkthrough EUROGRAPHICS 2001 / Jonathan C. Roberts Short Presentations An On-line Occlusio-CuUing Algorithm for Fast Walkthrough in Urban Areas^ Yusu Wang* Pankaj K. Agarwal* and Sariel Har-Peled^ Abstract We describe

More information

Flavor of Computational Geometry. Convex Hull in 2D. Shireen Y. Elhabian Aly A. Farag University of Louisville

Flavor of Computational Geometry. Convex Hull in 2D. Shireen Y. Elhabian Aly A. Farag University of Louisville Flavor of Computational Geometry Convex Hull in 2D Shireen Y. Elhabian Aly A. Farag University of Louisville February 2010 Agenda Introduction Definitions of Convexity and Convex Hulls Naïve Algorithms

More information

Construction Of The Constrained Delaunay Triangulation Of A Polygonal Domain

Construction Of The Constrained Delaunay Triangulation Of A Polygonal Domain Construction Of The Constrained Delaunay Triangulation Of A Polygonal Domain Reinhard Klein 1 A fast and easy to implement divide-and-conquer algorithm is presented for the construction of the Constrained

More information