CSE 554 Lecture 6: Fairing and Simplification

Size: px
Start display at page:

Download "CSE 554 Lecture 6: Fairing and Simplification"

Transcription

1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012 CSE554 Fairing and simplification Slide 1 Review Iso-contours in grayscale images and volumes Piece-wise linear representations Polylines (2D) and meshes (3D) Primal and dual methods Marching Squares (2D) and Cubes (3D) Dual Contouring (2D,3D) Acceleration using trees Quadtree (2D), Octree (3D) Interval trees CSE554 Fairing and simplification Slide 2 1

2 Geometry Processing Fairing (smoothing) Relocating vertices to achieve a smoother appearance Simplification Reducing vertex count Deformation Relocating vertices guided by user interaction or to fit onto a target CSE554 Fairing and simplification Slide 3 Points and Vectors Same representation x, y or x, y, z 2 Y p 1, 2 p 2, 2 v 1, 2 v 1, 2 Different meaning: 1 2 x Point: a fixed location (relative to {0,0} or {0,0,0}) Vector: a direction and magnitude No location (any location is possible) CSE554 Fairing and simplification Slide 4 2

3 Point Operations Subtraction Result is a vector p 2 p 1 v p 2 x p 1x,p 2y p 1y Addition with a vector v p 2 Result is a point p 1 v p 2 p 1 x v x,p 1 y v y p 1 Can points add? Not yet CSE554 Fairing and simplification Slide 5 Vector Operations Addition/Subtraction Result is a vector v 1 v 2 v 1 x v 2x,v 1y v 2y v 2 Scaling by a scalar Result is a vector s v s v x,s v y Magnitude Result is a scalar v v 2 2 x v y v 1 v v 1 s* v v 2 A unit vector: v 1 To make a unit vector (normalization): v v CSE554 Fairing and simplification Slide 6 3

4 Adding Points Affine combinations Weighted addition of points where all weights sum to 1 n w i p i p, n where w i 1 p 1 v 2 p 2 Result is another point Same as adding scaled vectors to a point v 3 p v4 n n w i p i n n w i p i p 1 w i v i p 1 w i p 1 p 3 p 4 CSE554 Fairing and simplification Slide 7 Adding Points Affine combinations: examples Mid-point of two points p p 1 p 2 2 Linear interpolation of two points p 1 p 1 p 2 p p 1 p 2 p 1 p 1 p 2 Centroid of multiple points n p p i n p 1 p 2 p p 3 p 4 CSE554 Fairing and simplification Slide 8 4

5 Geometry Processing Fairing (smoothing) Relocating vertices to achieve a smoother appearance Simplification Reducing vertex count CSE554 Fairing and simplification Slide 9 Fairing (2D) Reducing bumpiness by changing the vertex locations CSE554 Fairing and simplification Slide 10 5

6 Fairing (2D) What is a bump? A vertex far from the mid-point of its two neighbors A big bump A small bump CSE554 Fairing and simplification Slide 11 Fairing (2D) Fairing by mid-point averaging Moving each vertex towards the mid-point of its two neighbors Using linear interpolation : some value between 0 and 1 Iterative fairing Controls how far p moves away from p At each iteration, update all vertices using locations in the previous iteration A p' 1 p p 1 p 2 close to 1 will create oscillation Typically p 1 p' p 1 p 2 p 1 p 2 2 CSE554 Fairing and simplification Slide 12 6

7 Fairing (2D) Drawback The initial shape is shrunk! 100 iterations 200 iterations 400 iterations CSE554 Fairing and simplification Slide 13 Fairing (2D) Non-shrinking mid-point averaging [Taubin 1995] Alternate between two kinds of iterations with different Odd iterations: Odd 0.5 (positive) Shrinking the shape Even iterations: Even 1 1 : typically 0.1 Odd (negative) Expanding the shape CSE554 Fairing and simplification Slide 14 7

8 Fairing (2D) The initial shape is no longer shrunk The result converges with increasing iterations 100 iterations 200 iterations 400 iterations CSE554 Fairing and simplification Slide 15 Fairing (3D) Fairing by centroid averaging Moving each vertex towards the centroid of its edge-adjacent neighbors (called the 1-ring neighbors) Linear interpolation p 1 p 5 m p i p' 1 p m centroid p 2 p p 4 Iterative, non-shrinking fairing Alternate between shrinking and expanding p 3 Same choices of as in 2D Each iteration updates all vertices using locations in the previous iteration CSE554 Fairing and simplification Slide 16 8

9 Fairing (3D) Example: fairing iso-surface of a binary volume CSE554 Fairing and simplification Slide 17 Fairing Implementation Tips At each iteration, keep two copies of locations of all vertices Store the smoothed location of each vertex in another list separate from the current locations Building an adjacency table storing the neighbors of each vertex would be helpful, but not necessary Initialize the centroid as {0,0,0} at each vertex, and its neighbor count as 0. For each triangle, add the coordinates of each vertex to the centroids stored at the other two vertices and increment their neighbor count. The neighbor count is twice the actual # of edge neighbors For each vertex, divide the centroid by its neighbor count. CSE554 Fairing and simplification Slide 18 9

10 More Vector Operations Dot product (in both 2D and 3D) Result is a scalar v 1 v 2 v 1 v 2 Cos In coordinates (simple!) v 1 a 2D: 3D: v 1 v 2 v 1 x v 2x v 1y v 2y v 1 v 2 v 1 x v 2x v 1y v 2y v 1z v 2z v 2 Matrix product between a row and a column vector CSE554 Fairing and simplification Slide 19 More Vector Operations Uses of dot products Angle between vectors: ArcCos v 1 v 2 v 1 v 2 v 1 a Orthogonal: v 1 v 2 0 v 2 Projected length of v 1 onto v 2 : h v 1 v 2 v 2 v 1 h v 2 CSE554 Fairing and simplification Slide 20 10

