Quad Trees - Carnegie Mellon School of Computer Science
Quad Trees
CMSC 420
Applications of Geometric / Spatial Data Structs.
? Computer graphics, games, movies
? computer vision, CAD, street maps (google maps /
google Earth)
? Human-computer interface design (windowing
systems)
? Virtual reality
? Visualization (graphing complex functions)
Geometric Objects
? Scalars: 1-d poin ? Point: location in d-dimensional space. d-tuple of
scalars. P=(x1,x2,x3...,xd)
- arrays: double p[d]; - structures: struct { double x, y, z; } - good compromise:
struct Point { const int DIM = 3; double coord[DIM];
};
? Vectors: direction and magnitude (length) in that
direction.
Lines, Segments, Rays
? Line: infinite in both directions
- y = mx + b [slope m, intercept b] - ax + by = c - In higher dimensions, any two points define a line.
? Ray: infinite in one direction
? Segment: finite in both directions
? Polygons: cycle of joined line segments
What's a good
- simple if they don't corss
representation for a polygon?
- convex if any line segment connecting two points on its circularly
surface lies entirely within the shape.
linked list
- convex hull of a set of points P: smallest convex set that of points
contains P
Geometric Operations
? P - Q is a vector going from point Q to P
P Q
? Q + v is a point at the head of vector v, if v were
anchored at Q x
Q
? v + u: serially walk along v and then u. v+u is the
direct shortcut.
v
u
v+u
? Great use for C++ operator overloading.
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
- tcp ip sockets in c practical guide for programmers
- serialization and sockets
- using the json c api real time logic
- compile time type introspection using sfinae
- qidl an embedded language to serialize guest data
- serialization and bit operations
- a c template library for data centric type modeling for dds
- 1ewxivmrk
- c data marshalling best practices gtc 2012
- the gsoap stub and skeleton compiler for c and c 1 3