+ All Categories
Home > Documents > BCTCS 2006

BCTCS 2006

Date post: 03-Feb-2016
Category:
Upload: kapono
View: 22 times
Download: 0 times
Share this document with a friend
Description:
BCTCS 2006. The Theory of Spatial Data Types and Constructive Volume Geometry. Constructive Volume Geometry. Is an algebraic framework for the high-level Specification, Representation, Manipulation, and Rendering of spatial data types. We use CVG to build complex scenes using - PowerPoint PPT Presentation
Popular Tags:
23
BCTCS 2006 The Theory of Spatial Data Types and Constructive Volume Geometry
Transcript
Page 1: BCTCS 2006

BCTCS 2006

The Theory of Spatial Data Types and Constructive Volume

Geometry

Page 2: BCTCS 2006

Constructive Volume Geometry

Is an algebraic framework for the high-level Specification, Representation, Manipulation, and Renderingof spatial data types.

We use CVG to build complex scenes usingalgebraic operations on fully 3D spatial objects.

CT planet, Min Chen, 1999

M. Chen and J. V. Tucker, Constructive volume geometry, Computer Graphics Forum, Vol.19, No.4, 281-293, 2000.

Page 3: BCTCS 2006

CVG Spatial Objects

A spatial object is a tuple

o = (O, A1, A2, …, Ak)

of scalar fields defined in RR3, including an

opacity field O: RR3 [0,1]

and possibly other attributefields:

A1, A2, …, Ak: RR3 RR, k ≥ 0.O: sphereR: noiseG: constantB: constant

Visibility of every point in RR3 specified by opacity attribute where 0 is transparent and 1 is opaque.

Page 4: BCTCS 2006

CVG Scene with Several Objects

scene

object object object......

field O R G B Ge Ka Kd Ks N Dn Rfl Rfr

• Constant• Volume Dataset• Colour-separated image

• Built-in mathematical scalar field• Procedural scalar field• plus various mappings

Txt ...

Page 5: BCTCS 2006

CVG Operations: 4 Colour Channel Model (I)

o1=(O1, R1, G1, B1)

o2=(O2, R2, G2, B2)

(o1, o2)

Page 6: BCTCS 2006

CVG Operations: 4 Colour Channel Model (II)

(o1, o2)

(o1, o2)

(o1, o2)

(o2, o1)

Page 7: BCTCS 2006

CVG Operations: 4 Colour Channel Model (III)

operations on scalars

operations on scalar fields

operations on spatial objects

max(s1, s2) = s1 s1 s2

