Physical Modeling and Surface Detection. CS116B Chris Pollett Mar. 14, 2005.

Similar documents
Visualization. Images are used to aid in understanding of data. Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26]

Visualization Computer Graphics I Lecture 20

More Visible Surface Detection. CS116B Chris Pollett Mar. 16, 2005.

CEng 477 Introduction to Computer Graphics Fall 2007

4.5 VISIBLE SURFACE DETECTION METHODES

11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes

Visualization. CSCI 420 Computer Graphics Lecture 26

9. Three Dimensional Object Representations

Previously... contour or image rendering in 2D

Introduction to Mathematica and Graphing in 3-Space

Visible Surface Detection Methods

Clipping. CSC 7443: Scientific Information Visualization

Find the specific function values. Complete parts (a) through (d) below. f (x,y,z) = x y y 2 + z = (Simplify your answer.) ID: 14.1.

Identifying those parts of a scene that are visible from a chosen viewing position, and only process (scan convert) those parts

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Functions. Name. Use an XY Coordinate Pegboard to graph each line. Make a table of ordered pairs for each line. y = x + 5 x y.

Size Transformations in the Coordinate Plane

Visualization Computer Graphics I Lecture 20

Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University

Visible Surface Detection. (Chapt. 15 in FVD, Chapt. 13 in Hearn & Baker)

CS184 : Foundations of Computer Graphics Professor David Forsyth Final Examination

Werner Purgathofer

Intro to Modeling Modeling in 3D

Unit 7. Transformations

Data analysis with ParaView CSMP Workshop 2009 Gillian Gruen

Computer Graphics II

9. Visible-Surface Detection Methods

The Graphics Pipeline. Interactive Computer Graphics. The Graphics Pipeline. The Graphics Pipeline. The Graphics Pipeline: Clipping

CS184 : Foundations of Computer Graphics Professor David Forsyth Final Examination (Total: 100 marks)

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

CS 130. Scan Conversion. Raster Graphics

Chapter 1. Linear Equations and Straight Lines. 2 of 71. Copyright 2014, 2010, 2007 Pearson Education, Inc.

Volume Rendering. Computer Animation and Visualisation Lecture 9. Taku Komura. Institute for Perception, Action & Behaviour School of Informatics

Scalar Field Visualization. Some slices used by Prof. Mike Bailey

Computer Graphics Viewing

Data Visualization (DSC 530/CIS )

Surface and Solid Geometry. 3D Polygons

RASTERIZING POLYGONS IN IMAGE SPACE

CS488. Visible-Surface Determination. Luc RENAMBOT

Lecture 3 Sections 2.2, 4.4. Mon, Aug 31, 2009

Chapter 2: Transformations. Chapter 2 Transformations Page 1

Section Graphs and Lines

Homework #2. Shading, Ray Tracing, and Texture Mapping

3. The domain of a function of 2 or 3 variables is a set of pts in the plane or space respectively.

Computer Graphics and Image Processing Ray Tracing I

The Three Dimensional Coordinate System

12.4 Rotations. Learning Objectives. Review Queue. Defining Rotations Rotations

Page 1. Area-Subdivision Algorithms z-buffer Algorithm List Priority Algorithms BSP (Binary Space Partitioning Tree) Scan-line Algorithms

Camera Model and Calibration

Sec 4.1 Coordinates and Scatter Plots. Coordinate Plane: Formed by two real number lines that intersect at a right angle.

Wednesday, November 7, 2018

Name: Unit 7 Beaumont Middle School 8th Grade, Introduction to Algebra

Homework #2 and #3 Due Friday, October 12 th and Friday, October 19 th

Resampling Scattered Data into a Regular Grid

COMP30019 Graphics and Interaction Scan Converting Polygons and Lines

CSCI 4620/8626. Coordinate Reference Frames

lecture 21 volume rendering - blending N layers - OpenGL fog (not on final exam) - transfer functions - rendering level surfaces

Topic 10: Scene Management, Particle Systems and Normal Mapping. CITS4242: Game Design and Multimedia

Dithering and Rendering. CS116B Chris Pollett Apr 18, 2004.

COMP30019 Graphics and Interaction Perspective Geometry

Data Visualization (DSC 530/CIS )

Consider a partially transparent object that is illuminated with two lights, one visible from each side of the object. Start with a ray from the eye

Shadows in the graphics pipeline

Computer Graphics. Lecture 9 Environment mapping, Mirroring

Chapter 5. Projections and Rendering

Computer Graphics. Bing-Yu Chen National Taiwan University

Ray Tracing. Foley & Van Dam, Chapters 15 and 16

2.1 Transforming Linear Functions

Ray Tracing Foley & Van Dam, Chapters 15 and 16

Simulation of Flow Development in a Pipe

Section 12.1 Translations and Rotations

Volume Shadows Tutorial Nuclear / the Lab

Rigid Motion vs. Non-rigid Motion Transformations

3D graphics, raster and colors CS312 Fall 2010

Unit 1 NOTES Honors Math 2 1

Topics and things to know about them:

Introduction to 3D Concepts

Notes on Assignment. Notes on Assignment. Notes on Assignment. Notes on Assignment