11 More Vector Operations Cross product (only in 3D) Result is another 3D vector Direction: Normal to the plane where both vectors lie (right-hand rule) Magnitude: v 1 v 2 v 1 v 2 Sin In coordinates: v 1 v 2 v 1 y v 2z v 1z v 2y,v 1z v 2x v 1x v 2z,v 1x v 2y v 1y v 2x v1 v2 a v 2 v 1 CSE554 Fairing and simplification Slide 21 More Vector Operations Uses of cross products Getting the normal vector of the plane E.g., the normal of a triangle formed by v 1 v 2 Computing area of the triangle formed by v 1 v 2 v 1 v 2 Area 2 v1 v2 v 2 Testing if vectors are parallel: v 1 v 2 0 v 1 CSE554 Fairing and simplification Slide 22 11

12 More Vector Operations Dot Product Cross Product Distributive? v v 1 v 2 v v 1 v v 2 v v 1 v 2 v v 1 v v 2 Commutative? v 1 v 2 v 2 v 1 v 1 v 2 v 2 v 1 (Sign change!) Associative? v 1 v 2 v 3 v 1 v 2 v 3 v 1 v 2 v 3 CSE554 Fairing and simplification Slide 23 Geometry Processing Fairing (smoothing) Relocating vertices to achieve a smoother appearance Simplification Reducing vertex count CSE554 Fairing and simplification Slide 24 12

13 Simplification (2D) Representing the shape with fewer vertices (and edges) 200 vertices 50 vertices CSE554 Fairing and simplification Slide 25 Simplification (2D) If I want to replace two vertices with one, where should it be? CSE554 Fairing and simplification Slide 26 13

14 Simplification (2D) If I want to replace two vertices with one, where should it be? Shortest distances to the supporting lines of involved edges After replacement: CSE554 Fairing and simplification Slide 27 Simplification (2D) Distance to a line Line represented as a point q on the line, and a perpendicular unit vector (the normal) n To get n: take a vector {x,y} along the line, n is {-y,x} followed by normalization Distance from any point p to the line: p q n Projection of vector (p-q) onto n This distance has a sign Above or under of the line n p We will use the distance squared Line q CSE554 Fairing and simplification Slide 28 14

15 Simplification (2D) Closed point to multiple lines Sum of squared distances from p to all lines (Quadratic Error Metric, QEM) Input lines: q 1, n 1,..., q m, n m m QEM p p q i n i 2 We want to find the p with the minimum QEM Since QEM is a convex quadratic function of p, the minimizing p is where the derivative of QEM is zero, which is a linear equation QEM p p 0 CSE554 Fairing and simplification Slide 29 Simplification (2D) Minimizing QEM Writing QEM in matrix form m QEM p p q i n i 2 p p x p y Row vector Matrix transpose QEM p p a p T 2p b c [Eq. 1] Matrix (dot) product a m n i x n ix m n i x n iy m n i x n iy n i y n iy m b m n i x n i q i m n i y n i q i m c n i q i 2 2x2 matrix 1x2 column vector Scalar CSE554 Fairing and simplification Slide 30 15

16 Simplification (2D) Minimizing QEM QEM p p a p T 2p b c Solving the zero-derivative equation: QEM p p 2 a p T 2 b 0 a p T b [Eq. 2] m n i x n ix n i x n iy m m n i x n iy n i y n iy m p x p y m n i x n i q i n i y n i q i m A linear system with 2 equations and 2 unknowns (p x,p y ) Using Gaussian elimination, or matrix inversion: p T a 1 b CSE554 Fairing and simplification Slide 31 Simplification (2D) What vertices to merge first? Pick the ones that lie on flat regions, or whose replacing vertex introduces least QEM error. CSE554 Fairing and simplification Slide 32 16

17 Simplification (2D) The algorithm Step 1: For each edge, compute the best vertex location to replace that edge, and the QEM at that location. Store that location (called minimizer) and its QEM with the edge. CSE554 Fairing and simplification Slide 33 Simplification (2D) The algorithm Step 1: For each edge, compute the best vertex location to replace that edge, and the QEM at that location. Store that location (called minimizer) and its QEM with the edge. Step 2: Pick the edge with the lowest QEM and collapse it to its minimizer. Update the minimizers and QEMs of the re-connected edges. CSE554 Fairing and simplification Slide 34 17

18 Simplification (2D) The algorithm Step 1: For each edge, compute the best vertex location to replace that edge, and the QEM at that location. Store that location (called minimizer) and its QEM with the edge. Step 2: Pick the edge with the lowest QEM and collapse it to its minimizer. Update the minimizers and QEMs of the re-connected edges. CSE554 Fairing and simplification Slide 35 Simplification (2D) The algorithm Step 1: For each edge, compute the best vertex location to replace that edge, and the QEM at that location. Store that location (called minimizer) and its QEM with the edge. Step 2: Pick the edge with the lowest QEM and collapse it to its minimizer. Update the minimizers and QEMs of the re-connected edges. Step 3: Repeat step 2, until a desired number of vertices is left. CSE554 Fairing and simplification Slide 36 18

19 Simplification (2D) The algorithm Step 1: For each edge, compute the best vertex location to replace that edge, and the QEM at that location. Store that location (called minimizer) and its QEM with the edge. Step 2: Pick the edge with the lowest QEM and collapse it to its minimizer. Update the minimizers and QEMs of the re-connected edges. Step 3: Repeat step 2, until a desired number of vertices is left. CSE554 Fairing and simplification Slide 37 Simplification (2D) Step 1: Computing minimizer and QEM on an edge Consider supporting lines of this edge and adjacent edges Compute and store at the edge: The minimizing location p (Eq. 2) QEM (substitute p into Eq. 1) Used for edge selection in Step 2 p QEM coefficients (a, b, c) Used for fast update in Step 2 Stored at the edge: a, b, c, p, QEM p CSE554 Fairing and simplification Slide 38 19

