Terrain Sampled height-field 2D or 3D Shading Segmentation Smoothing

Slides:



Advertisements
Similar presentations
Normal Map Compression with ATI 3Dc™ Jonathan Zarge ATI Research Inc.
Advertisements

COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 8, 2014 SPLINES CUBIC CURVES HERMITE CURVES BÉZIER CURVES B-SPLINES BICUBIC SURFACES SUBDIVISION SURFACES.
T. Bates Hugo A. Owens Middle School
Classes of Polygons Planar polygons Non-planar polygons Simple
Subdivision Curves & Surfaces and Fractal Mountains. CS184 – Spring 2011.
Topographic Maps.
CDS 301 Fall, 2009 Scalar Visualization Chap. 5 September 24, 2009 Jie Zhang Copyright ©
Raster Data. The Raster Data Model The Raster Data Model is used to model spatial phenomena that vary continuously over a surface and that do not have.
Vocabulary 2.2 – Curves and two dimensional figures (part 1) MA418 Spring 2010 McAllister.
6.1 Vis_04 Data Visualization Lecture 6 - A Rough Guide to Rendering.
From Topographic Maps to Digital Elevation Models Daniel Sheehan IS&T Academic Computing Anne Graham MIT Libraries.
Contour lines. Contour lines: curved lines drawn on the map, connecting points having the same elevation.
Multi-Scale Surface Descriptors Gregory Cipriano, George N. Phillips Jr., and Michael Gleicher.
Terrain Mapping and Analysis
Curves and Surfaces (cont’) Amy Zhang. Conversion between Representations  Example: Convert a curve from a cubic B-spline curve to the Bézier form:
10/21/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Terrain Dynamic LOD.
Polygon Shading. Assigning color to a shape to make graphical scenes look realistic, or artistic, or whatever effect we’re attempting to achieve But first.
CS 450: Computer Graphics REVIEW: OVERVIEW OF POLYGONS
ELEMENTS OF ART Building Blocks.
Scalar Visualization Chap. 5 September 23, 2008 Jie Zhang Copyright ©
Collision handling: detection and response
COMP 261 Lecture 16 3D Rendering. input: set of polygons viewing direction direction of light source(s) size of window. output: an image Actions rotate.
Studying a Reflection. Create a reflection Place the Communicator ® on top of the Transformation Grid and Chart template Locate the three vertices: A(1,0),
Chapter 3 Section 1- Finding Locations on Earth
Marching Cubes: A High Resolution 3D Surface Construction Algorithm William E. Lorenson Harvey E. Cline General Electric Company Corporate Research and.
CS447/ Realistic Rendering -- Radiosity Methods-- Introduction to 2D and 3D Computer Graphics.
Computer Graphics Basic 3D Geometry CO2409 Computer Graphics Week 5-1.
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.
Lesson 3: Rotating Shapes. Some Things to Remember… Visualize how the shape is rotating Visualize how the shape is rotating What is a 90° turn? What is.
Constructing cross sections Starter: look at these diagrams of contour lines. 1.Describe the relief for the first 3 contours 2.Which direction would the.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2015.
Artistic Surface Rendering Using Layout Of Text Tatiana Surazhsky Gershon Elber Technion, Israel Institute of Technology.
CS 325 Introduction to Computer Graphics 03 / 29 / 2010 Instructor: Michael Eckmann.
Maps. What do we need in order to read a map? Direction Scale Legend.
Representation and modelling 3 – landscape specialisations 4.1 Introduction 4.2 Simple height field landscapes 4.3 Procedural modeling of landscapes- fractals.
Visual Computing Computer Vision 2 INFO410 & INFO350 S2 2015
Interactive Graphics Lecture 10: Slide 1 Interactive Computer Graphics Lecture 10 Introduction to Surface Construction.
CHAPTER 5 CONTOURING. 5.3 CONTOURING Fig 5.7. Relationship between color banding and contouring Contour line (isoline): the same scalar value, or isovalue.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
Introduction to Meshes Lecture 22 Mon, Oct 20, 2003.
CDS 301 Fall, 2008 From Graphics to Visualization Chap. 2 Sep. 3, 2009 Jie Zhang Copyright ©
DPL3/10/2016 CS 551/651: Simplification Continued David Luebke
Project 4 Relief Map Fri, Oct 24, 2003 Due Fri, Oct 31, 2003.
Global predictors of regression fidelity A single number to characterize the overall quality of the surrogate. Equivalence measures –Coefficient of multiple.
Illumination and Shading. Illumination (Lighting) Model the interaction of light with surface points to determine their final color and brightness OpenGL.
Maps. What do we need in order to read a map? Direction Scale Legend.
COMPUTER GRAPHICS CHAPTERS CS 482 – Fall 2017 SPLINES
3 Norths and Basic Map Reading
CSc4730/6730 Scientific Visualization
Topographic Maps.
Computer Vision Lecture 4: Color
© University of Wisconsin, CS559 Fall 2004
CSC461: Lecture 23 Shading Computation
Chapter 1, Lesson 2, Topographic and Geologic Maps 1
Chapter 1, Lesson 2, Topographic and Geologic Maps 1
Spatial interpolation
The Building Blocks of Artworks
Visualization CSE 694L Roger Crawfis The Ohio State University.
Map Reading Basic.
Iso-Surface extraction from red and green samples on a regular lattice
Topographic Maps.
Topographic Maps.
T. Bates Hugo A. Owens Middle School
T. Bates Hugo A. Owens Middle School
T. Bates Hugo A. Owens Middle School
T. Bates Hugo A. Owens Middle School
Topography shape of the earth’s surface.
Introduction to Meshes
Today: Understanding Topographic Maps
Line Shape Value Form Color Texture Space
Presentation transcript:

Terrain Sampled height-field 2D or 3D Shading Segmentation Smoothing Iso-contours Project 2: Color ground and lakes

2D or 3D visualization? Regular (x,y) grid, a scalar value (Z[x,y]) per sample View as an image: map Z to color View as height-field (map Z to height, and color) Discuss Pros & Cons of each

Shading Color (hue…) depends on scalar value (height) Non-linear mapping that helps interpretation Intensity of reflected light depends on surface normal Typically computed from a triangulation of the quad

Shading quads Z[x,y] (x,y) (x+1,y)

Segmentation Split terrain into distinct regions. How are regions defined? computed? visualized? Examples of regions Height spans Normalize to total height range Divide into spans (Number? Uniform?) Assign color to each (snowy tops, green valleys) Vary intensity or color ramp within each interval By slope Use different color for steep parts (grey cliffs) By curvature Concave, convex, saddle Expected benefits of segmentation? Possible drawbacks of segmentation?

Slope How to compute slope? C Map slope-to-color? B A Z[x,y] (x,y) Split each quad into 2 or 4 triangles Compute slope for each triangle Map each slope to a color Map slope-to-color? C B A Z[x,y] (x,y)

Curvature Classify each sample How? How to shade the surface? Concave Convex Neither How? How to shade the surface?

Smoothing Predict each height value C” from its neighbors. Use average of cubic predictions in x and in y Compute vector L2 towards predicted value Move each height towards its predicted value Repeat How to identify outliers? Acquisition errors How to correct them?

Smoothing code vec cubic (pt A, pt B, pt C, pt D, pt E) {return(new vec( (-A.x+4*B.x-6*C.x+4*D.x-E.x)/6, (-A.y+4*B.y-6*C.y+4*D.y-E.y)/6, (-A.z+4*B.z-6*C.z+4*D.z-E.z)/6 ));} vec cubicFitX(int i, int j) { return(cubic(G[i-2][j], G[i-1][j],G[i][j],G[i+1][j],G[i+2][j] ));} vec cubicFitY(int i, int j) { return(cubic(G[i][j-2], G[i][j-1],G[i][j],G[i][j+1],G[i] [j+2] ));} void XYcubicFilter() { for(int k=0; k<20; k++) { for (int i=2; i<n-2; i++) for (int j=2; j<n-2; j++) L[i][j]=average(cubicFitX(i,j),cubicFitY(i,j)); for (int i=2; i<n-2; i++) for (int j=2; j<n-2; j++) G[i][j].addScaledVec(0.5,L[i][j]); }; }

Subdivision Double the resolution: Subdivide in x (as discussed in earlier lecture) Subdivide in y Repeat if desired

Iso-contours Ch = All points of a given height h (green curves) Closed loops (unless clipped by border of domain) Iso-contours may be nested

Vertices of an iso-contour Ch A vertex is height if its height > h, and low otherwise An edge joining high & low vertices is a stick How to estimate the point where Ch crosses the stick? What assumption are we making? z=h A B d 1 z=h A B d 1

Loops of an iso-contour Ch Loop over all edges If you find an unmarked stick trace its loop marking all sticks that the loop crosses How to trace a loop? What if the loop hits the border? pad domain with a very low border

How to order loops? How to test whether whether a point is inside a loop? How to test whether a loop is inside a loop?

Smoothing iso-contours loops Deform iso-contour in 2D without crossing any grid sample http://www.gvu.gatech.edu/~jarek/papers/Pressing.pdf Constrain vertex to stay on its stick

Spill-over points, lake boundaries What is a lake? How to identify spill-over points? How to define, represent, compute the surfaces of the lakes?

A lake may have islands How to identify island borders? How to render such a lake?

Project 2: Ground color and lakes Start with the terrain viewer code provided Compute color-coding that distinguishes low (green), high (white), intermediate (brown), steep (grey). Assign suitable color ramps to each based on height and argue why they are good. Draw some 20 iso-contours using width 3 red curves Identify all lakes and render their surface (flat) in semi-transparent blue color Deliver: Viewer: applet, instructions, source code Report: 2 pages with images and references Explain, justify, evaluate your solution for the color ramps and for the lake boundaries

Different visualizations

Questions Pros & const of 3D vs 2D terrain visualization Pros & cons of segmentation How to perform smoothing on a terrain data How to identify and correct outliers How to compute the vertices of an iso-contour How to trace the loops of an iso-contour How to identify saddle points and spill-over points