ENV 200611.1 Envisioning Information Lecture 11 – Scientific Visualization Introduction Scalar 1D Data Ken Brodlie

Slides:



Advertisements
Similar presentations
7.1 Vis_04 Data Visualization Lecture 7 3D Scalar Visualization Part 2 : Volume Rendering- Introduction.
Advertisements

Visualization Techniques -
Lecture Notes #11 Curves and Surfaces II
Experiments and Variables
Lecture 10 Curves and Surfaces I
Cubic Curves CSE167: Computer Graphics Instructor: Steve Rotenberg UCSD, Fall 2006.
CS 445/645 Fall 2001 Hermite and Bézier Splines. Specifying Curves Control Points –A set of points that influence the curve’s shape Knots –Control points.
Spline Functions – An Elegant View of Interpolation Bruce Cohen David Sklar
Selected from presentations by Jim Ramsay, McGill University, Hongliang Fei, and Brian Quanz Basis Basics.
Trajectory Generation
1 Chapter 4 Interpolation and Approximation Lagrange Interpolation The basic interpolation problem can be posed in one of two ways: The basic interpolation.
Dr. S.M. Malaek Assistant: M. Younesi
CITS2401 Computer Analysis & Visualisation
Computational Methods in Physics PHYS 3437
EARS1160 – Numerical Methods notes by G. Houseman
Lecture 29 of 42 Bezier Curves and Splines Wednesday, 02 April 2008
ES 240: Scientific and Engineering Computation. InterpolationPolynomial  Definition –a function f(x) that can be written as a finite series of power functions.
Curve-Fitting Interpolation
Chapter 2: Pattern Recognition
Week 17GEOG2750 – Earth Observation and GIS of the Physical Environment1 Lecture 14 Interpolating environmental datasets Outline – creating surfaces from.
Designing Parametric Cubic Curves Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
2.1 Vis_04 Data Visualization Lecture 2 Fundamental Concepts - Reference Model Visualization Techniques – Overview Visualization Systems - Overview.
Drawing Parametric Curves Jean-Paul Mueller. Curves - The parametric form of a curve expresses the value of each spatial variable for points on the curve.
ECIV 301 Programming & Graphics Numerical Methods for Engineers Lecture 22 CURVE FITTING Chapter 18 Function Interpolation and Approximation.
Modelling: Curves Week 11, Wed Mar 23
ECIV 301 Programming & Graphics Numerical Methods for Engineers Lecture 24 Regression Analysis-Chapter 17.
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Curves Week 13, Mon 24 Nov 2003.
Chapter 10: Curves and Surfaces Part 1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
ECIV 301 Programming & Graphics Numerical Methods for Engineers Lecture 21 CURVE FITTING Chapter 18 Function Interpolation and Approximation.
Curve Modeling Bézier Curves
Interpolation. Interpolation is important concept in numerical analysis. Quite often functions may not be available explicitly but only the values of.
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
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.
CS 376 Introduction to Computer Graphics 04 / 23 / 2007 Instructor: Michael Eckmann.
Interactive Graphics Lecture 9: Slide 1 Interactive Graphics Lecture 9: Introduction to Spline Curves.
V. Space Curves Types of curves Explicit Implicit Parametric.
Lecture 3 : Direct Volume Rendering Bong-Soo Sohn School of Computer Science and Engineering Chung-Ang University Acknowledgement : Han-Wei Shen Lecture.
Machine Learning CSE 681 CH2 - Supervised Learning.
The Scientific Method Honors Biology Laboratory Skills.
CS 445 / 645 Introduction to Computer Graphics Lecture 23 Bézier Curves Lecture 23 Bézier Curves.
Curves.
Time Series Data Analysis - I Yaji Sripada. Dept. of Computing Science, University of Aberdeen2 In this lecture you learn What are Time Series? How to.
Quadratic Surfaces. SPLINE REPRESENTATIONS a spline is a flexible strip used to produce a smooth curve through a designated set of points. We.
Curves. First of all… You may ask yourselves “What did those papers have to do with computer graphics?” –Valid question Answer: I thought they were cool,
Curves and Surfaces Chapter 10. CS 480/680 2Chapter 9 -- Hierarchical Models Introduction: Introduction: Until now we have worked with flat entities such.
Numerical Methods.
Volume Visualization Presented by Zhao, hai. What’ volume visualization Volume visualization is the creation of graphical representations of data sets.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS Representation of Curves and Surfaces Graphics.
Polynomials, Curve Fitting and Interpolation. In this chapter will study Polynomials – functions of a special form that arise often in science and engineering.
L5 – Curves in GIS NGEN06 & TEK230: Algorithms in Geographical Information Systems by: Sadegh Jamali (source: Lecture notes in GIS, Lars Harrie) 1 L5-
Interactive Graphics Lecture 10: Slide 1 Interactive Computer Graphics Lecture 10 Introduction to Surface Construction.
Principles of Extrapolation
CSCE 441: Keyframe Animation/Smooth Curves (Cont.) Jinxiang Chai.
Designing Parametric Cubic Curves 1. 2 Objectives Introduce types of curves ­Interpolating ­Hermite ­Bezier ­B-spline Analyze their performance.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES
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.
Curves University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
Design and Analysis of Experiments (5) Fitting Regression Models Kyung-Ho Park.
Introduction to Parametric Curve and Surface Modeling.
CS 445 / 645 Introduction to Computer Graphics
Interpolation Methods
Designing Parametric Cubic Curves
© University of Wisconsin, CS559 Spring 2004
Interpolation Methods
SKTN 2393 Numerical Methods for Nuclear Engineers
Introduction to Parametric Curve and Surface Modeling
Type to enter a caption. Computer Graphics Week 10 Lecture 1.
Spline representation. ❖ A spline is a flexible strip used to produce a smooth curve through a designated set of points. ❖ Mathematically describe such.
Presentation transcript:

ENV Envisioning Information Lecture 11 – Scientific Visualization Introduction Scalar 1D Data Ken Brodlie

ENV Data Visualization = Scientific Vis + Information Vis Scientific Visualization –Numerical data from science, engineering and medicine Information Visualization –Numeric and non-numeric data Ozone layer around earth Automobile web site - visualizing links

ENV Images, animation Visualization Reality Data ObservationSimulation Scientific Visualization – What is it?

ENV TIME (mins) OXYGEN (%) This table shows the observed oxygen levels in the flue gas, when coal undergoes combustion in a furnace A Simple Example

ENV Visualizing the Data - but is this what we want to see?

ENV Estimating behaviour between the data - but is this believable?

ENV Now it looks believable… but something is wrong

ENV At least this is credible..

ENV It is not only the data that we wish to visualize - it is also the bits inbetween! The data are samples from some underlying ‘field’ which we wish to understand First step is to create from the data a ‘best’ estimate of the underlying field - we shall call this a MODEL This needs to be done with care and may need guidance from the scientist The process of fitting a continuous curve (or surface, or volume) through given data is known as INTERPOLATION What Have We Learnt?

ENV This process is sometimes called ‘data enrichment’ or ‘enhancement’ If data is sparse, but accurate, we INTERPOLATE to get sufficient data to create a meaningful representation of our model If sparse, but in error, we may need to APPROXIMATE Data Enrichment

ENV Overall the Visualization Process can be divided into four logical operations: –DATA SELECTION: choose the portion of data we want to analyse –DATA ENRICHMENT: interpolating, or approximating raw data - effectively creating a model –MAPPING: conversion of data into a geometric representation –RENDERING: assigning visual properties to the geometrical objects (eg colour, texture) and creating an image The Visualization Process

ENV Data EnrichMapRender Interpolate to create model Select a line graph as technique and create line segments from enriched data Draw line segments on display in suitable colour, line style and width Select Extract part of data we are interested in Back to the simple example

ENV This model has become the basis of a family of visualization software systems – developed from late 1980s Visualization seen as a pipeline of simple processes eg contouring –read in data –create contour lines –draw contour lines Systems provide modules implementing these steps….. Plus a ‘visual programming’ environment to allow user to connect modules together Visualization Software Systems

ENV Visual Programming - IRIS Explorer

ENV Visual programming allows easy experimentation which is what one needs in visualization Examples are: –IRIS Explorer –AVS –OpenDX (grown from IBM Visualization Data Explorer) Visual programming systems

ENV The mapping stage is where we decide which visualization technique to apply to our ‘enriched’ data There are a bewildering range of these techniques - how do we know which to choose? First step is to classify the data into sets and associate different techniques with different sets. Classification of mapping techniques

ENV The underlying field is a function F(x) –F represents the oxygen level and is the DEPENDENT variable –x represents the time and is the INDEPENDENT variable It is a one dimensional scalar field because –the independent variable x is 1D –the dependent variable F is a scalar value Back to the simple example

ENV The underlying field can be regarded as a function of many variables: say F(x) where F and x are both vectors: F = (F 1, F 2,... F m ) x = (x 1, x 2,... x n ) The dimension is n The dependent variable can be scalar (m=1) or vector (m>1) General classification scheme

ENV This leads to a simple classification of data as: E n S/V So the simple example is of type: E 1 S Flow within a volume can be classed as: E 3 V 3 A Simple Notation

ENV Can you give suitable techniques for the following classes: E S 1 E S 2 E S 3 E V 3 3 Exercise

ENV Overview of Visualization Techniques Different techniques for different types of data