20 Simplification (2D) Step 2: Collapsing an edge Remove the edge and its vertices a 1, b 1, c 1, p 1, QEM p 1 a, b, c, p, QEM p a 2, b 2, c 2, p 2,QEM p 2 Re-connect two neighbor edges to the minimizer of the removed edge For each re-connected edge: Increment its coefficients by that of the removed edge The coefficients are additive! Re-compute its minimizer and QEM a a 1, b b 1, c c 1, p 1,QEM p 1 p Collapse a a 2, b b 2, c c 2, p 2,QEM p 2 p 1,p 2 : new minimizer locations computed from the updated coefficients CSE554 Fairing and simplification Slide 39 Simplification (3D) The algorithm is similar to 2D Replace two edge-adjacent vertices by one vertex Placing new vertices closest to supporting planes of adjacent triangles Prioritize collapses based on QEM CSE554 Fairing and simplification Slide 40 20

21 Simplification (3D) Distance to a plane (similar to the line case) Plane represented as a point q on the plane, and a unit normal vector n For a triangle: n is the cross-product of two edge vectors Distance from any point p to the plane: p q n Projection of vector (p-q) onto n This distance has a sign n above or below the plane p We use its square q CSE554 Fairing and simplification Slide 41 Simplification (3D) Closest point to multiple planes Input planes: q 1,n 1,..., q m, n m QEM (same as in 2D) m QEM p p q i n i 2 In matrix form: p p x p y p z QEM p p a p T 2p b c a b m c m n i x n ix n i y n ix m m n i z n ix m n i x n iy n i y n iy m m m n i x n i q i n i y n i q i m m n i z n i q i n i q i 2 n i z n iy 3x3 matrix 1x3 column vector Scalar m n i x n iz n i y n iz m m n i z n iz Find p that minimizes QEM: a p T b A linear system with 3 equations and 3 unknowns (p x,p y,p z ) CSE554 Fairing and simplification Slide 42 21

22 Simplification (3D) Step 1: Computing minimizer and QEM on an edge Consider supporting planes of all triangles adjacent to the edge Compute and store at the edge: The minimizing location p QEM[p] QEM coefficients (a, b, c) The supporting planes for all shaded triangles should be considered when computing the minimizer of the middle edge. CSE554 Fairing and simplification Slide 43 Simplification (3D) Step 2: Collapsing an edge Degenerate triangles after collapse Remove the edge with least QEM Re-connect neighbor triangles and edges to the minimizer of the removed edge Remove degenerate triangles Remove duplicate edges For each re-connected edge: Increment its coefficients by that of the removed edge Re-compute its minimizer and QEM Duplicate edges after collapse Collapse CSE554 Fairing and simplification Slide 44 22

23 Simplification (3D) Example: 5600 vertices 500 vertices CSE554 Fairing and simplification Slide 45 Further Readings Fairing: A signal processing approach to fair surface design, by G. Taubin (1995) No-shrinking centroid-averaging Google citations > 1000 Simplification: Surface simplification using quadric error metrics, by M. Garland and P. Heckbert (1997) Edge-collapse simplification Google citations > 2000 CSE554 Fairing and simplification Slide 46 23

Applications. Oversampled 3D scan data. ~150k triangles ~80k triangles

Applications. Oversampled 3D scan data. ~150k triangles ~80k triangles Mesh Simplification Applications Oversampled 3D scan data ~150k triangles ~80k triangles 2 Applications Overtessellation: E.g. iso-surface extraction 3 Applications Multi-resolution hierarchies for efficient

More information

Mesh Repairing and Simplification. Gianpaolo Palma

Mesh Repairing and Simplification. Gianpaolo Palma Mesh Repairing and Simplification Gianpaolo Palma Mesh Repairing Removal of artifacts from geometric model such that it becomes suitable for further processing Input: a generic 3D model Output: (hopefully)a

More information

CGAL. Mesh Simplification. (Slides from Tom Funkhouser, Adam Finkelstein)

CGAL. Mesh Simplification. (Slides from Tom Funkhouser, Adam Finkelstein) CGAL Mesh Simplification (Slides from Tom Funkhouser, Adam Finkelstein) Siddhartha Chaudhuri http://www.cse.iitb.ac.in/~cs749 In a nutshell Problem: Meshes have too many polygons for storage, rendering,

More information

Geometric Features for Non-photorealistiic Rendering

Geometric Features for Non-photorealistiic Rendering CS348a: Computer Graphics Handout # 6 Geometric Modeling and Processing Stanford University Monday, 27 February 2017 Homework #4: Due Date: Mesh simplification and expressive rendering [95 points] Wednesday,

More information

Multi-View Matching & Mesh Generation. Qixing Huang Feb. 13 th 2017

Multi-View Matching & Mesh Generation. Qixing Huang Feb. 13 th 2017 Multi-View Matching & Mesh Generation Qixing Huang Feb. 13 th 2017 Geometry Reconstruction Pipeline RANSAC --- facts Sampling Feature point detection [Gelfand et al. 05, Huang et al. 06] Correspondences

More information

Mesh Decimation. Mark Pauly

Mesh Decimation. Mark Pauly Mesh Decimation Mark Pauly Applications Oversampled 3D scan data ~150k triangles ~80k triangles Mark Pauly - ETH Zurich 280 Applications Overtessellation: E.g. iso-surface extraction Mark Pauly - ETH Zurich

More information

Mesh Simplification. Mesh Simplification. Mesh Simplification Goals. Mesh Simplification Motivation. Vertex Clustering. Mesh Simplification Overview

Mesh Simplification. Mesh Simplification. Mesh Simplification Goals. Mesh Simplification Motivation. Vertex Clustering. Mesh Simplification Overview Mesh Simplification Mesh Simplification Adam Finkelstein Princeton University COS 56, Fall 008 Slides from: Funkhouser Division, Viewpoint, Cohen Mesh Simplification Motivation Interactive visualization

