Graphs Rosen 8.1, 8.2. There Are Many Uses for Graphs! Networks Data organizations Scene graphs...

Post on 23-Dec-2015

220 views 1 download

Tags:

transcript

Graphs

Rosen 8.1, 8.2

There Are Many Uses for Graphs!

• Networks• Data organizations• Scene graphs• Geometric simplification• Program structure and processes• Lots of others….• Also applications (e.g., species structure—

phylogeny tree)

Definitions• A simple graph G = (V,E) consists of V, a

nonempty set of vertices, and E, a set of unordered pairs of distinct elements of V called edges.

• A multigraph G = (V,E) consists of a set V of vertices, a set E of edges, and a function f from E to {{u,v} | u,v V, u ≠ v}. The edges e1 and e2 are called multiple or parallel edges if f(e1) = f(e2).

Properties

Simple graph– Undirected– Single edges– No loops

Multigraph– Undirected– Multiple edges– No loops

Examples

San Francisco

Los Angeles

Denver

Chicago

Detroit

Atlanta

New York

Simple Graph(computer backbone)

San Francisco

Los Angeles

Denver

Chicago

Detroit

Atlanta

New York

MultiGraph(computer backbonewith redundant connections)

Directed Graph• A directed graph consists of a set of

vertices V and a set of edges E that are ordered pairs of V– Loops are allowed– Multiple edges are allowed

14

7

Digraph for equivalence relation on {1,4,7}

Adjacency and Degree

• Two vertices u and v in an undirected graph are called adjacent (or neighbors) in G if e = {u,v} is an edge of G. The edge e is said to connect u and v. The vertices u and v are called the endpoints of e.

• The degree of a vertex in an undirected graph is the number of edges that are incident with (or connect) it, except that a loop at a vertex contributes twice to the degree. The degree of the vertex v is denoted by deg(v).

Handshaking Theorem

Let G = (V,E) be an undirected graph with e edges. Then

(Note that this applies even if multiple edges and loops are present.)

∑∈

=Vv

).vdeg(e2

How many edges are there in a graph with ten vertices each of degree 6?

Since the sum of the degrees of the vertices is 6·10 = 60, it follows that 2e =60.

Therefore, e = 30.

Prove that an undirected graph has an even number of vertices of odd degree.

Let V1 and V2 be the set of vertices of even degree and the set of vertices of odd degree, respectively, in an undirected graph G = (V,E).

Then∑ ∑ ∑∈ ∈ ∈

+==Vv Vv Vv1 2

).vdeg()vdeg()vdeg(e2

Since deg(v) is even for v V1, this term is even.

Prove that an undirected graph has an even number of vertices of odd degree.

Furthermore, the sum of these two terms is even, since the sum is 2e. Hence, the second term in the sum is also even. (Why?) Since all the terms in the sum are odd, there must be an even number of such terms. (Why?) Thus there are an even number of vertices of odd degree.

What can we say about the vertices of even degree?

∑ ∑ ∑∈ ∈ ∈

+==Vv Vv Vv1 2

).vdeg()vdeg()vdeg(e2

Cycles

The cycle Cn, n≥3, consists of n vertices

v1, v2,…, vn, and edges {v1, v2}, {v2, v3},…,

{vn-1, vn}, {vn, v1}.

C3 C4 C5

TreeA circuit is a path of edges that begins and ends

at the same vertex.

A path or circuit is simple if it does not contain the same edge more than once.

• A tree is a connected undirected graph with no simple circuits.

• A forest is a set of trees that are not

connected.

Q

Q QQ Q

Q

Q QQ Q

Q

Q QQ Q

Q QQ Q

Linked Global Quadtrees

Example: Quadtree

Example: Quadtree

}22 levels

Regular Triangularization (128 x 128 grid points)

Q

Q QQ Q

Q

Q QQ Q

Q

Q QQ Q

Q QQ Q

Linked Global Quadtrees

Quadtree: Terrain

Global Terrain (elevation & imagery)

•Multiresolution•Scalable (multiple terabyte databases)

•Efficient (100 to1or more reduction)

View-Dependent Simplification

Building a Vertex Hierarchy

QuadricSimplification

OriginalMesh

BaseMesh

Vertex Tree

Meshing From a Vertex Hierarchy

OriginalMesh

BaseMesh

Geometry & Appearance Metric