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
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
The
crossing number
of Ψ is the maximum number of triangles that can be intersected by some
line.
This is the end of the preview.
Sign up
to
access the rest of the document.
 Fall '10
 ErikDemaine
 Data Structures, Line segment, query time, Ray Shooting

Click to edit the document details