Anda di halaman 1dari 18

5/12/2014

1
Volume Visualization
akjha@iirs.gov.in
Visualization Building Blocks
Viz Elements
Glyphs (e.g. Alphabets,
Arrows)
Lines
Triangles
Voxels* (volume element)
*Cannot be directly
represented on
displays

Viz Attributes
Transforms
(Position, Rotation, Scale)
Color
Opacity
View Attributes
Viewpoint
Projection
(Orthographic, Perspective)
Canvas
Viz Reinforcement
Texture
Light
Distortion(e.g. Displacement)
Motion (e.g. Camera ,time steps)
Filter (e.g. threshold, resample, subset, slice, clip)
Add Context(e.g. Connectivity, Mao Overlay)
5/12/2014
2
Geometric Visualization
Process
Identify regions of same scalar
value
Utility
2D:Contours
3D:Isosurfaces(Marching Cube,
Marching Tetra)
Volume Visualization
To create two-dimensional graphical
representations from scalar datasets that are
defined on three-dimensional grids. E.g.
seismic data to fluid dynamics.
shape (given by the geometry of the grid)
appearance (given by the scalar values or color,
texture, lighting conditions, etc.)
Type
Direct volume rendering (DVR)
Direct mapping of voxels on pixels of a 2D image
plane
Indirect volume rendering- or surface-fitting(SF)
Surfaces Creation & used for interactive display
5/12/2014
3
How to Visualize the volume dataset?
Four Common Methods
Point Cloud Slicing Plane
Isosurface Volume Render
Point Cloud
Map each data value to a color. This mapping is called a Color Map.
Display each data value as a point.
Often leads to occlusion. Here is an example that shows only data values
greater than 0.3.
0.0 1.0
Color Map
Point cloud of foot dataset
5/12/2014
4
Slicing Plane
Display a 2D plane as a slice through the 3D dataset.
The 2D plane could be a regular grid, where each point
corresponds to a point in the 3D space which it slices.
Linearly interpolate the triangles to color the entire 2D slice.
0.0 1.0
One slice of the foot dataset
Color Map
An axis-aligned slicing plane
Isosurface
Select a data value, called an isovalue.
Draw the 3D contour of this value.
A contour simply joins all the points having this same
data value.
In 2D, a contour is a line.
In 3D, a contour is a surface, called an isosurface.
Method: Marching cubes
The 3D regular grid is considered to be made of atomic
cubes.
Each cube has 8 corners. Each corner corresponds to a
data point, and has a value.
5/12/2014
5
Marching Cubes Algorithm
Vertex Identification
For each corner, mark the corner is 1 if the data value at that corner is
higher than the isovalue, 0 otherwise.
Then, draw surfaces separating the 1 corners from the 0 corners.
There are 16 cases.
Generate triangles for each cube. They will all join together to form an
isosurface (assuming we take care of the ambiguous cases).
Example Marching Cube cases
Marching Cubes Algorithm
Vertex Value
Linear interpolation between vertices.
Suppose,
Data value at v0 is d0,
Data value at v1 is d1
Isovalue is d, and d0 < d < d1
Then, the triangle vertex on this edge v0v1 that is part of the isosurface is:
v = (d-d0)/(d1-d0) x v1 + (d1-d)/(d1-d0) x v0
v0
v
v1
5/12/2014
6
Optimization: Octree
Marching cubes algorithm is very slow.
You have to go through the entire dataset to search for cubes that contain
the isosurface.
To speed things up, use some data structure to help search.
One such data structure is the octree.
Continuously sub-divide dataset into 2x2x2 cubes. In each cube, store the
maximum and minimum value.
When drawing an isosurface of value v, traverse the octree. Whenever you
reach a node whose range does not contain v, you need to search no
further down this node.
Volume Rendering
Treat volume as a translucent object.
For every pixel, shoot ray into the 3D volume.
Sample the each ray at small, regular intervals.
At each sample, calculate color and composite.
5/12/2014
7
How do you calculate color?
How do you composite?
1. At each sample, get the data value.
Data value obtained by tri-linear interpolation.
2. After getting data value, get color and opacity.
Color obtained from color map.
Opacity obtained from opacity map.
3. Get the normal
Normal approximated by data gradient
Data gradient approximated by central difference
4. Calculate color using lighting
5. Composite. Update the accumulated opacity.
The following slides will elaborate each of these steps
1. Tri-linear Interpolation to get Data Value
a
b
c
d
m
n
P
1
2
What is the data value at point P?