More information

Geometric Modeling. Mesh Decimation. Mesh Decimation. Applications. Copyright 2010 Gotsman, Pauly Page 1. Oversampled 3D scan data

Geometric Modeling. Mesh Decimation. Mesh Decimation. Applications. Copyright 2010 Gotsman, Pauly Page 1. Oversampled 3D scan data Applications Oversampled 3D scan data ~150k triangles ~80k triangles 2 Copyright 2010 Gotsman, Pauly Page 1 Applications Overtessellation: E.g. iso-surface extraction 3 Applications Multi-resolution hierarchies

More information

Surface Simplification Using Quadric Error Metrics

Surface Simplification Using Quadric Error Metrics Surface Simplification Using Quadric Error Metrics Authors: Michael Garland & Paul Heckbert Presented by: Niu Xiaozhen Disclaimer: Some slides are modified from original slides, which were designed by

More information

Progressive Mesh. Reddy Sambavaram Insomniac Games

Progressive Mesh. Reddy Sambavaram Insomniac Games Progressive Mesh Reddy Sambavaram Insomniac Games LOD Schemes Artist made LODs (time consuming, old but effective way) ViewDependentMesh (usually used for very large complicated meshes. CAD apps. Probably

More information

Appearance Preservation

Appearance Preservation CS 283 Advanced Computer Graphics Mesh Simplification James F. O Brien Professor U.C. Berkeley Based on slides by Ravi Ramamoorthi 1 Appearance Preservation Caltech & Stanford Graphics Labs and Jonathan

More information

A NON-TRIGONOMETRIC, PSEUDO AREA PRESERVING, POLYLINE SMOOTHING ALGORITHM

A NON-TRIGONOMETRIC, PSEUDO AREA PRESERVING, POLYLINE SMOOTHING ALGORITHM A NON-TRIGONOMETRIC, PSEUDO AREA PRESERVING, POLYLINE SMOOTHING ALGORITHM Wayne Brown and Leemon Baird Department of Computer Science The United States Air Force Academy 2354 Fairchild Dr., Suite 6G- USAF

More information

As a consequence of the operation, there are new incidences between edges and triangles that did not exist in K; see Figure II.9.

As a consequence of the operation, there are new incidences between edges and triangles that did not exist in K; see Figure II.9. II.4 Surface Simplification 37 II.4 Surface Simplification In applications it is often necessary to simplify the data or its representation. One reason is measurement noise, which we would like to eliminate,

More information

Shape from LIDAR Data. Univ. of Florida

Shape from LIDAR Data. Univ. of Florida Shape from LIDAR Data Yusuf Sahillioğlu Alper Üngör Univ. of Florida 1. Introduction LIght Detection And Ranging systems, LIDAR, are capable of acquiring data to produce accurate digital elevation models

More information

All the Polygons You Can Eat. Doug Rogers Developer Relations

All the Polygons You Can Eat. Doug Rogers Developer Relations All the Polygons You Can Eat Doug Rogers Developer Relations doug@nvidia.com Future of Games Very high resolution models 20,000 triangles per model Lots of them Complex Lighting Equations Floating point

More information

521493S Computer Graphics Exercise 2 Solution (Chapters 4-5)

521493S Computer Graphics Exercise 2 Solution (Chapters 4-5) 5493S Computer Graphics Exercise Solution (Chapters 4-5). Given two nonparallel, three-dimensional vectors u and v, how can we form an orthogonal coordinate system in which u is one of the basis vectors?

More information

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662 Geometry Processing & Geometric Queries Computer Graphics CMU 15-462/15-662 Last time: Meshes & Manifolds Mathematical description of geometry - simplifying assumption: manifold - for polygon meshes: fans,

More information

Multi-level Partition of Unity Implicits

Multi-level Partition of Unity Implicits Multi-level Partition of Unity Implicits Diego Salume October 23 rd, 2013 Author: Ohtake, et.al. Overview Goal: Use multi-level partition of unity (MPU) implicit surface to construct surface models. 3

More information

XPM 2D Transformations Week 2, Lecture 3

XPM 2D Transformations Week 2, Lecture 3 CS 430/585 Computer Graphics I XPM 2D Transformations Week 2, Lecture 3 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel

More information

To Do. Resources. Algorithm Outline. Simplifications. Advanced Computer Graphics (Spring 2013) Surface Simplification: Goals (Garland)

To Do. Resources. Algorithm Outline. Simplifications. Advanced Computer Graphics (Spring 2013) Surface Simplification: Goals (Garland) Advanced omputer Graphics (Spring 213) S 283, Lecture 6: Quadric Error Metrics Ravi Ramamoorthi To Do Assignment 1, Due Feb 22. Should have made some serious progress by end of week This lecture reviews

More information

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS GEOMETRIC TOOLS FOR COMPUTER GRAPHICS PHILIP J. SCHNEIDER DAVID H. EBERLY MORGAN KAUFMANN PUBLISHERS A N I M P R I N T O F E L S E V I E R S C I E N C E A M S T E R D A M B O S T O N L O N D O N N E W

More information

XPM 2D Transformations Week 2, Lecture 3

XPM 2D Transformations Week 2, Lecture 3 CS 430/585 Computer Graphics I XPM 2D Transformations Week 2, Lecture 3 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel

More information

Mesh and Mesh Simplification

Mesh and Mesh Simplification Slide Credit: Mirela Ben-Chen Mesh and Mesh Simplification Qixing Huang Mar. 21 st 2018 Mesh DataStructures Data Structures What should bestored? Geometry: 3D coordinates Attributes e.g. normal, color,

More information

Fast marching methods

Fast marching methods 1 Fast marching methods Lecture 3 Alexander & Michael Bronstein tosca.cs.technion.ac.il/book Numerical geometry of non-rigid shapes Stanford University, Winter 2009 Metric discretization 2 Approach I:

More information

CS 130 Final. Fall 2015

CS 130 Final. Fall 2015 CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying

More information

Vector Algebra Transformations. Lecture 4

Vector Algebra Transformations. Lecture 4 Vector Algebra Transformations Lecture 4 Cornell CS4620 Fall 2008 Lecture 4 2008 Steve Marschner 1 Geometry A part of mathematics concerned with questions of size, shape, and relative positions of figures

More information

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a coordinate system and then the measuring of the point with

More information

X Std. Topic Content Expected Learning Outcomes Mode of Transaction

X Std. Topic Content Expected Learning Outcomes Mode of Transaction X Std COMMON SYLLABUS 2009 - MATHEMATICS I. Theory of Sets ii. Properties of operations on sets iii. De Morgan s lawsverification using example Venn diagram iv. Formula for n( AÈBÈ C) v. Functions To revise

More information

2D Object Definition (1/3)

2D Object Definition (1/3) 2D Object Definition (1/3) Lines and Polylines Lines drawn between ordered points to create more complex forms called polylines Same first and last point make closed polyline or polygon Can intersect itself

More information

Viewing with Computers (OpenGL)

Viewing with Computers (OpenGL) We can now return to three-dimension?', graphics from a computer perspective. Because viewing in computer graphics is based on the synthetic-camera model, we should be able to construct any of the classical

More information

Mesh data structures. Abstract. 1 Introduction. 2 Method. 2.1 Implement the half edge mesh LIU TNM

Mesh data structures. Abstract. 1 Introduction. 2 Method. 2.1 Implement the half edge mesh LIU TNM Mesh data structures Fredrik Salomonsson fresa517@student.liu.se LIU TNM079 2010-05-28 Abstract When dealing with meshes containing large amount of triangles or quadrilaterals one need to have some kind

More information

Geometric Queries for Ray Tracing

Geometric Queries for Ray Tracing CSCI 420 Computer Graphics Lecture 16 Geometric Queries for Ray Tracing Ray-Surface Intersection Barycentric Coordinates [Angel Ch. 11] Jernej Barbic University of Southern California 1 Ray-Surface Intersections

More information

For each question, indicate whether the statement is true or false by circling T or F, respectively.

For each question, indicate whether the statement is true or false by circling T or F, respectively. True/False For each question, indicate whether the statement is true or false by circling T or F, respectively. 1. (T/F) Rasterization occurs before vertex transformation in the graphics pipeline. 2. (T/F)

More information

Introduction to Computer Graphics

Introduction to Computer Graphics Introduction to Computer Graphics 2016 Spring National Cheng Kung University Instructors: Min-Chun Hu 胡敏君 Shih-Chin Weng 翁士欽 ( 西基電腦動畫 ) Data Representation Curves and Surfaces Limitations of Polygons Inherently

More information

CSCI 4620/8626. Coordinate Reference Frames

CSCI 4620/8626. Coordinate Reference Frames CSCI 4620/8626 Computer Graphics Graphics Output Primitives Last update: 2014-02-03 Coordinate Reference Frames To describe a picture, the world-coordinate reference frame (2D or 3D) must be selected.

More information

CT5510: Computer Graphics. Transformation BOCHANG MOON

CT5510: Computer Graphics. Transformation BOCHANG MOON CT5510: Computer Graphics Transformation BOCHANG MOON 2D Translation Transformations such as rotation and scale can be represented using a matrix M.., How about translation? No way to express this using

More information

Scientific Visualization Example exam questions with commented answers

Scientific Visualization Example exam questions with commented answers Scientific Visualization Example exam questions with commented answers The theoretical part of this course is evaluated by means of a multiple- choice exam. The questions cover the material mentioned during

More information

Precalculus Notes: Unit 7 Systems of Equations and Matrices

Precalculus Notes: Unit 7 Systems of Equations and Matrices Date: 7.1, 7. Solving Systems of Equations: Graphing, Substitution, Elimination Syllabus Objectives: 8.1 The student will solve a given system of equations or system of inequalities. Solution of a System

More information

Mesh Decimation Using VTK

Mesh Decimation Using VTK Mesh Decimation Using VTK Michael Knapp knapp@cg.tuwien.ac.at Institute of Computer Graphics and Algorithms Vienna University of Technology Abstract This paper describes general mesh decimation methods

More information

Transforms. COMP 575/770 Spring 2013

Transforms. COMP 575/770 Spring 2013 Transforms COMP 575/770 Spring 2013 Transforming Geometry Given any set of points S Could be a 2D shape, a 3D object A transform is a function T that modifies all points in S: T S S T v v S Different transforms

More information

Geometric transformations assign a point to a point, so it is a point valued function of points. Geometric transformation may destroy the equation

Geometric transformations assign a point to a point, so it is a point valued function of points. Geometric transformation may destroy the equation Geometric transformations assign a point to a point, so it is a point valued function of points. Geometric transformation may destroy the equation and the type of an object. Even simple scaling turns a

More information

Watertight Planar Surface Reconstruction of Voxel Data

Watertight Planar Surface Reconstruction of Voxel Data Watertight Planar Surface Reconstruction of Voxel Data Eric Turner CS 284 Final Project Report December 13, 2012 1. Introduction There are many scenarios where a 3D shape is represented by a voxel occupancy

More information

Graphics and Interaction Transformation geometry and homogeneous coordinates

Graphics and Interaction Transformation geometry and homogeneous coordinates 433-324 Graphics and Interaction Transformation geometry and homogeneous coordinates Department of Computer Science and Software Engineering The Lecture outline Introduction Vectors and matrices Translation

More information

COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates

COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates Department of Computer Science and Software Engineering The Lecture outline Introduction Vectors and matrices Translation

More information

Computer Graphics Ray Casting. Matthias Teschner

Computer Graphics Ray Casting. Matthias Teschner Computer Graphics Ray Casting Matthias Teschner Outline Context Implicit surfaces Parametric surfaces Combined objects Triangles Axis-aligned boxes Iso-surfaces in grids Summary University of Freiburg

More information

Last week. Machiraju/Zhang/Möller

Last week. Machiraju/Zhang/Möller Last week Machiraju/Zhang/Möller 1 Overview of a graphics system Output device Input devices Image formed and stored in frame buffer Machiraju/Zhang/Möller 2 Introduction to CG Torsten Möller 3 Ray tracing:

More information

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

Scalar Field Visualization. Some slices used by Prof. Mike Bailey Scalar Field Visualization Some slices used by Prof. Mike Bailey Scalar Fields The approximation of certain scalar function in space f(x,y,z). Most of time, they come in as some scalar values defined on

More information

Convex Polygon Generation

Convex Polygon Generation Convex Polygon Generation critterai.org /projects/nmgen_study/polygen.html This page describes the forth stage in building a navigation mesh, the generation of convex polygons from the simple polygons

More information

Sung-Eui Yoon ( 윤성의 )

Sung-Eui Yoon ( 윤성의 ) CS480: Computer Graphics Curves and Surfaces Sung-Eui Yoon ( 윤성의 ) Course URL: http://jupiter.kaist.ac.kr/~sungeui/cg Today s Topics Surface representations Smooth curves Subdivision 2 Smooth Curves and

More information

Homework #2. Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves

Homework #2. Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves Computer Graphics Instructor: Brian Curless CSEP 557 Autumn 2016 Homework #2 Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves Assigned: Wednesday, Nov 16 th Due: Wednesday, Nov 30

More information

ECE 600, Dr. Farag, Summer 09

ECE 600, Dr. Farag, Summer 09 ECE 6 Summer29 Course Supplements. Lecture 4 Curves and Surfaces Aly A. Farag University of Louisville Acknowledgements: Help with these slides were provided by Shireen Elhabian A smile is a curve that

More information

Final Project, Digital Geometry Processing

Final Project, Digital Geometry Processing Final Project, Digital Geometry Processing Shayan Hoshyari Student #: 81382153 December 2016 Introduction In this project an adaptive surface remesher has been developed based on the paper [1]. An algorithm

More information

Special Topics in Visualization

Special Topics in Visualization Special Topics in Visualization Final Project Report Dual contouring of Hermite Data Submitted By S M Shahed Nejhum 8589-1199 May 19, 2008 Introduction Iso-surface extraction from 3D volumetric data is

More information

16.410/413 Principles of Autonomy and Decision Making

16.410/413 Principles of Autonomy and Decision Making 16.410/413 Principles of Autonomy and Decision Making Lecture 17: The Simplex Method Emilio Frazzoli Aeronautics and Astronautics Massachusetts Institute of Technology November 10, 2010 Frazzoli (MIT)

More information

CSE 554 Lecture 5: Contouring (faster)

CSE 554 Lecture 5: Contouring (faster) CSE 554 Lecture 5: Contouring (faster) Fall 2016 CSE554 Contouring II Slide 1 Review Iso-contours Points where a function evaluates to be a given value (iso-value) Smooth thresholded boundaries Contouring

More information

Course Number 432/433 Title Algebra II (A & B) H Grade # of Days 120

Course Number 432/433 Title Algebra II (A & B) H Grade # of Days 120 Whitman-Hanson Regional High School provides all students with a high- quality education in order to develop reflective, concerned citizens and contributing members of the global community. Course Number

More information

CHAPTER 1 Graphics Systems and Models 3

CHAPTER 1 Graphics Systems and Models 3 ?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........

More information

Subdivision Surfaces

Subdivision Surfaces Subdivision Surfaces 1 Geometric Modeling Sometimes need more than polygon meshes Smooth surfaces Traditional geometric modeling used NURBS Non uniform rational B-Spline Demo 2 Problems with NURBS A single

More information

Intro to Modeling Modeling in 3D

Intro to Modeling Modeling in 3D Intro to Modeling Modeling in 3D Polygon sets can approximate more complex shapes as discretized surfaces 2 1 2 3 Curve surfaces in 3D Sphere, ellipsoids, etc Curved Surfaces Modeling in 3D ) ( 2 2 2 2

More information

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into 2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel

More information

Problems of Plane analytic geometry

Problems of Plane analytic geometry 1) Consider the vectors u(16, 1) and v( 1, 1). Find out a vector w perpendicular (orthogonal) to v and verifies u w = 0. 2) Consider the vectors u( 6, p) and v(10, 2). Find out the value(s) of parameter

