CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©
-
Upload
marsha-gilmore -
Category
Documents
-
view
214 -
download
0
Transcript of 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 ©
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
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
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
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:
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
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
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
Sampling and Reconstruction
fff i
~
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
Sampling
A signal domain is sampled in a grid that contains a set of cells defined by the sample points
Point,Cell, Grid
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
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
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
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
ReconstructionLinear basis function
rfrfrf
rr
rr
21
12
11
)1()(
,)(
,1)(
For 1-D line
P1 P2
0 r 1
reference cell
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.
Basis FunctionLinear basis function
For 2-D quad
srsr
rssr
srsr
srsr
)1(),(
),(
)1(),(
)1)(1(),(
14
13
12
11
(continued)
Data RepresentationChap. 3
September 17, 2009
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
cell=(p1,p2,p3,p4)D: (x,y,z)
cell=(v1,v2,v3,v4)D: (r,s,t) and t=0
Basis Function
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
)),,((),,(~
)),,((),,(),,(
),,(),,(
),,(),,(
Cell Types
Vertexd=0
1),(
}{01
1
sr
vc
Lined=1
212
1211
12
11
21
||||
)()(),,(
)(
1)(
},{
pp
ppppzyxT
rr
rr
vvc
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
Triangled=2
213
131
212
121
1
13
12
11
321
||||
)()(
||||
)()(
),(),,(
),(
),(
1),(
},,{
pp
pppps
pp
ppppr
srzyxT
ssr
rsr
srsr
vvvc
Quadd=2
214
141
212
121
14
13
12
11
4321
||||
)()(
||||
)()(
)1(),(
),(
)1(),(
)1)(1(),(
},,,{
pp
pppps
pp
ppppr
srsr
rssr
srsr
srsr
vvvvc
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
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
Hexahedron (cont.)d=3
218
181
214
141
212
121
1
||||
)()(
||||
)()(
||||
)()(
),,(),,(
pp
ppppt
pp
pppps
pp
ppppr
tsrzyxT
Effect of Reconstruction
Geometry:
Constant
Geometry:
Linear
Lighting:
Constant
Staircase
shading
Flat
Shading
Lighting:
Linear
--------- Smooth
(Gauraud)
shading
Effect of Reconstruction (cont.)
Staircase Shading Flat Shading Smooth Shading
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
Uniform Grid
2-D 3-D
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)
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
Rectilinear Grid
2-D 3-D
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
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
Structured Grid
Circular domain Curved Surface 3D volume
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…}
Unstructured Grid
(continued)
Data RepresentationChap. 3
September 24, 2009
Attributes
•Attribute data is the set of sample values of a sampled dataset
•Attribute = {fi}
})({ kiiii },{Φ}, {f}, {CpsD
Sampled dataset
Attribute Types
•Scalar Attribute
•Vector Attribute
•Color Attribute: c=3
•Tensor Attributes
•Non-Numerical Attributes
1
C
c
cR
3or ,2
C
cc
cR
Scalar Attributes
•E.g., temperature, density,
RR
RR
3
2
:
or ,:
f
f
Vector Attributes
E.g.,•Normal•Force•velocity
•A vector has a magnitude and orientation
3
2
RR
RR
3
2
:
or ,:
f
f
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
Tensor Attributes
•E.g. curvature of a 2-D surface
•E.g., diffusivity, conductivity, stress
Tensor
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)
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
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)
RGB CubeR
G
B
yellow
magenta
Cyan
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
HSV System
HSV Color Wheel
http://www.codeproject.com/KB/miscctrl/CPicker/ColorWheel.jpg
S=0
S=1
Color, Light, Electromagnetic Radiation
http://www.dnr.sc.gov/ael/personals/pjpb/lecture/spectrum.gif
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)
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)
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.