CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

60
CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Transcript of CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Page 1: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

CDS 301Fall, 2009

Data RepresentationChap. 3

September 10, 2009

Jie ZhangCopyright ©

Page 2: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Outline3.1. Continuous Data3.2. Sampled Data3.3. Discrete Datasets3.4. Cell Types

•vertex, line, triangle, quad, tetrahedron, hexahedron

3.5. Grid Types•Uniform, rectlinear, structured, Unstructured

3.6. Attributes•Scalar, Vector, Color, Tensor, Non-numerical

3.7. Computing Derivatives of Sampled Data

3.8. Implementation3.9. Advanced Data Representation

Page 3: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Continuous Data versus Discrete Data

•Continuous Data•Most scientific quantities are continuous in nature•Scientific Visualization, or scivis

•Discrete Data•E.g., text, images and others that can not be interpolated or scaled•Information Visualization, or infovis

•Continuous data, when represented by computers, are always in discrete form

•These are called “sampled data”•Originated from continuous data•Intended to approximate the continuous quantity through visualization

Page 4: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Continuous Data

2

2 )()('',

)()(),(

dx

xfdxf

dx

xdfxfxf

a: discontinuous function

b: first-order continuous function: first-order derivative is not continuous

c: high-order continuous function

Page 5: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Continuous Data

f is a d-dimension, c-valued functionD: function domainC: function co-domain

)....,()....,(

C

D

CD:

2121 dc

c

d

xxxfyyy

f

R

R

Continuous data can be modeled as:

Page 6: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Continuous Data

||f(p)-f(x)||

then

||p-x||

ifsuch that

0 0,

Cauchy criterion of continuity

Graphically, a function is continuous if the graph of the function is a connected surface without “holes” or “jumps”

A function is continuous of order k if the function itself and all its derivative up to order k are also continuous

In words, small changes in the input result in small changes in the output

Page 7: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Continuous Dataset

•Geometric dimension: d• the space into which the function domain D is embedded•It is always 3 in the usual Euclidean space: d=3

•Topological dimension: s•The function domain D itself•A line or curve: s=1, d=3•A plane or curved surface: s=2, d=3

•Dataset dimension refers to the topological dimension

•Function values in the co-domain are called dataset attributes•Attribute dimension: dimension of the function co-domain

f) C, (D,cD 1. D: Function domain2. C: Function co-domain3. f: Function itself

Page 8: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Sampling and ReconstructionTo prepare for the visualization of the continuous dataset:

1. Sampling• For a given continuous data, produce a sampled

dataset• as an input to the computer

2. Reconstruction• For a given sampled dataset, recover an approximate

version of the original continuous data• The approximation is a piecewise continuous funtion

Page 9: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Sampling and Reconstruction

fff i

~

Page 10: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Sampled Dataset

Sampled dataset

f) C, (D,D

})({ kiiii },{Φ}, {f}, {CpsD

Continuous dataset

1. p: sampling points2. c: cells 3. f: sampled values4. Φ: basis function or interpolation function

Page 11: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Sampling

A signal domain is sampled in a grid that contains a set of cells defined by the sample points

Point,Cell, Grid

Page 12: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Sampling•Sampled data is provided only at the vertices of the cells of a given grid•Sample points (pi): where the data domain is sampled•Cell (ci): primitive shapes formed by a set of points as the vertices of the cell, e.g., polygons•Grid (or mesh)(D): the union of cells that completely covers the topological domain of the data.

D

0

}....,{

,

21

ii

ji

d

di

cU

ji,cc

pppci

p RPoint

Cell

Grid

Page 13: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Reconstruction

function basis called is where

~

...}2,1{},

i

1

N

iii

i

ff

i{f

or interpolation function

Piecewise fitting: one cell one time

Page 14: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Reconstruction1-D example: •sinuous function•10 points sampling•Cell type: line segment•Cell vertices: two vertices per cell

2/)()(

Then

vertices) twoof (because 2/1

cell theofcenter at the value theTypically,

value,same thehave cell in the points All

function, basisconstant If

)()(

}p,{pc

21

2

1

21j

ffxf

(x)

xfxf

j

i

iiij

staircase

Page 15: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Reconstruction

Constant basis function

ii cx

cNx

,0

x,/1{)( i0

It has virtually no computational cost, but provide a poor, staircase like approximation of the original function

Page 16: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

ReconstructionLinear basis function

rfrfrf

rr

rr

21

12

11

)1()(

,)(

,1)(

For 1-D line

P1 P2

0 r 1

reference cell

Page 17: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Basis FunctionBasis function shall be orthonormal

1.Orthogonal: only vertex points within the same cell have contribution to the interpolated value2.Normal: the sum of the basic functions of the vertices shall be unity.

Page 18: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Basis FunctionLinear basis function

For 2-D quad

srsr

rssr

srsr

srsr

)1(),(

),(

)1(),(

)1)(1(),(

14

13

12

11

Page 19: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

(continued)

Data RepresentationChap. 3

September 17, 2009

Page 20: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Sampled Dataset

Sampled dataset

f) C, (D,D

})({ kiiii },{Φ}, {f}, {CpsD

Continuous dataset

1. p: sampling points2. c: cells 3. f: sampled values4. Φ: basis function or interpolation function

Page 21: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

cell=(p1,p2,p3,p4)D: (x,y,z)

cell=(v1,v2,v3,v4)D: (r,s,t) and t=0

Basis Function

Page 22: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Coordinate Transformation•Basis function is defined in reference cell•Reference cell: axis-aligned unit cell, e.g., unit square in 2-D, unit line in 1-D•Data are sampled at actual (world) cells•Mapping between actual cell and reference cell

N

iii zyxTfzyxf

zyxTtsrzyx

zyxTtsr

tsrTzyx

1

11

1

1

)),,((),,(~

)),,((),,(),,(

),,(),,(

),,(),,(

Page 23: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Cell Types

Page 24: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Vertexd=0

1),(

}{01

1

sr

vc

Page 25: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Lined=1

212

1211

12

11

21

||||

)()(),,(

)(

1)(

},{

pp

ppppzyxT

rr

rr

vvc

Page 26: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Line (cont.)Actual line d=1

12

12

12

21

12

1

2211 ,,

xx

xxf

xx

xxff

xx

xxr

xpxpxp

Actual line d=2

212

212

121121

222111

)()(

))(())((

),(),,(),,(

yyxx

yyyyxxxxr

yxpyxpyxp

Page 27: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Triangled=2

213

131

212

121

1

13

12

11

321

||||

)()(

||||

)()(

),(),,(

),(

),(

1),(

},,{

pp

pppps

pp

ppppr

srzyxT

ssr

rsr

srsr

vvvc

Page 28: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Quadd=2

214

141

212

121

14

13

12

11

4321

||||

)()(

||||

)()(

)1(),(

),(

)1(),(

)1)(1(),(

},,,{

pp

pppps

pp

ppppr

srsr

rssr

srsr

srsr

vvvvc

Page 29: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Tetrahedrond=3

214

141

213

131

212

121

1

14

13

12

11

4321

||||

)()(

||||

)()(

||||

)()(

),,(),,(

),(

),(

),(

1),(

},,,{

pp

ppppt

pp

pppps

pp

ppppr

tsrzyxT

tsr

ssr

rsr

tsrsr

vvvvc

Page 30: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Hexahedrond=3

strsr

rstsr

tsrsr

tsrsr

trsr

trssr

tsrsr

tsrsr

vvvvvvvvc

)1(),(

),(

)1(),(

)1)(1(),(

)1)(1(),(

)1(),(

)1)(1(),(

)1)(1)(1(),(

},,,,,,,{

18

17

16

15

14

13

12

11

87654321

Page 31: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Hexahedron (cont.)d=3

218

181

214

141

212

121

1

||||

)()(

||||

)()(

||||

)()(

),,(),,(

pp

ppppt

pp

pppps

pp

ppppr

tsrzyxT

Page 32: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Effect of Reconstruction

Geometry:

Constant

Geometry:

Linear

Lighting:

Constant

Staircase

shading

Flat

Shading

Lighting:

Linear

--------- Smooth

(Gauraud)

shading

Page 33: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Effect of Reconstruction (cont.)

Staircase Shading Flat Shading Smooth Shading

Page 34: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Grid Types

•Grid is the pattern of cells in the data domain•Grid is also called mesh

•Uniform grid•Rectilinear grid•Structured grid•Unstructured grid

Page 35: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Uniform Grid

2-D 3-D

Page 36: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Uniform Grid•The simplest grid type•Domain D is usually an axis-aligned box

•Line segment for d=1•Rectangle for d=2•parallelepiped for d=3

•Sample points are equally distributed on every axis•Structured coordinates: the position of the sample points in the data domain are simply indicated by d integer coordinates (n1,..nd)•Simple to implement•Efficient to run (storage, memory and CPU)

Page 37: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Uniform Grid•Data points are simply stored in the increasing order of the indices, e.g, an 1-D array •Lexicographic order

213121

121

12

121

2

1

11

3,d If

mod

2,d If

)(

NNnNnni

)N (ni n

i/Nn

, orNnni

Nnnid

k

k

llk

Page 38: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Rectilinear Grid

2-D 3-D

Page 39: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Rectilinear Grid

•Domain D is also an axis-aligned box•However, the sampling step is not equal

•It is not as simple or as efficient as the uniform grid•However, improving modeling power

Page 40: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Structured Grid

•Further relaxing the constraint, a structured grid can be seen as the free deformation of a uniform or rectilinear grid•The data domain can be non-rectangular•It allows explicit placement of every sample points•The matrix-like ordering of the sampling points are preserved

•Topology is preserved•But, the geometry has changed

Page 41: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Structured Grid

Circular domain Curved Surface 3D volume

Page 42: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Unstructured Grid•It is allowed to define both sample points and cells explicitly•The most general and flexible grid type•However, it needs to store

•The coordinates of all sample points pi

•For each cell, the set of vertex indices ci={vi1,…viCi), and for all cells {c1,c2…}

Page 43: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Unstructured Grid

Page 44: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

(continued)

Data RepresentationChap. 3

September 24, 2009

Page 45: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Attributes

•Attribute data is the set of sample values of a sampled dataset

•Attribute = {fi}

})({ kiiii },{Φ}, {f}, {CpsD

Sampled dataset

Page 46: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Attribute Types

•Scalar Attribute

•Vector Attribute

•Color Attribute: c=3

•Tensor Attributes

•Non-Numerical Attributes

1

C

c

cR

3or ,2

C

cc

cR

Page 47: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Scalar Attributes

•E.g., temperature, density,

RR

RR

3

2

:

or ,:

f

f

Page 48: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Vector Attributes

E.g.,•Normal•Force•velocity

•A vector has a magnitude and orientation

3

2

RR

RR

3

2

:

or ,:

f

f

Page 49: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Tensor Attributes

•A high-dimensional generalization of vectors

VV

VyVxV

VVVV

VVVV

ByAyBxAy

ByAxBxAx

),(

,

,

�BAVVVTensor

Vector

Scalar

•A tensor describes physical quantities that depend on direction

•Vector and scalar describes physical quantities that depend on position only

Page 50: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Tensor Attributes

•E.g. curvature of a 2-D surface

•E.g., diffusivity, conductivity, stress

Tensor

Page 51: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Non-numerical Attributes

•E.g. text, image, voice, and video•Data can not be interpolated•Therefore, the dataset has no basis function•Domain of information of visualization (infovis)

Page 52: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Color Attributes

•A special type of vector attributes with dimension c=3

•RGB system: convenient for hardware and implementation•R: red•G: green•B: blue

•HSV system: intuitive for human user•H: Hue•S: Saturation•V: Value

Page 53: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

RGB System•Every color is represented as a mix of “pure” red, green and blue colors in different amount•Equal amounts of the three colors determines gray shades•RGB cube’s main diagonal line connecting the points (0,0,0) and (1,1,1) is the locus of all the grayscale value

•(0,0,0)•(1,1,1)•(0.5,0.5,0.5)•(1,0,0)•(0,1,0)•(1,1,0)•(1,0,1)•(0,1,1)

Page 54: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

RGB CubeR

G

B

yellow

magenta

Cyan

Page 55: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

HSV System•Hue: distinguish between different colors of different wavelengths, from red to blue•Saturation: represent the color of “purity”, or how much hue is diluted with white

•S=1, pure, undiluted color•S=0, white

•Value: represent the brightness, or luminance•V=0, always dark•V=1, brightest color for a given H and S

Page 56: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

HSV System

HSV Color Wheel

http://www.codeproject.com/KB/miscctrl/CPicker/ColorWheel.jpg

S=0

S=1

Page 57: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Color, Light, Electromagnetic Radiation

http://www.dnr.sc.gov/ael/personals/pjpb/lecture/spectrum.gif

Page 58: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

RGB to HSV•All values are in [0,1]

max=max(R,G,B)min=min(R,G,B)diff=max-min

•V = max•largest RGB component

•S = diff/max•For hue H, different cases

•H = (G-B)/diff if R=max•H =2+(B-R)/diff if G=max•H =4+(R-G)/diff if B=max•then H=H/6•H=H+1 if H < 0

Exp: Full Green Color(R,G,B)=(0,1,0) (H,S,V)=(1/3, 1,1)

Exp: Yellow Color(R,G,B)=(1,1,0) (H,S,V)=(1/6, 1, 1)

Page 59: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

HSV to RGB

huecase = {int} (h*6)frac = 6*h – huecase

lx= v*(1-s)ly= v*(1-s*frac)lz= v*(1-s(1-frac))

huecase =6 (0<h<1/6): r=v, g=lz, b=lxhuecase =1 (1/6<h<2/6): r=ly, g=v, b=lxhuecase =2 (2/6<h<3/6): r=lx, g=v, b=lzhuecase =3 (3/6<h<4/6): r=lx, g=ly, b=vhuecase =4 (4/6<h<5/6): r=lz, g=lx, b=vhuecase =5 (5/6<h<1): r=v, g=lx, b=ly

Exp: Full Green Color(H,S,V)=(1/3,1,1) (R,G,B)=(0,1,0)

Exp: Yellow Color(H,S,V)=(1/6,1,1) (R,G,B)=(1,1,0)

Page 60: CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©

Endof Chap. 3

Note:

•The class has covered from section 3.1 to 3.6.•We have skipped section 3.7, 3.8, and 3.9. You may want to study these section by yourselves.