s2 s1 < s2{

select(s1, t1, s2, t2) = t1 s1 s2

t2 s1 < s2{

Max(O1,O2)(x) = max(o1(x),o2(x))Select(S1,T1,S2,T2)(x) = select(s1(x),t1(x),s2(x),t2(x))

Max(O1, O2),Select(O1, R1, O2, R2),Select(O1, G1, O2, G2),Select(O1, B1, O2, B2) )

(o1, o2) = (

Page 8: BCTCS 2006

Algebraic Specification and CVG

Equational axioms on scalars extend to axioms on spatial objects.

Example: Associativity law for the CVG operation:

Associativity of max, select on scalars

Associativity of Max, Select on scalar fields

(o1, (o2,o3)) = ( (o1,o2),o3)

pointwise-lifting of operations

defined using Max, Select

Page 9: BCTCS 2006

Hierarchical Data Representation

(o1, o2)

o1 o2

composite volume object

convex volume

object

convex volume object

1

Page 10: BCTCS 2006

CVG Tree (I)

– –– –

Page 11: BCTCS 2006

CVG Syntax and Semantics

Define algebraic terms and CVG term evaluation (= structural induction) in the usual way.

CVG Term:

Page 12: BCTCS 2006

Expressiveness of CVG

Question: Do the CVG terms define all the spatial objects one wants?

We can show the answer is: Yes

1. Any continuous spatial object can be approximatedby a CVG term to arbitrary accuracy.

2. Given any computable spatial object o and an ε > 0 onecan compute a CVG term toε which approximates o towithin the error margin ε.

CVG is an algebraic framework for volume graphics.

In fact we prove this by a general theory of spatial objects…

Page 13: BCTCS 2006

General Theory of Spatial Data Types: IAlgebra

Validity Theorem: For any Σ equation t = t’ the following are equivalent:1. t = t’ is valid in A, 2. t = t’ is valid in F(X,A),

Corollary: If A satisfies a set E of Σ equations then F(X,A) satisfies E.

Examples: Axioms for commutative rings, Axioms for CVG.

The Σ-operations on A are pointwise lifted to F(X,A):

FF(X,A)(φ1,…, φn)(x) = fA(φ1(x),…, φn(x))

which preserves the equivalence of term evaluation: [t]F = [t]A

Page 14: BCTCS 2006

General Theory of Spatial Data Types: IITopology

We use topology to define the notion of approximation.

C(X,A) = the set of all continuous total spatial data types from X to A

X is “any” topological space and A is a topological Σ-algebra.

C(X,A) has the compact-open topology: Basic open sets are

W(J,U) = {f | f[J] U}, J compact subset of X and U open in A.

For X compact and A = RR, the compact-open topology on C(X,RR) is equivalent to the topology defined by the sup norm:

|| f – g || = sup{z in X}|f(z) – g(z)|

with open sets: B(f, ε) = {g in C(X,RR) : || f – g || < ε }

U

Page 15: BCTCS 2006

K compact

RR

φ + ε

φ - ε

φ

g

We want a “nice” function g such that║ φ – g ║ < ε

Page 16: BCTCS 2006

Dense Subsets of C(X,RR)

We say that a set D is dense in C(X,RR) if for any W(J,U) we have

D W(J,U) ≠ 0.

For K compact, there is a spatial object g in D arbitrarily close to any given φ in C(K,RR):

|| φ – g || < ε.

If D is dense on C(X,RR) then spatial objects in D can approximate all continuous spatial objects.

We use the Stone-Weierstrass Theorem when we deal with approximation on a compact K, but what about non-compact X?

U

Page 17: BCTCS 2006

Completeness of Spatial Data Types

Is it possible to find a collection of spatial operators on C(X,RR)

Σ = {F1,…,Fk}

and a subset B of C(X,RR) consisting of continuous basic spatial objects

b1,… bn

such that every continuous spatial object in C(X,RR) can be approximated by anobject t(b1,… bn) from the subalgebra

<B>Σ

generated by the operations Σ on B?

Page 18: BCTCS 2006

Basic Spatial Objects and Primitive Operations

Basic spatial objects in B should have the properties:

1. separate the points of space X

2. contain a non-zero spatial object

Operations we need in Σsw

1. Addition

2. Multiplication

3. Scalar Multiplication

Page 19: BCTCS 2006

Approximation Theorem for Spatial Objects

Theorem: Let C(X,RR) be the set of all continuous total spatialobjects, and B is a subset with Properties 1 and 2.

Using only the operations in Σsw the subalgebra <B>Σsw generated by the repeated application of operations in Σsw on B can approximate all spatial objects in C(X,RR).

Proof Idea: Localize the problem to a compact space K, find an approximate, and then show it works on C(X,RR)

•Pick any W(K,U) in C(X,RR).

•We want a term t in <B>Σsw such that [t]C(X,R)(b1,…bn) is in W(K,U).

Page 20: BCTCS 2006

Inverse Limit Construction

Sequences of restrictions directed under set inclusion by the family Z of all compact sets of X.

Shows that the compact-open topology “behaves the same way”on both sets.

Each coordinate Φ(f)(K) is the restriction fK in C(K,RR).

Theorem: LimI in ZC(I,RR) ≈ C(X,RR)

Homeomorphism: Φ(f) = (…,fK,…,fJ,…fI,…)

Page 21: BCTCS 2006

Proof Sketch: Restriction Homomorphism

ΦC(X,RR)

C(K,RR)

LimI in ZC(I,RR)

ΦK

πK

The mapping ΦK = πK ◦ Φ is a homomorphism and restricts C(X,RR) to C(K,RR)

The set ΦK(B) of basic spatial objects restricted to a compact Ksatisfies Properties 1 and 2 on the coordinate space C(K,RR).

Page 22: BCTCS 2006

Proof Sketch: Approximation on C(K,R)

We can approximate on a compact K, so by Stone-Weierstrass

<ΦK(B)>Σsw is dense in C(K,RR).

Meaning that there is a term t in <ΦK(B)>Σsw such that

[t]C(K,RR)(ΦK(b1),…, ΦK(bn)) is in W(K,U).

Since ΦK is a homomorphism:

[t]C(K,RR)(ΦK(b1),…, ΦK(bn)) = ΦK([t]C(X,RR)(b1,…,bn))

i.e. the term t in <B>ΣSW evaluates to the same points in C(X,RR) and so [t]C(X,RR) is in W(K,U).

Page 23: BCTCS 2006

Goals

Extensions of the Stone-Weierstrass and spatial object approximating theorems

Computability and effectivity issues; ‘While’ programs over C(X,A) Graphics applications:

Discretisation D : C(RR3,A) → C(ZZ3,A) Rendering R: C(RR3,A) → C(ZZ2,A)


Recommended