More information

Efficient Representation and Extraction of 2-Manifold Isosurfaces Using kd-trees

Efficient Representation and Extraction of 2-Manifold Isosurfaces Using kd-trees Efficient Representation and Extraction of 2-Manifold Isosurfaces Using kd-trees Alexander Greß and Reinhard Klein University of Bonn Institute of Computer Science II Römerstraße 164, 53117 Bonn, Germany

More information

Large Mesh Deformation Using the Volumetric Graph Laplacian

Large Mesh Deformation Using the Volumetric Graph Laplacian Large Mesh Deformation Using the Volumetric Graph Laplacian Kun Zhou1 Jin Huang2 John Snyder3 Xinguo Liu1 Hujun Bao2 Baining Guo1 Heung-Yeung Shum1 1 Microsoft Research Asia 2 Zhejiang University 3 Microsoft

More information

Barycentric Coordinates and Parameterization

Barycentric Coordinates and Parameterization Barycentric Coordinates and Parameterization Center of Mass Geometric center of object Center of Mass Geometric center of object Object can be balanced on CoM How to calculate? Finding the Center of Mass

More information

Solid Modeling. Michael Kazhdan ( /657) HB , FvDFH 12.1, 12.2, 12.6, 12.7 Marching Cubes, Lorensen et al.

