Scientific Data Representation and Mapping

Slides:



Advertisements
Similar presentations
Reconstruction from Voxels (GATE-540)
Advertisements

Morphing & Warping 2D Morphing Involves 2 steps 1.Image warping “get features to line up” 2.Cross-dissolve “mix colors” (fade-in/fadeout transition)
CS 551 / CS 645 Antialiasing. What is a pixel? A pixel is not… –A box –A disk –A teeny tiny little light A pixel is a point –It has no dimension –It occupies.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2013.
Spatial Information Systems (SIS)
1 Computer Graphics Chapter 7 3D Object Modeling.
CS447/ Realistic Rendering -- Solids Modeling -- Introduction to 2D and 3D Computer Graphics.
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
2003 by Jim X. Chen: Introduction to Modeling Jim X. Chen George Mason University.
Chapter 4 Digital Multimedia, 2nd edition Vector Graphics.
Introduction to Volume Visualization Mengxia Zhu Fall 2007.
Scientific Visualization Data Modelling for Scientific Visualization CS 5630 / 6630 August 28, 2007.
ITUppsala universitet Data representation and fundamental algorithms Filip Malmberg
Spatial data models (types)
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Curves and Surfaces (cont’) Amy Zhang. Conversion between Representations  Example: Convert a curve from a cubic B-spline curve to the Bézier form:
Introduction --Classification Shape ContourRegion Structural Syntactic Graph Tree Model-driven Data-driven Perimeter Compactness Eccentricity.
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
CIS V/EE894R/ME894V A Case Study in Computational Science & Engineering HW 5 Repeat the HW associated with the FD LBI except that you will now use.
C O M P U T E R G R A P H I C S Stuff Jian Chen January 15, 2010 Transformations 1/10 Describing Shape By Andries van Dam.
VTK: Data Shroeder et al. Chapter 5 University of Texas – Pan American CSCI 6361, Spring 2014 After Taku Komura and other lecture sets
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Spline curves 1/23 Curves and Surfaces.
CS559: Computer Graphics Lecture 33: Shape Modeling Li Zhang Spring 2008.
CS 376 Introduction to Computer Graphics 04 / 23 / 2007 Instructor: Michael Eckmann.
CDS 301 Fall, 2009 Data Representation Chap. 3 September 10, 2009 Jie Zhang Copyright ©
CS 551/651 Advanced Computer Graphics Warping and Morphing Spring 2002.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 1 Shading (Shading) & Smooth Shading Graphics.
Introduction to Scientific Visualization CS 4390/5390 Data Visualization Shirley Moore, Instructor October 13,
How to reform a terrain into a pyramid Takeshi Tokuyama (Tohoku U) Joint work with Jinhee Chun (Tohoku U) Naoki Katoh (Kyoto U) Danny Chen (U. Notre Dame)
Course 13 Curves and Surfaces. Course 13 Curves and Surface Surface Representation Representation Interpolation Approximation Surface Segmentation.
CS559: Computer Graphics Lecture 24: Shape Modeling Li Zhang Spring 2010.
Copyright © Curt Hill Visualization of 3D Worlds How are these images described?
Game Programming 06 The Rendering Engine
Maths & Technologies for Games DirectX 11 – New Features Tessellation & Displacement Mapping CO3303 Week 19.
Vector Graphics Digital Multimedia Chap 이병희
Parametric Surfaces Define points on the surface in terms of two parameters Simplest case: bilinear interpolation s t s x(s,t)x(s,t) P 0,0 P 1,0 P 1,1.
Computer Graphics Rendering 2D Geometry CO2409 Computer Graphics Week 2.
CS 325 Introduction to Computer Graphics 03 / 29 / 2010 Instructor: Michael Eckmann.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Basic Theory (for curve 02). 1.3 Parametric Curves  The main aim of computer graphics is to display an arbitrary surface so that it looks real.  The.
CS 325 Introduction to Computer Graphics 04 / 12 / 2010 Instructor: Michael Eckmann.
04/18/02(c) 2002 University of Wisconsin Last Time Hermite Curves Bezier Curves.
In the name of God Computer Graphics Bastanfard. Curve Function(2) Other method is approximate it using a poly-line. Just locate a set of points along.
3D Object Representations 2011, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
CS 325 Computer Graphics 04 / 30 / 2010 Instructor: Michael Eckmann.
Basic Theory (for curve 01). 1.1 Points and Vectors  Real life methods for constructing curves and surfaces often start with points and vectors, which.
Data Visualization Fall The Data as a Quantity Quantities can be classified in two categories: Intrinsically continuous (scientific visualization,
CDS 301 Fall, 2008 From Graphics to Visualization Chap. 2 Sep. 3, 2009 Jie Zhang Copyright ©
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
CDS 301 Fall, 2008 Data Representation Chap. 3 September 2, 2008 Jie Zhang Copyright ©
Slide 1Lecture Fall ‘00 Surface Modeling Types: Polygon surfaces Curved surfaces Volumes Generating models: Interactive Procedural.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Introduction to Parametric Curve and Surface Modeling.

Constructing Objects in Computer Graphics
POLYGON MESH Advance Computer Graphics
3D Graphics Rendering PPT By Ricardo Veguilla.
Constructing Objects in Computer Graphics By Andries van Dam©
3D Object Representations
Texture Mapping COMP575/COMP770.
Chapter 14 Shading Models.
Domain-Modeling Techniques
© University of Wisconsin, CS559 Spring 2004
Chapter IX Bump Mapping
Introduction to Parametric Curve and Surface Modeling
Chapter 14 Shading Models.
Presentation transcript:

Scientific Data Representation and Mapping CS 4390/5390 Data Visualization Shirley Moore, Instructor October 20, 2014

SciVis Pipeline Image credit: Alexandru Telea, Data Visualization: Principles and Practice, 2nd edition

Mapping Data Map: D -> DV takes a dataset D ε D and maps it to a dataset of visual features DV ε DV. A visual feature is a colored, shaded, textured, and/or animated 2D or 3D shape. For our height plot example, the map function takes the sampled dataset that represents our function and constructs a set of polygons that represent a 3D surface.

Desirable Mapping Properties Injective Different dataset values should be mapped to different visual attributes Preserve distances More generally, preserve empirical relations Above can often not be exactly achieved, due to finite representation or scaling limitations.

Mathematical Continuity Cauchy definition of continuity: A function is continuous iff C 0 discontinuous (graph of function has “holes”) C 1 first-order continuous (graph of function has “kinks”) C k first k derivatives of the function are continuous

Sampled data Functional properties finite captures continuous signal at a finite set of points (measurements) accurate can reconstruct a signal close to input accurately reconstruction guarantees continuity properties Non-functional properties efficient reconstruction is fast compact store Gbytes of sample points compactly generic few data structures cover most dataset types simple learn to create & use such data structures quickly

Basis Functions Reconstruct a sampled continuous function using basis functions Tradeoff between continuity order and complexity/evaluation efficiency of basis functions A grid, or mesh, is a subdivision of a domain D in Rd into a collection of cells, or elements, denoted ci. Cells are non-overlapping, and their union completely covers the sample domain. Most commonly used cells are polylines in R, polygons in R2, and polyhedra in R3. We define local basis functions with respect to each cell.

Reconstruction using Basis Functions Reconstruction using weighted sum of basis functions: are basis (or interpolation) functions Interpolation condition: reconstruction passes through (interpolates) the sampled values 3. Orthogonality of basis functions: of basis functions why? Just apply (2) to 4. Normality of basis functions: of basis functions why? (sum (3) over ) and apply above to all

Practical Reconstruction Recall the reconstruction formula This becomes very inefficient if N is very large and we have to evaluate fi at all these N points fi have complicated expressions Practical basis functions are non-zero over small spatial ‘pieces’ of D only (limited support) have the same simple formula at all sample points piample points pi

Class Exercise: Constant, Linear, and Quadratic Basis Functions Construct constant, linear, and quadratic basis functions for mapping the function f(x) = - (x – 2)2 + 4 on the interval [0, 4]. Draw the reconstructed approximation to the function for each set of basis functions. Into what continuity class does each reconstruction fall? With which set of basis functions can you reconstruct the original function exactly?

Cells: 1D space Consider a simple 1D function f : R ® R Sample the 1D axis at some points pi Define cells ci=(pi, pi+1) Consider the reference basis functions for a reference cell (0,1) f0,1 : [0,1] ® [0,1], f0(r)=1-r, f1(r)=r Define a linear transformation Ti from the reference to actual cell ci For ci, define the actual basis functions F0,1 using f0,1 and Ti-1 and rewrite the final interpolation Apply (5) to interpolate all points in ci using only samples at vertices pi, pi+1 of ci Repeat from 4 for next cell ci+1

Cells: 1D example (cont’d) Remarks interpolation & reconstruction goes cell-by-cell only need sample points at a cell vertices to interpolate over that cell reconstruction is C 0 because fi are C 0 and interpolation formula is C ∞

2D cells: Quads Same as in 1D case, but we have to decide on cell geometry; say we take quads quads ® 4 vertices, 4 basis functions particular case: square cells = pixels Bilinear basis functions Bilinear transforms

2D cells: Quads Bilinear interpolation Constant interpolation 4 functions, one per vertex result: C 0 but never C 1 (why?) good for vertex-based samples 1 function per whole cell result: not even C 0 good for cell-based samples

Intermezzo What is the difference between flat and Gouraud (smooth) shading? Flat shading Gouraud shading surface: bilinear interpolation colors: constant interpolation surface: bilinear interpolation colors: bilinear interpolation Note: Do not confuse Gouraud shading (color interpolation) with the Phong lighting model (color computation from normals.)

2D cells: Triangles Remarks Triangles and quads offer largely same pros and cons. In graphics/visualization, triangles are used more often than quads. easier to cover complex shapes with triangles than quads same computational complexity

3D cells: Tetrahedra Remarks counterparts of triangles in 3D interpolate volumetric functions f : R3 ® R three parametric coordinates r, s, t trilinear interpolation

3D cells: Hexahedra Remarks counterparts of quads in 3D interpolate volumetric functions f : R3 ® R trilinear interpolation particular case: cubic cells or voxels

Cell types for constant/linear basis functions 0D point 1D line 2D triangle, quad, rectangle 3D tetrahedron, parallelepiped, box, pyramid, prism, …

Quadratic Cells allow defining quadratic basis functions higher precision for interpolation however, we need data samples at extra midpoints, not just vertices used in more complex numerical simulations (e.g. finite elements) split into linear cells for visualization purposes

From cells to grids Cells provide interpolation over a small, simple-shapedspatial region Grids partition our complex data domain D into cells allow applying per-cell interpolation (as described so far) Given a domain D… A grid G = {ci} is a set of cells such that The dimension of the domain D constrains which cell types we can use. no two cells overlap (why? Think about interpolation) the cells cover all our domain (why? Think about our end goal)

Uniform Grids image volume all cells have identical size and type (typically, square or cubic) cannot model non-axis-aligned domains Storage requirements m integers for the #cells along each of the m dimensions of D (e.g. m=2 or 3)

Rectilinear Grids all cells have same type cells can have different dimensions but share them along axes cannot model non-axis-aligned domains Storage requirements floats (coordinates of vertices along each of the m axes of D)

Structured Grids all cells have same type cell vertex coordinates are freely (explicitly) specifiable… …as long as cells assemble in a matrix-like structure can approximate more complex shapes than rectilinear/uniform grids Storage requirements floats (coordinates of all vertices)

Unstructured Grids Consider the domain D: a square with a hole in the middle We cannot cover such a domain with a structured grid (why?) it’s not of genus 0, so cannot be covered with a matrix-like distribution of cells For this, we need unstructured grids (see next slide)

Unstructured Grids (2) different cell types can be mixed (though it’s not usual) both vertex coordinates and cell themselves are freely (explicitly) specifiable implementation vertex set cell set most flexible, but most complex/expensive grid type Storage requirements for a m-dimensional grid with cells having s vertices each

Dataset (Recapitulation)