This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: 6.851: Advanced Data Structures Spring 2010 Lecture 6 February 23, 2010 Dr. Andr e Schulz Scribe: Skye WandermanMilne 1 Overview In the last lecture we introduced ray shooting, where we determine which is the first object in a set intersected by a given ray. We overviewed how to solve this problem if our objects are simple polygons. This lecture explores ray shooting more generally, beginning with data structures designed to perform halfspace and simplex range queries such as partition trees, and continuing with an explanation of how to use these data structures to perform ray shooting. 2 Partition Trees Problem. Given a pointset S = { p 1 , p 2 , . . . , p n } , we would like to perform two sorts of queries: 1. Halfspace Range Queries: find properties relating to the subset of S on one side of a line h q (e.g., how many points are above h q ?). 2. Simplex Range Queries: find properties relating to the subset of S inside a simplex t q (e.g., how many points lie inside t q ?). In two dimensions, a simplex is a triangle, and we will use twodimensional examples for the remainder of these notes. Idea. Partition S into r disjoint subsets S 1 , S 2 , . . . , S r . Each subset S i is associated with a triangle t i that contains the points in that subset (the triangles need not be disjoint). We call this partition = { ( S 1 , t 1 ) , ( S 2 , t 2 ) , . . . , ( S r , t r ) } . When finding the points in the halfplane defined by a query line h q , we can easily accept or discard as necessary the points lying in a triangle that do not intersect h q . We then recurse on the remaining subsets in triangles intersecting h q . h q discard accept recurse 1 The crossing number of is the maximum number of triangles that can be intersected by some line....
View
Full
Document
This note was uploaded on 01/20/2012 for the course CS 6.849 taught by Professor Erikdemaine during the Fall '10 term at MIT.
 Fall '10
 ErikDemaine
 Data Structures

Click to edit the document details