lec06 - 6.851: Advanced Data Structures Spring 2010 Lecture...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 6.851: Advanced Data Structures Spring 2010 Lecture 6 February 23, 2010 Dr. Andr e Schulz Scribe: Skye Wanderman-Milne 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 two-dimensional 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.

Page1 / 5

lec06 - 6.851: Advanced Data Structures Spring 2010 Lecture...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online