First, find the data values at a, b, c and d.

The value at a, for example, is obtained from
linearly interpolating the values at point 1 and
point 2.

Then linearly interpolate a and b to get m.
Similarly, obtain the data value at n.

Finally, linearly interpolate m and n to get the
final data value at P.
5/12/2014
8
2. What is an Opacity Map?
Have an opacity value associated with each data value.
User specifies a more opaque value for the data value that he/she is
interested in.
For example, if the value for bone is around 0.4, and the value for skin is
around 0.1, the user may wish to use the following opacity map to see the
bone through translucent skin.
Opacity
1.0
Data value
1.0 0.1 0.4
3. Approximate surface normal
Surface normal is usually in the direction of the
change of data value.
To get the direction of change of data value, use
central difference.
V
z+1
V
y-1
V
x-1
V
y+1
V
z-1
V
x+1
P

To find the normal at point P:

Consider the six adjacent data points.

Let the value at the next point along the x axis be denoted as V
x+1
.
Similar notation for the other five points.

Then, the normal at point P is N = (V
x+1
-V
x-1
,V
y+1
-V
y-1
,V
z+1
-V
z-1
).
5/12/2014
9
4. Calculate lighting
Calculate lighting using the lighting equations.
We have the color from the color map, C.
We have the normal from the central difference, N.
Assume that the light is white, and is in the direction
L.
Assume that we use only diffuse lighting.
Then, the color seen by the camera is: C x N.L
5. Consider opacity
We have to diminish the color at each sample point because it
is translucent.
To do this, we accumulate color and opacity.
In the beginning,
Color
accumulated
is set to (0,0,0), and
Opacity
accumulated
is set to 0.0
At each sample point, update Color
accumulated
by:
Color
accumulated
+= (1 Opacity
accumulated
) x a x C x N.L
At each sample point, update Opacity
accumulated
by:
Opacity
accumulated
+= (1 Opacity
accumulated
) x a
where
a is the opacity of the sample point from the Opacity Map,
C is the color of the sample point from the Color Map,
N is the unit normal at the sample point from central difference, and
L is the unit vector from the sample point to the light source.
5/12/2014
10
Techniques for examining sub-section
of Volume
Slicing
To examine scalar fields
2 dimensional slice plane
Isosurfacing
Isosurfaces are 2D
surfaces
Transparency
Volume material
attenuates reflected
Modern 3D maps
Computer-generated perspective views with
cartographic content are called 3D maps.
5/12/2014
11
Design Variables of 3D Maps
Modelling
Modelling of digital terrain model objects
Modelling of (topographic) map objects
Modelling of orientating map objects
Symbolization
Graphic appearance
Special graphic aspects
Textures
Text objects
Object animation
Visualization
Perspective (projection)
Camera (viewing)
Lighting
Shading and shadow
Atmospheric effects and natural phenomenon
3D Design Requirements
5/12/2014
12
3D Visualization pipeline
View-dependent, multi-
perspective view
5/12/2014
13
LoD
LoDs are mainly determined in relation to
the resolution of sensor data, the precision
of semantic information and the relevant
application
LoDs for settlements and buildings-
Thiemann, (2004)
LoD1 = aggregated settlement blocks with a
uniform height
LoD2 = block of the individual buildings
without roof form
LoD3 = LoD2 enhanced with a simplified roof
form
LoDs for individual buildings-Netlexikon von
akademie.de
LoD1 = Popping up of the ground plan to a
uniform height
LoD2 = LoD1 enhanced with a texture
LoD3 = External hull of the building with a
roof form and small surface elements
LoD4 = LoD3 enhanced with external textures
LoD5 = LoD4 enhanced with internal
structures
LoDs of 3D landscapes-Grger et al., (2004)
LOD 0 = A digital terrain model with draped
orthophoto and classification of land use,
LOD 1 = Popping up of the ground plan to a
uniform height,
LOD 2 = LoD1 enhanced with roof textures,
roof structures and vegetation features,
LOD 3 = Architecture models with vegetation
features and street furniture
LOD 4 = Indoors architecture models.
3D Buildings
3D buildings is
essentially a linear
continuum
an arbitrary number of
milestones can be said
to exist referred to as
Levels of Detail (LoD)
there are no generally
agreed LoDs for 3D
buildings
5/12/2014
14
3D Building Generalization
Need
3D building models are too time intensive and
expensive for 3D data acquisition and updating.
high maintenance cost and difficulties for the user
in conducting multi-scale spatial analysis
Model
generalization
graphic (or
cartographic)
generalization
3D
Generalization
3D Building Generalization steps
Model generalization
Is a data-to-data transformation that deals with model
objects, their geometric and semantic precision and their
topological consistency in the scale space.
Generalized building models are either distributed as data
services for integration with thematic information of
comparable resolution or regarded as a prior stage to
graphic generalization
Graphic (or cartographic) generalization
focuses on the visual impression of model objects together
with 3D graphic artifacts in relation to the selected
projection, visualisation style, camera position etc.