Solid Modeling. Michael Kazhdan ( /657) HB , FvDFH 12.1, 12.2, 12.6, 12.7 Marching Cubes, Lorensen et al. Solid Modeling Michael Kazhdan (601.457/657) HB 10.15 10.17, 10.22 FvDFH 12.1, 12.2, 12.6, 12.7 Marching Cubes, Lorensen et al. 1987 Announcement OpenGL review session: When: Today @ 9:00 PM Where: Malone

More information

A Comparison of Mesh Simplification Algorithms

A Comparison of Mesh Simplification Algorithms A Comparison of Mesh Simplification Algorithms Nicole Ortega Project Summary, Group 16 Browser Based Constructive Solid Geometry for Anatomical Models - Orthotics for cerebral palsy patients - Fusiform

More information

CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2

CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University 1 Outline Math review Introduction to 2D curves

More information

Click on the topic to go to the page

Click on the topic to go to the page Click on the topic to go to the page A B C 3D Pythagoras 3D Trigonometry and Pythagoras accuracy calculation with bounds 164 addition of decimals 389 of fractions 269 of money 457 of negative numbers of

More information

Parameterization. Michael S. Floater. November 10, 2011

Parameterization. Michael S. Floater. November 10, 2011 Parameterization Michael S. Floater November 10, 2011 Triangular meshes are often used to represent surfaces, at least initially, one reason being that meshes are relatively easy to generate from point