Lecture 4. Viewing, Projection and Viewport Transformations

Drawing Fast The Graphics Pipeline

Billboards!! A texture mapped polygon, which always faces the viewer

CIS 467/602-01: Data Visualization

CS 130 Exam I. Fall 2015

MODELING AND HIERARCHY

4: Polygons and pixels

Institutionen för systemteknik

Lecture overview. Visualisatie BMT. Fundamental algorithms. Visualization pipeline. Structural classification - 1. Structural classification - 2

12.5 Lines and Planes in 3D Lines: We use parametric equations for 3D lines. Here s a 2D warm-up:

Functions of Several Variables

Lesson 1 4 Ordered Pairs and Relations.notebook. September 10, Lesson 1 4. Ordered Pairs and Relations

Scalar Field Visualization I

Chapter 13 - Modifiers

Topic 1.6: Lines and Planes

ax + by = 0. x = c. y = d.

Scalar Visualization

Computer Graphics. Rendering. by Brian Wyvill University of Calgary. cpsc/enel P 1

Lesson 19: The Graph of a Linear Equation in Two Variables is a Line

Computer Science 426 Midterm 3/11/04, 1:30PM-2:50PM

COMPUTER AIDED ARCHITECTURAL GRAPHICS FFD 201/Fall 2013 HAND OUT 1 : INTRODUCTION TO 3D

Graphics for VEs. Ruth Aylett

Transcription:

Physical Modeling and Surface Detection CS116B Chris Pollett Mar. 14, 2005.

Outline Particle Systems Physical Modeling and Visualization Classification of Visible Surface Detection Algorithms Back Face Detection The Depth Buffer Method

Particle Systems It is often useful to describe an object as a collection of disjoint pieces. Such an object is called a particle system. Particle systems can be useful for modeling things like smoke, fluids, explosions, grass, etc. As an example, to create fireworks, start with a collection of particle spheres drawn at some single fixed point. Shoot the particles out from this point in different, random directions and add gravity.

Physical Modeling Non-rigid objects, such as rope, cloth,etc, can be modeled with physically based modeling techniques. For instance, a cloth might be modeled as a grid of mass points connected by strings. Force equation for such a spring given F = kx. Can model how mass points move when other forces like gravity are applied. Then one can texture map polygons faces of grid of mass points to draw the final object.

Visualization of Data Sets Scalar Fields -- function from several dimensions into one. For example, f(x,y) or f(x,y,z). To draw f(x,y) can use elevation grid To draw f(x,y,z) can use pseudo-color methods and assign ranges of values for field different color values. To draw can use contour plots of f(x,y) =c or f(x,y,z)=c for different c s. 2D-case gives isolines; 3d case gives iso-surfaces.

Representing Vector Fields Functions which take a vector and return a vector. F(x,y,z) or F(x,y). can draw lines and arrows attached to points (x,y,z), or (x,y). Can use field lines

Representing Tensors A tensor of type (p, q) on R n takes p row vectors of length n and q column vectors of length and outputs a scalar. Alternatively, can think of as taking q column vectors and outputting p row vectors of length n. Map must be linear in each argument. Used in talking about materials (stress tensor), fluid dynamics, relativity, etc. To draw one can output tensor contractions of the tensor or can use different colored scalar or vector representations superimposed on the same scene.

Classification of Visible Surface Detection Algorithms Algorithms for determining which surfaces would be visible on the screen can be broken into two broad categories: Object space methods -- these compare objects or parts of objects to figure out who is in front of who. Image space methods -- these compute visibility point by point at each pixel value on the projection plane.

Back Face Detection A point (x,y,z) is said to be behind a polygon surface if Ax + By + Cz +D <0 where A,B,C,D determine the plane of the polygon. If this point is along the line of sight to the surface, then we must be looking at the back of the polygon. Said another way, if N is the normal to the polygon and V view is the viewing vector from the camera position, then the polygon is a back face if V view N >0. If the object has been converted to projection coordinates, then our viewing direction is parallel to the z axis and only need to consider z component of N. So a polygon is a back iff the z component of N, C above, is less than 0.

The Depth Buffer Method This method compares surface depth values throughout a scene for each pixel position on the projection plane. It works for non planar surfaces, but is usually implemented for polygon surfaces. Sometimes called z-buffer method.

Algorithm (x,y) Let depthbuff(x,y) := 1.0, framebuff(x,y) = backgndcolor; //assume 1.0=far Process each polygon in scene one at a time. for each project (x,y) pixel position of a polygon, calculate the depth z. If z<depthbuff(x,y) compute surface color of that polygon, set depthbuff(x,y) =z; framebuff(x,y) =surfcolor(x,y);

More Algorithm At (x,y), depth is calculated from the plane equation as: z= -(Ax+By+D)/C. We want to be able to quickly compute adjacent points on a scan-line. So given z, to calculate depth at (x+1, y) could compute z = z- A/C New x values along an edge of a polygon (changing y value by -1) given by x = x - 1/m, where m is the slope of the line. For this x get: z = z +(A/m+ B)/C. The above thus describes how to quickly compute along a scan line, then how to move to next line.