5/12/2014
15
Description Models of 3D Buildings
Voxel model
Parametric description
3D building is constructed through a number of primitive
bodies such as cuboid, sphere, cylinder, cone and pyramid
-sub components of the structure called geons
absolute position of the building is defined by six further
parameters of rotation and translation
Constructive solid geometry (CSG)
3D building is constructed through Boolean operations
such as intersection, difference, union or inversion of
elementary building parts
sequence of operations is stored in a CSG tree
Description Models of 3D Buildings
CSG-tree of a building
Boundary Representation
3D building is described by its
boundary surface using
topological elements such as
mesh, edge and vertex.e.g.
TIN,VRML
Solid representation (SRep)
3D building is described by a
Tetrahedral Network
(TEN) composed of the
regular or irregular
topological elements:
tetrahedron, triangle,edge
and vertex
5/12/2014
16
3D building Structure
LOD based- Successive refinement of 3D
building structures based on viewing
distance
The nearer the building objects, the more
details they reveal
Individual- Structural components of
a typical building
3D Building Generalization steps
Segmentation of
building structures
polyhedron
segmentation-feature-
finding
Recognition of 3D
building structures

Segmentation of a sample building with split
planes
Types of ground plan in the top row; Roof types in the middle
and bottom row
5/12/2014
17
3D Building Generalization steps
Building Clustering
Hirachial approach
classification of
neighbourhood relationships
and the detection of building
clusters
Model generalization of 3D
buildings
simplification of building
data, is introduced
Simplification of parallel
structures
Squaring of inclined roof-
facets

Automatically recognised 3D building clusters
Parallel facets under a certain distance are
shifted towards each other
Squaring of roof
3D Building Generalization steps
simplification based on parallel shifts
Results of the roof-squaring procedure
5/12/2014
18
3D Building Generalization steps
Graphic generalization
of 3D buildings
Invasive simplification of
3D buildings
reducing and adjusting
the geometric details of
3D buildings
Non-invasive
simplification of 3D
buildings
Presentation based on standard illumination
(left), presentation based on expressive line
drawing (right)

Anda mungkin juga menyukai