More information

CSC Computer Graphics

CSC Computer Graphics // CSC. Computer Graphics Lecture Kasun@dscs.sjp.ac.lk Department of Computer Science University of Sri Jayewardanepura Polygon Filling Scan-Line Polygon Fill Algorithm Span Flood-Fill Algorithm Inside-outside

More information

DIRECT EXTRACTION OF NORMAL MAPS FROM VOLUME DATA. A Thesis. Presented to. the Faculty of California Polytechnic State University.

DIRECT EXTRACTION OF NORMAL MAPS FROM VOLUME DATA. A Thesis. Presented to. the Faculty of California Polytechnic State University. DIRECT EXTRACTION OF NORMAL MAPS FROM VOLUME DATA A Thesis Presented to the Faculty of California Polytechnic State University San Luis Obispo In Partial Fulfillment of the Requirements for the Degree

More information

Marching Squares Algorithm. Can you summarize the marching squares algorithm based on what we just discussed?

Marching Squares Algorithm. Can you summarize the marching squares algorithm based on what we just discussed? Marching Squares Algorithm Can you summarize the marching squares algorithm based on what we just discussed? Marching Squares Algorithm Can you summarize the marching squares algorithm based on what we

More information

Lecture 16: Computer Vision

Lecture 16: Computer Vision CS4442/9542b: Artificial Intelligence II Prof. Olga Veksler Lecture 16: Computer Vision Motion Slides are from Steve Seitz (UW), David Jacobs (UMD) Outline Motion Estimation Motion Field Optical Flow Field

More information

Game Mathematics. (12 Week Lesson Plan)

Game Mathematics. (12 Week Lesson Plan) Game Mathematics (12 Week Lesson Plan) Lesson 1: Set Theory Textbook: Chapter One (pgs. 1 15) We begin the course by introducing the student to a new vocabulary and set of rules that will be foundational

More information

Broad field that includes low-level operations as well as complex high-level algorithms

Broad field that includes low-level operations as well as complex high-level algorithms Image processing About Broad field that includes low-level operations as well as complex high-level algorithms Low-level image processing Computer vision Computational photography Several procedures and

More information

Scanning Real World Objects without Worries 3D Reconstruction

Scanning Real World Objects without Worries 3D Reconstruction Scanning Real World Objects without Worries 3D Reconstruction 1. Overview Feng Li 308262 Kuan Tian 308263 This document is written for the 3D reconstruction part in the course Scanning real world objects

More information

Computer Graphics II

Computer Graphics II Computer Graphics II Autumn 2018-2019 Outline 1 Transformations Outline Transformations 1 Transformations Orthogonal Projections Suppose we want to project a point x onto a plane given by its unit-length

More information

The basics of rigidity

The basics of rigidity The basics of rigidity Lectures I and II Session on Granular Matter Institut Henri Poincaré R. Connelly Cornell University Department of Mathematics 1 What determines rigidity? 2 What determines rigidity?

More information

Introduction to Computer Graphics. Modeling (3) April 27, 2017 Kenshi Takayama

Introduction to Computer Graphics. Modeling (3) April 27, 2017 Kenshi Takayama Introduction to Computer Graphics Modeling (3) April 27, 2017 Kenshi Takayama Solid modeling 2 Solid models Thin shapes represented by single polygons Unorientable Clear definition of inside & outside

More information

9. Three Dimensional Object Representations

9. Three Dimensional Object Representations 9. Three Dimensional Object Representations Methods: Polygon and Quadric surfaces: For simple Euclidean objects Spline surfaces and construction: For curved surfaces Procedural methods: Eg. Fractals, Particle

More information

Curves & Surfaces. Last Time? Progressive Meshes. Selective Refinement. Adjacency Data Structures. Mesh Simplification. Mesh Simplification

Curves & Surfaces. Last Time? Progressive Meshes. Selective Refinement. Adjacency Data Structures. Mesh Simplification. Mesh Simplification Last Time? Adjacency Data Structures Curves & Surfaces Geometric & topologic information Dynamic allocation Efficiency of access Mesh Simplification edge collapse/vertex split geomorphs progressive transmission

More information

Clipping. CSC 7443: Scientific Information Visualization