ENV Scalar 1D data: E S 1 Scalar: 1 value 1D: value is measured in terms of 1 other variable The humble graph! Clear overlap here between SciVis and InfoVis… A nice example of web-based visualization….

ENV Scalar 2D Data: E S 2 Here is yesterday’s temperature over USA Can you use a 1D technique for this sort of data? Can you improve this visualization?

ENV Scalar 2D Data: E S 2 Here is a surface view of the tsunami… For movies, see: movie

ENV Scalar 3D Data: E S 3 As dimension increases, it becomes harder to visualize on a 2D surface Here we see a lobster within resin.. where the resin is represented as semi- transparent Technique known as volume rendering Image from D. Bartz and M. Meissner

ENV Vector 2D Data:E V2 2 This is a flow field in two dimensions Simple technique is to use arrows.. What are the strengths and weaknesses of this approach? During the module, we will discover better techniques for this

ENV Vector 3D Data:E V3 3 This is flow in a volume Arrows become extremely cluttered Here we are tracing the path of a particle through the volume

ENV Visualization Techniques – Scalar 1D Data

ENV f x Given (x 1,f 1 ), (x 2,f 2 ), (x 3,f 3 ), (x 4,f 4 ) - estimate the value of f at other values of x - say, x*. Suppose x*= D Interpolation – The Problem

ENV f x Take f-value at x* as f-value of nearest data sample. So if x* = 1.75, then f estimated as Nearest Neighbour

ENV f x Join data points with straight lines- read off f-value corresponding to x*.. in the case that x*=1.75, then f estimated as Linear Interpolation

ENV f(x*) = (1-t*) f 1 + t* f 2 The functions j(t)=1-t and k(t)=t are basis functions. OR, saving a multiplication: f(x*) = f 1 + t* ( f 2 - f 1 ) Suppose x* lies between x 1 and x 2. Then apply the transformation: t = (x-x 1 )/(x 2 -x 1 ) so that t goes from 0 to 1. t*=(1.75-1)/(2-1)=0.75 f(1.75)=0.25*1+0.75*3 =2.5 f(1.75)=1+0.75*(3-1) =2.5 Linear Interpolation – Doing the Calculation x1x1 x2x2 f1f1 f2f2 01 t* x* f*

ENV Nearest Neighbour –Very fast : no arithmetic involved –Continuity : discontinuous value –Bounds : bounds fixed at data extremes Linear Interpolation –Fast : one multiply, one divide –Continuity : value only continuous, not slope (C 0 ) –Bounds : bounds fixed at data extremes Nearest Neighbour and Linear Interpolation

ENV Drawing a Smooth Curve Rather than straight line between points, we create a curve piece x1x1 x2x2 f1f1 f2f2 g1g1 g2g2 We estimate the slopes g 1 and g 2 at the data points, and construct curve which has these values and these slopes at end-points

ENV Slopes estimated as some average of the slopes of adjacent chords - eg to estimate slope at x 2   x1x1 x2x2 x3x3 g2g2 f2f2 f1f1 f3f3 g 2 usually arithmetic mean (ie average) of        (f 2 -f 1 )/(x 2 -x 1 ) Slope Estimation

ENV x1x1 x2x2 f1f1 f2f2 g1g1 g2g2 f(x) = c 1 (x) * f 1 + c 2 (x) * f 2 + h*(d 1 (x) * g 1 - d 2 (x) * g 2 ) c i (x), d i (x) are cubic Hermite basis functions, h = x 2 – x 1. Once the slopes at x 1 and x 2 are known, this is sufficient to define a unique cubic polynomial in the interval [x 1,x 2 ] Piecewise Cubic Interpolation

ENV Cubic Hermite Basis Functions Here they are: Again set t = (x - x 1 )/(x 2 – x 1 ) c 1 (t) = 3(1-t) 2 - 2(1-t) 3 c 2 (t) = 3t 2 - 2t 3 d 1 (t) = (1-t) 2 - (1-t) 3 d 2 (t) = t 2 - t 3 Check the values at x = x 1, x 2 (ie t=0,1)

ENV Coal data - cubic interpolation

ENV More computation needed than with nearest neighbour or linear interpolation. Continuity: slope continuity (C 1 ) by construction - and cubic splines will give second derivative continuity (C 2 ) Bounds: bounds not controlled generally - eg if arithmetic mean used in slope estimation... Piecewise Cubic Interpolation

ENV However special choices for slope estimation do give control over shape If the harmonic mean is used 1/g 2 = 0.5 ( 1/  1 + 1/  2 ) then we find that f(x) lies within the bounds of the data Shape Control

ENV Coal data – keeping within the bounds of the data

ENV Rendering Line Graphs The final rendering step is straightforward We can assume that the underlying graphics system will be able to draw straight line segments Thus the linear interpolation case is trivial For curves, we do an approximation as sequence of small line segments