Clipping. CSC 7443: Scientific Information Visualization Clipping Clipping to See Inside Obscuring critical information contained in a volume data Contour displays show only exterior visible surfaces Isosurfaces can hide other isosurfaces Other displays can

More information

Machine Learning for Signal Processing Lecture 4: Optimization

Machine Learning for Signal Processing Lecture 4: Optimization Machine Learning for Signal Processing Lecture 4: Optimization 13 Sep 2015 Instructor: Bhiksha Raj (slides largely by Najim Dehak, JHU) 11-755/18-797 1 Index 1. The problem of optimization 2. Direct optimization

More information

Digital Image Processing

Digital Image Processing Digital Image Processing Lecture # 4 Digital Image Fundamentals - II ALI JAVED Lecturer SOFTWARE ENGINEERING DEPARTMENT U.E.T TAXILA Email:: ali.javed@uettaxila.edu.pk Office Room #:: 7 Presentation Outline

More information

Digital Geometry Processing. Computer Graphics CMU /15-662

Digital Geometry Processing. Computer Graphics CMU /15-662 Digital Geometry Processing Computer Graphics CMU 15-462/15-662 Last time: Meshes & Manifolds Mathematical description of geometry - simplifying assumption: manifold - for polygon meshes: fans, not fins

More information

Support Vector Machines.

Support Vector Machines. Support Vector Machines srihari@buffalo.edu SVM Discussion Overview 1. Overview of SVMs 2. Margin Geometry 3. SVM Optimization 4. Overlapping Distributions 5. Relationship to Logistic Regression 6. Dealing

More information

Efficient Minimization of New Quadric Metric for Simplifying Meshes with Appearance Attributes

Efficient Minimization of New Quadric Metric for Simplifying Meshes with Appearance Attributes Efficient Minimization of New Quadric Metric for Simplifying Meshes with Appearance Attributes (Addendum to IEEE Visualization 1999 paper) Hugues Hoppe Steve Marschner June 2000 Technical Report MSR-TR-2000-64

More information

Generalized barycentric coordinates

Generalized barycentric coordinates Generalized barycentric coordinates Michael S. Floater August 20, 2012 In this lecture, we review the definitions and properties of barycentric coordinates on triangles, and study generalizations to convex,

More information

CHAPTER - 10 STRAIGHT LINES Slope or gradient of a line is defined as m = tan, ( 90 ), where is angle which the line makes with positive direction of x-axis measured in anticlockwise direction, 0 < 180

More information

Math January, Non-rigid transformations. Parent function New function Scale factor

Math January, Non-rigid transformations. Parent function New function Scale factor Non-rigid transformations In non-rigid transformations, the shape of a function is modified, either stretched or shrunk. We will call the number which tells us how much it is changed the scale factor,

More information

Summer Review for Students Entering Pre-Calculus with Trigonometry. TI-84 Plus Graphing Calculator is required for this course.

Summer Review for Students Entering Pre-Calculus with Trigonometry. TI-84 Plus Graphing Calculator is required for this course. 1. Using Function Notation and Identifying Domain and Range 2. Multiplying Polynomials and Solving Quadratics 3. Solving with Trig Ratios and Pythagorean Theorem 4. Multiplying and Dividing Rational Expressions

More information

ÇANKAYA UNIVERSITY Department of Industrial Engineering SPRING SEMESTER

ÇANKAYA UNIVERSITY Department of Industrial Engineering SPRING SEMESTER TECHNIQUES FOR CONTINOUS SPACE LOCATION PROBLEMS Continuous space location models determine the optimal location of one or more facilities on a two-dimensional plane. The obvious disadvantage is that the

More information

Edge and local feature detection - 2. Importance of edge detection in computer vision

Edge and local feature detection - 2. Importance of edge detection in computer vision Edge and local feature detection Gradient based edge detection Edge detection by function fitting Second derivative edge detectors Edge linking and the construction of the chain graph Edge and local feature

More information

coding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight

coding of various parts showing different features, the possibility of rotation or of hiding covering parts of the object's surface to gain an insight Three-Dimensional Object Reconstruction from Layered Spatial Data Michael Dangl and Robert Sablatnig Vienna University of Technology, Institute of Computer Aided Automation, Pattern Recognition and Image

More information

Data Analysis 3. Support Vector Machines. Jan Platoš October 30, 2017

Data Analysis 3. Support Vector Machines. Jan Platoš October 30, 2017 Data Analysis 3 Support Vector Machines Jan Platoš October 30, 2017 Department of Computer Science Faculty of Electrical Engineering and Computer Science VŠB - Technical University of Ostrava Table of

More information

CS770/870 Spring 2017 Ray Tracing Implementation

CS770/870 Spring 2017 Ray Tracing Implementation Useful ector Information S770/870 Spring 07 Ray Tracing Implementation Related material:angel 6e: h.3 Ray-Object intersections Spheres Plane/Polygon Box/Slab/Polyhedron Quadric surfaces Other implicit/explicit

More information

Assignment 4: Mesh Parametrization

Assignment 4: Mesh Parametrization CSCI-GA.3033-018 - Geometric Modeling Assignment 4: Mesh Parametrization In this exercise you will Familiarize yourself with vector field design on surfaces. Create scalar fields whose gradients align

More information

Processing 3D Surface Data

Processing 3D Surface Data Processing 3D Surface Data Computer Animation and Visualisation Lecture 12 Institute for Perception, Action & Behaviour School of Informatics 3D Surfaces 1 3D surface data... where from? Iso-surfacing

More information

Geometric Modeling in Graphics

Geometric Modeling in Graphics Geometric Modeling in Graphics Part 2: Meshes properties Martin Samuelčík www.sccg.sk/~samuelcik samuelcik@sccg.sk Meshes properties Working with DCEL representation One connected component with simple

More information

Intro to Curves Week 1, Lecture 2

Intro to Curves Week 1, Lecture 2 CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University Outline Math review Introduction to 2D curves

More information