CSC Computer Graphics

Size: px
Start display at page:

Download "CSC Computer Graphics"

Transcription

1 // CSC. Computer Graphics Lecture Department of Computer Science University of Sri Jayewardanepura Polygon Filling Scan-Line Polygon Fill Algorithm Span Flood-Fill Algorithm Inside-outside Test Odd-Even Rule onzero Winding umber Rule Marching Cubes // - Faculty of Applied Sciences of USJP So we can figure out how to draw lines and circles How do we go about drawing polygons? We use an incremental algorithm known as the scan-line algorithm // - Faculty of Applied Sciences of USJP Scan Line // - Faculty of Applied Sciences of USJP 5

2 // ymax xmin slope Edge Table (ET) Entry The Scan-Line Polygon Fill Algorithm (Example) Polygon = {A, B, C, D, E, F, G} Polygon = {(, ), (, ), (,5), (, ), (, 5), (, ), (5, 5)} F D EF DE -5/ / E C 5 CD FA A B AB BC -5/ 5 / Scan Line The Scan-Line Polygon Fill Algorithm (Example) The Scan-Line Polygon Fill Algorithm Dealing with vertices

3 // The basic scan-line algorithm is as follows: Find the intersections of the scan line with all edges of the polygon Sort the intersections by increasing x coordinate Fill in all pixels between pairs of intersections that lie interior to the polygon // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP Over the last couple of lectures we have looked at the idea of scan converting lines The key thing to remember is this has to be FAST For lines we have either DDA or Bresenham For circles the mid-point algorithm // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP 5 // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP 5 5 // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP

4 // // - Faculty of Applied Sciences of USJP // - Faculty of Applied Sciences of USJP Another approach to area filling is to start at a point inside a region and paint the interior outward toward the boundary. If the boundary is specified in a single color, the fill algorithm processed outward pixel by pixel until the boundary color is encountered. A boundary-fill procedure accepts as input the coordinate of the interior point (x, y), a fill color, and a boundary color. // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP The recursive boundary-fill algorithm:. Start from an interior point.. If the current pixel is not already filled and if it is not an edge point, then set the pixel with the fill color, and store its neighboring pixels ( or -connected) in the stack for processing. Store only neighboring pixel that is not already filled and is not an edge point.. Select the next pixel from the stack, and continue with step. The order of pixels that should be added to stack using -connected is above, below, left, and right. For -connected is above, below, left, right, above-left, aboveright, below-left, and below-right.

5 // -connected (Example) -connected (Example) Start Position 5 -connected (Example) -connected (Example) -connected (Example) -connected (Example) 5 5 5

6 // -connected (Example) Start Position 5 5 5

7 //

8 // Since the previous procedure requires considerable stacking of neighboring pixels, more efficient methods are generally employed. These methods (Span Flood-Fill) fill horizontal pixel spans across scan lines, instead of proceeding to -connected or -connected neighboring pixels. Then we need only stack a beginning position for each horizontal pixel spans, instead of stacking all unprocessed neighboring positions around the current position. 5 Span Flood-Fill Algorithm The algorithm is summarized as follows: Starting from the initial interior pixel, then fill in the contiguous span of pixels on this starting scan line. Then locate and stack starting positions for spans on the adjacent scan lines, where spans are defined as the contiguous horizontal string of positions bounded by pixels displayed in the area border color. At each subsequent step, unstack the next start position and repeat the process. 5 S 5

9 // 5 S 5 S S 5 5 S S 5 5 S

10 // S 5 S S 5 S S 5 S 5 5 5

11 // 5 5 S 5 Flood Fill Algorithm Sometimes we want to fill in (recolor) an area that is not defined within a single color boundary. We paint such areas by replacing a specified interior color instead of searching for a boundary color value. This approach is called a flood-fill algorithm. Flood Fill Algorithm We start from a specified interior pixel (x, y) and reassign all pixel values that are currently set to a given interior color with the desired fill color. If the area has more than one interior color, we can first reassign pixel values so that all interior pixels have the same color. Counting umber Methods Odd-Even Rule onzero winding number rule Using either -connected or -connected approach, we then step through pixel positions until all interior pixels have been repainted. // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP Count the edge crossing along the line from any point (x,y) to infinity. If the number of interactions is odd, then the point (x,y) is an interior point; Else, it is an exterior point. Give directions to all the edges of the polygon. to all upward edges and - for others. Check the sum of scan line. If it is non-zero, then it is an interior point, otherwise it is an exterior point. // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP 5 // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP

12 // Vertices and Edges Surface in Euclidean space defined by a parametric equation with two parameters A set of weighted control points determine the location of individual surface points The come in several flavors including Bezier, B-Spline, URBS

13 // Marching Cubes (Geometric) BOO - branch-on-need octree (Geometric) ISSUE - Isosurfacing in Span Space with Utmost Efficiency (Span Space) Interval Tree (Span Space) Contour line (isoline): the same scalar value, or isovalue A contour C is defined as all points p, in a dataset D, that have the same scalar value x: s(p) = x. For D dataset: contour line (isoline); For D dataset: contour surface (iso-surface) Fig 5.. Relationship between color banding and contouring // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP 5 // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP Contour properties: Closed curve or open curves ever stop inside the dataset itself ever intersects itself o intersect of an isoline with another scalar value Contours are perpendicular to the gradient of the contoured function (Fig 5.) Fig 5.. The gradient of a scalar field is perpendicular to the field's contours Fig 5.. Isoline properties // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP

14 // Given a discrete, sampled dataset, compute contours Contouring need At least piecewise linear, C dataset The complexity of computing contours The most popular method D: Marching Squares ( 5..) D: Marching Cubes ( 5..) Fig 5.. Constructing the isoline for the scalar value v =.. The figure indicates scalar values at the grid vertices. // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP Fig5.. Topological states of a quad cell (marching squares algorithm). Red indicates "inside" vertices. Bold indices mark ambiguous cases. // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP Listing 5.. Marching squares pseudocode // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP Similar to Marching Squares but D versus D = 5 different topological cases; Reduced to only 5 by symmetry considerations topological states (Fig 5.) William E. Lorensen, Harvey E. Cline: Marching Cubes: A high resolution D surface construction algorithm. In: Computer Graphics, Vol., r., July International Conference on Computer Graphics and Interactive Techniques (ACM/SIGGRAPH ) Computes polygons where the isosurface passes through eight nearest neighbors Gradient of scalar value at each grid point used for surface normal Other algorithms are always compared to Marching Cubes // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP

15 // Marching Cubes is an algorithm which creates triangle models of constant density surfaces from D medical data. Computed Tomography (CT) Magnetic Resonance (MRI) Single-Photon Emission Computed Tomography (SPECT) Each scanning process results in two dimensional slices of data. // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP 5 // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP Construction/Reconstruction of scanned surfaces or objects. Problem of interpreting/interpolating D data into D visuals. Marching Cubes provides a new method of creating D surfaces. High resolution surface construction algorithm. Extracts surfaces from adjacent pairs of data slices using cubes. Cubes march through the pair of slices until the entire surface of both slices has been examined. // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP Load slices. Create a cube from pixels on adjacent slices. Find vertices on the surfaces. Determine the intersection edges. Interpolate the edge intersections. Calculate vertex normals. Output triangles and normals. Uses identical squares of four pixels connected between adjacent slices. Each cube vertex is examined to see if it lies on or off of the surface. // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP 5

16 // There are =5 ways the surface may intersect the cube Triangulate each case using the symmetries reduces those 5 cases to 5 patterns // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP 5 Unique cube configurations that can be rotated and reflected to 5 configurations // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP Fig 5.. Topological states of a hex cell (marching cubes algorithm). Red indicates "inside" vertices. Bold indices mark ambiguous cases. Fig 5.. Ambiguous cases for marching cubes. Each case has two contouring variants. // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP 5 // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP

17 // Pixels on the slice surfaces determine D surfaces. 5 surface permutations, but only unique patterns. A normal is calculated for each triangle vertex for rendering. // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP Pros: Simple rendering and manipulation High resolution Cons: Possible holes in the model Model complexity Determine triangles contained by a cube. Determine which cube edges are intersected. Interpolate intersection point using pixel density. Calculate unit normals for each triangle vertex using the gradient vector. // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP Utilizes pixel, line and slice coherency to minimize the number of calculations. Can provide solid modeling. Can use conventional rendering techniques and hardware. o user interaction is necessary. Enables selective displays. Can be used with other density values. Variations can increase/decrease surface density. // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP

18 // MRI scan data wavy pattern: Caused by subsampling Fig 5.5. Ringing artifacts on isosurface. (a) Overview. (b) Detail mesh. General rule: most isosurface details that are under or around the size of the resolution of the iso-surfaced dataset can be either actual data or artifact should be interpreted with great care Can draw more than a single iso-surface of the same dataset in one visualization (Fig 5.) // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP Fig 5.. Two nested isosurfaces of a tooth scan dataset Isosurfaces and isolines are strongly related Fig 5.. Isosurfaces, isolines, and slicing // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP 5 // Kasun@dscs.sjp.ac.lk - Faculty of Applied Sciences of USJP

Scalar Visualization

Scalar Visualization Scalar Visualization Visualizing scalar data Popular scalar visualization techniques Color mapping Contouring Height plots outline Recap of Chap 4: Visualization Pipeline 1. Data Importing 2. Data Filtering

More information

Indirect Volume Rendering

Indirect Volume Rendering Indirect Volume Rendering Visualization Torsten Möller Weiskopf/Machiraju/Möller Overview Contour tracing Marching cubes Marching tetrahedra Optimization octree-based range query Weiskopf/Machiraju/Möller

More information

Scalar Visualization

Scalar Visualization Scalar Visualization 5-1 Motivation Visualizing scalar data is frequently encountered in science, engineering, and medicine, but also in daily life. Recalling from earlier, scalar datasets, or scalar fields,

More information

Scalar Algorithms: Contouring

Scalar Algorithms: Contouring Scalar Algorithms: Contouring Computer Animation and Visualisation Lecture tkomura@inf.ed.ac.uk Institute for Perception, Action & Behaviour School of Informatics Contouring Scaler Data Last Lecture...

More information

Isosurface Rendering. CSC 7443: Scientific Information Visualization

Isosurface Rendering. CSC 7443: Scientific Information Visualization Isosurface Rendering What is Isosurfacing? An isosurface is the 3D surface representing the locations of a constant scalar value within a volume A surface with the same scalar field value Isosurfaces form

More information

Volume Illumination, Contouring

Volume Illumination, Contouring Volume Illumination, Contouring Computer Animation and Visualisation Lecture 0 tkomura@inf.ed.ac.uk Institute for Perception, Action & Behaviour School of Informatics Contouring Scaler Data Overview -

More information

Scientific Visualization. CSC 7443: Scientific Information Visualization

Scientific Visualization. CSC 7443: Scientific Information Visualization Scientific Visualization Scientific Datasets Gaining insight into scientific data by representing the data by computer graphics Scientific data sources Computation Real material simulation/modeling (e.g.,

More information

COMP30019 Graphics and Interaction Scan Converting Polygons and Lines

COMP30019 Graphics and Interaction Scan Converting Polygons and Lines COMP30019 Graphics and Interaction Scan Converting Polygons and Lines Department of Computer Science and Software Engineering The Lecture outline Introduction Scan conversion Scan-line algorithm Edge coherence

More information

Contouring and Isosurfaces. Ronald Peikert SciVis Contouring 2-1

Contouring and Isosurfaces. Ronald Peikert SciVis Contouring 2-1 Contouring and Isosurfaces Ronald Peikert SciVis 2007 - Contouring 2-1 What are contours? Set of points where the scalar field s has a given value c: Examples in 2D: height contours on maps isobars on

More information

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

Lecture overview. Visualisatie BMT. Fundamental algorithms. Visualization pipeline. Structural classification - 1. Structural classification - 2 Visualisatie BMT Fundamental algorithms Arjan Kok a.j.f.kok@tue.nl Lecture overview Classification of algorithms Scalar algorithms Vector algorithms Tensor algorithms Modeling algorithms 1 2 Visualization

More information

Graphics (Output) Primitives. Chapters 3 & 4

Graphics (Output) Primitives. Chapters 3 & 4 Graphics (Output) Primitives Chapters 3 & 4 Graphic Output and Input Pipeline Scan conversion converts primitives such as lines, circles, etc. into pixel values geometric description a finite scene area

More information

Volume visualization. Volume visualization. Volume visualization methods. Sources of volume visualization. Sources of volume visualization

Volume visualization. Volume visualization. Volume visualization methods. Sources of volume visualization. Sources of volume visualization Volume visualization Volume visualization Volumes are special cases of scalar data: regular 3D grids of scalars, typically interpreted as density values. Each data value is assumed to describe a cubic

More information

In today s lecture we ll have a look at: A simple technique The mid-point circle algorithm

In today s lecture we ll have a look at: A simple technique The mid-point circle algorithm Drawing Circles In today s lecture we ll have a look at: Circle drawing algorithms A simple technique The mid-point circle algorithm Polygon fill algorithms Summary raster drawing algorithms A Simple Circle

More information

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

Visualization. Images are used to aid in understanding of data. Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26] Visualization Images are used to aid in understanding of data Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [chapter 26] Tumor SCI, Utah Scientific Visualization Visualize large

More information

Chapter 3. Sukhwinder Singh

Chapter 3. Sukhwinder Singh Chapter 3 Sukhwinder Singh PIXEL ADDRESSING AND OBJECT GEOMETRY Object descriptions are given in a world reference frame, chosen to suit a particular application, and input world coordinates are ultimately

More information

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

11/1/13. Visualization. Scientific Visualization. Types of Data. Height Field. Contour Curves. Meshes CSCI 420 Computer Graphics Lecture 26 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 2.11] Jernej Barbic University of Southern California Scientific Visualization

More information

Visualization. CSCI 420 Computer Graphics Lecture 26

Visualization. CSCI 420 Computer Graphics Lecture 26 CSCI 420 Computer Graphics Lecture 26 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 11] Jernej Barbic University of Southern California 1 Scientific Visualization

More information

Agenda. Polygon Terminology Types of polygons Inside Test Polygon Filling Algorithms. Scan-Line Polygon Fill Algorithm Flood-Fill Algorithm

Agenda. Polygon Terminology Types of polygons Inside Test Polygon Filling Algorithms. Scan-Line Polygon Fill Algorithm Flood-Fill Algorithm Polygons UNIT - III Agenda Polygon Terminology Types of polygons Inside Test Polygon Filling Algorithms Scan-Line Polygon Fill Algorithm Flood-Fill Algorithm A Polygon Vertex = point in space (2D or 3D)

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

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

SURFACE CONSTRUCTION USING TRICOLOR MARCHING CUBES

SURFACE CONSTRUCTION USING TRICOLOR MARCHING CUBES SURFACE CONSTRUCTION USING TRICOLOR MARCHING CUBES Shaojun Liu, Jia Li Oakland University Rochester, MI 4839, USA Email: sliu2@oakland.edu, li4@oakland.edu Xiaojun Jing Beijing University of Posts and

More information

MARCHING CUBES AND VARIANTS

MARCHING CUBES AND VARIANTS CHAPTER MARCHING CUBES AND VARIANTS In the introduction, we mentioned four different approaches to isosurface construction. In this chapter, we describe one of those approaches to isosurface construction,

More information

Contours & Implicit Modelling 4

Contours & Implicit Modelling 4 Brief Recap Contouring & Implicit Modelling Contouring Implicit Functions Visualisation Lecture 8 lecture 6 Marching Cubes lecture 3 visualisation of a Quadric toby.breckon@ed.ac.uk Computer Vision Lab.

More information

POLYGON FILLING ALGORITHM

POLYGON FILLING ALGORITHM POLYGON FILLING ALGORITHM http://www.tutorialspoint.com/computer_graphics/polygon_filling_algorithm.htm Copyright tutorialspoint.com Polygon is an ordered list of vertices as shown in the following figure.

More information

Marching Cubes Robert Hunt CS 525. Introduction

Marching Cubes Robert Hunt CS 525. Introduction Marching Cubes Robert Hunt CS 525 Introduction The Marching Cubes algorithm is a method for visualizing a conceptual surface called an isosurface. An isosurface is formed from a set of points in 3 space

More information

Data Visualization (DSC 530/CIS )

Data Visualization (DSC 530/CIS ) Data Visualization (DSC 530/CIS 60-0) Isosurfaces & Volume Rendering Dr. David Koop Fields & Grids Fields: - Values come from a continuous domain, infinitely many values - Sampled at certain positions

More information

Data Visualization (DSC 530/CIS )

Data Visualization (DSC 530/CIS ) Data Visualization (DSC 530/CIS 60-01) Scalar Visualization Dr. David Koop Online JavaScript Resources http://learnjsdata.com/ Good coverage of data wrangling using JavaScript Fields in Visualization Scalar

More information

Visualization Computer Graphics I Lecture 20

Visualization Computer Graphics I Lecture 20 15-462 Computer Graphics I Lecture 20 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 15, 2003 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

More information

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

Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University 15-462 Computer Graphics I Lecture 21 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

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

COMP371 COMPUTER GRAPHICS

COMP371 COMPUTER GRAPHICS COMP371 COMPUTER GRAPHICS LECTURE 14 RASTERIZATION 1 Lecture Overview Review of last class Line Scan conversion Polygon Scan conversion Antialiasing 2 Rasterization The raster display is a matrix of picture

More information

Decimation of 2D Scalar Data with Error Control

Decimation of 2D Scalar Data with Error Control Decimation of 2D Scalar Data with Error Control Daniel R. Schikore Chandrajit L. Bajaj Department of Computer Sciences Purdue University West Lafayette, IN 47907 drs@cs.purdue.edu bajaj@cs.purdue.edu Abstract

More information

Geometric Representations. Stelian Coros

Geometric Representations. Stelian Coros Geometric Representations Stelian Coros Geometric Representations Languages for describing shape Boundary representations Polygonal meshes Subdivision surfaces Implicit surfaces Volumetric models Parametric

More information

Contours & Implicit Modelling 1

Contours & Implicit Modelling 1 Contouring & Implicit Modelling Visualisation Lecture 8 Institute for Perception, Action & Behaviour School of Informatics Contours & Implicit Modelling 1 Brief Recap Contouring Implicit Functions lecture

More information

Reconstruction of complete 3D object model from multi-view range images.

Reconstruction of complete 3D object model from multi-view range images. Header for SPIE use Reconstruction of complete 3D object model from multi-view range images. Yi-Ping Hung *, Chu-Song Chen, Ing-Bor Hsieh, Chiou-Shann Fuh Institute of Information Science, Academia Sinica,

More information

Scalar Data. Visualization Torsten Möller. Weiskopf/Machiraju/Möller

Scalar Data. Visualization Torsten Möller. Weiskopf/Machiraju/Möller Scalar Data Visualization Torsten Möller Weiskopf/Machiraju/Möller Overview Basic strategies Function plots and height fields Isolines Color coding Volume visualization (overview) Classification Segmentation

More information

CIS 467/602-01: Data Visualization

CIS 467/602-01: Data Visualization CIS 467/60-01: Data Visualization Isosurfacing and Volume Rendering Dr. David Koop Fields and Grids Fields: values come from a continuous domain, infinitely many values - Sampled at certain positions to

More information

CIS 4930/ SCIENTIFICVISUALIZATION

CIS 4930/ SCIENTIFICVISUALIZATION CIS 4930/6930-902 SCIENTIFICVISUALIZATION ISOSURFACING Paul Rosen Assistant Professor University of South Florida slides credits Tricoche and Meyer ADMINISTRATIVE Read (or watch video): Kieffer et al,

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

Volume Illumination and Segmentation

Volume Illumination and Segmentation Volume Illumination and Segmentation Computer Animation and Visualisation Lecture 13 Institute for Perception, Action & Behaviour School of Informatics Overview Volume illumination Segmentation Volume

More information

2D Graphics Primitives II. Additional issues in scan converting lines. 1)Endpoint order. Want algorithms to draw the same pixels for each line

2D Graphics Primitives II. Additional issues in scan converting lines. 1)Endpoint order. Want algorithms to draw the same pixels for each line walters@buffalo.edu CSE 480/580 Lecture 8 Slide 1 2D Graphics Primitives II Additional issues in scan converting lines 1)Endpoint order Want algorithms to draw the same pixels for each line How handle?

More information

Einführung in Visual Computing

Einführung in Visual Computing Einführung in Visual Computing 186.822 Rasterization Werner Purgathofer Rasterization in the Rendering Pipeline scene objects in object space transformed vertices in clip space scene in normalized device

More information

Iso-surface cell search. Iso-surface Cells. Efficient Searching. Efficient search methods. Efficient iso-surface cell search. Problem statement:

Iso-surface cell search. Iso-surface Cells. Efficient Searching. Efficient search methods. Efficient iso-surface cell search. Problem statement: Iso-Contouring Advanced Issues Iso-surface cell search 1. Efficiently determining which cells to examine. 2. Using iso-contouring as a slicing mechanism 3. Iso-contouring in higher dimensions 4. Texturing

More information

4.5 VISIBLE SURFACE DETECTION METHODES

4.5 VISIBLE SURFACE DETECTION METHODES 4.5 VISIBLE SURFACE DETECTION METHODES A major consideration in the generation of realistic graphics displays is identifying those parts of a scene that are visible from a chosen viewing position. There

More information

Chapter 8: Implementation- Clipping and Rasterization

Chapter 8: Implementation- Clipping and Rasterization Chapter 8: Implementation- Clipping and Rasterization Clipping Fundamentals Cohen-Sutherland Parametric Polygons Circles and Curves Text Basic Concepts: The purpose of clipping is to remove objects or

More information

Visualization Computer Graphics I Lecture 20

Visualization Computer Graphics I Lecture 20 15-462 Computer Graphics I Lecture 20 Visualization Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] November 20, 2003 Doug James Carnegie Mellon University http://www.cs.cmu.edu/~djames/15-462/fall03

More information

UNIT 2 GRAPHIC PRIMITIVES

UNIT 2 GRAPHIC PRIMITIVES UNIT 2 GRAPHIC PRIMITIVES Structure Page Nos. 2.1 Introduction 46 2.2 Objectives 46 2.3 Points and Lines 46 2.4 Line Generation Algorithms 48 2.4.1 DDA Algorithm 49 2.4.2 Bresenhams Line Generation Algorithm

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

Level Set Extraction from Gridded 2D and 3D Data

Level Set Extraction from Gridded 2D and 3D Data Level Set Extraction from Gridded 2D and 3D Data David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International

More information

SE Mock Online Test 1-CG

SE Mock Online Test 1-CG SE Mock Online Test 1-CG 1. Email address * 2. 1. For gentle slope line, slope m is -1

More information

Unit 2 Output Primitives and their Attributes

Unit 2 Output Primitives and their Attributes Unit 2 Output Primitives and their Attributes Shapes and colors of the objects can be described internally with pixel arrays or with sets of basic geometric structures, such as straight line segments and

More information

3D Surface Reconstruction of the Brain based on Level Set Method

3D Surface Reconstruction of the Brain based on Level Set Method 3D Surface Reconstruction of the Brain based on Level Set Method Shijun Tang, Bill P. Buckles, and Kamesh Namuduri Department of Computer Science & Engineering Department of Electrical Engineering University

More information

Scan Conversion of Polygons. Dr. Scott Schaefer

Scan Conversion of Polygons. Dr. Scott Schaefer Scan Conversion of Polygons Dr. Scott Schaefer Drawing Rectangles Which pixels should be filled? /8 Drawing Rectangles Is this correct? /8 Drawing Rectangles What if two rectangles overlap? 4/8 Drawing

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

Computer Graphics : Bresenham Line Drawing Algorithm, Circle Drawing & Polygon Filling

Computer Graphics : Bresenham Line Drawing Algorithm, Circle Drawing & Polygon Filling Computer Graphics : Bresenham Line Drawing Algorithm, Circle Drawing & Polygon Filling Downloaded from :www.comp.dit.ie/bmacnamee/materials/graphics/006- Contents In today s lecture we ll have a loo at:

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

Identify parallel lines, skew lines and perpendicular lines.

Identify parallel lines, skew lines and perpendicular lines. Learning Objectives Identify parallel lines, skew lines and perpendicular lines. Parallel Lines and Planes Parallel lines are coplanar (they lie in the same plane) and never intersect. Below is an example

More information

CS 543: Computer Graphics. Rasterization

CS 543: Computer Graphics. Rasterization CS 543: Computer Graphics Rasterization Robert W. Lindeman Associate Professor Interactive Media & Game Development Department of Computer Science Worcester Polytechnic Institute gogo@wpi.edu (with lots

More information

Announcements. Midterms graded back at the end of class Help session on Assignment 3 for last ~20 minutes of class. Computer Graphics

Announcements. Midterms graded back at the end of class Help session on Assignment 3 for last ~20 minutes of class. Computer Graphics Announcements Midterms graded back at the end of class Help session on Assignment 3 for last ~20 minutes of class 1 Scan Conversion Overview of Rendering Scan Conversion Drawing Lines Drawing Polygons

More information

Scalar Algorithms -- surfaces

Scalar Algorithms -- surfaces Scalar Algorithms -- surfaces Color Mapping Slicing Clipping Contouring / iso-surface 1 Sources of Scalar Data Sensors CT/MRI Surface Scanners: laser/range scans Simulations CFD/FEM Mathematical Implicit

More information

Data Visualization (CIS/DSC 468)

Data Visualization (CIS/DSC 468) Data Visualization (CIS/DSC 46) Volume Rendering Dr. David Koop Visualizing Volume (3D) Data 2D visualization slice images (or multi-planar reformating MPR) Indirect 3D visualization isosurfaces (or surface-shaded

More information

Renderer Implementation: Basics and Clipping. Overview. Preliminaries. David Carr Virtual Environments, Fundamentals Spring 2005

Renderer Implementation: Basics and Clipping. Overview. Preliminaries. David Carr Virtual Environments, Fundamentals Spring 2005 INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Renderer Implementation: Basics and Clipping David Carr Virtual Environments, Fundamentals Spring 2005 Feb-28-05 SMM009, Basics and Clipping 1

More information

Fundamental Algorithms and Advanced Data Representations

Fundamental Algorithms and Advanced Data Representations Fundamental Algorithms and Advanced Data Representations Anders Hast Outline Isosurfaces (Volume Data) Cuberille Contouring Marching Squares Linear Interpolation methods Marching Cubes Non Linear Interpolation

More information

Course Title: Computer Graphics Course no: CSC209

Course Title: Computer Graphics Course no: CSC209 Course Title: Computer Graphics Course no: CSC209 Nature of the Course: Theory + Lab Semester: III Full Marks: 60+20+20 Pass Marks: 24 +8+8 Credit Hrs: 3 Course Description: The course coversconcepts of

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

LAPLACIAN MESH SMOOTHING FOR TETRAHEDRA BASED VOLUME VISUALIZATION 1. INTRODUCTION

LAPLACIAN MESH SMOOTHING FOR TETRAHEDRA BASED VOLUME VISUALIZATION 1. INTRODUCTION JOURNAL OF MEDICAL INFORMATICS & TECHNOLOGIES Vol.4/2002, ISSN 642-6037 Rafał STĘGIERSKI *, Paweł MIKOŁAJCZAK * volume data,triangle mesh generation, mesh smoothing, marching tetrahedra LAPLACIAN MESH

More information

Computer Graphics Lecture Notes

Computer Graphics Lecture Notes Computer Graphics Lecture Notes UNIT- Overview of Computer Graphics. Application of Computer Graphics Computer-Aided Design for engineering and architectural systems etc. Objects maybe displayed in a wireframe

More information

Lecture notes: Object modeling

Lecture notes: Object modeling Lecture notes: Object modeling One of the classic problems in computer vision is to construct a model of an object from an image of the object. An object model has the following general principles: Compact

More information

From Ver(ces to Fragments: Rasteriza(on

From Ver(ces to Fragments: Rasteriza(on From Ver(ces to Fragments: Rasteriza(on From Ver(ces to Fragments 3D vertices vertex shader rasterizer fragment shader final pixels 2D screen fragments l determine fragments to be covered l interpolate

More information

Scalar Field Visualization I

Scalar Field Visualization I Scalar Field Visualization I What is a Scalar Field? The approximation of certain scalar function in space f(x,y,z). Image source: blimpyb.com f What is a Scalar Field? The approximation of certain scalar

More information

Topology Preserving Tetrahedral Decomposition of Trilinear Cell

Topology Preserving Tetrahedral Decomposition of Trilinear Cell Topology Preserving Tetrahedral Decomposition of Trilinear Cell Bong-Soo Sohn Department of Computer Engineering, Kyungpook National University Daegu 702-701, South Korea bongbong@knu.ac.kr http://bh.knu.ac.kr/

More information

3D Modeling: Surfaces

3D Modeling: Surfaces CS 430/536 Computer Graphics I 3D Modeling: Surfaces Week 8, Lecture 16 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel

More information

Geometric Modeling in Graphics

Geometric Modeling in Graphics Geometric Modeling in Graphics Part 10: Surface reconstruction Martin Samuelčík www.sccg.sk/~samuelcik samuelcik@sccg.sk Curve, surface reconstruction Finding compact connected orientable 2-manifold surface

More information

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011 Computer Graphics 1 Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling 1 The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons in

More information

Computer Graphics (CS 543) Lecture 10: Rasterization and Antialiasing

Computer Graphics (CS 543) Lecture 10: Rasterization and Antialiasing Computer Graphics (CS 543) Lecture 10: Rasterization and Antialiasing Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Recall: Rasterization Rasterization (scan conversion)

More information

3D Volume Mesh Generation of Human Organs Using Surface Geometries Created from the Visible Human Data Set

3D Volume Mesh Generation of Human Organs Using Surface Geometries Created from the Visible Human Data Set 3D Volume Mesh Generation of Human Organs Using Surface Geometries Created from the Visible Human Data Set John M. Sullivan, Jr., Ziji Wu, and Anand Kulkarni Worcester Polytechnic Institute Worcester,

More information

Graphics Output Primitives

Graphics Output Primitives Important Graphics Output Primitives Graphics Output Primitives in 2D polgons, circles, ellipses & other curves piel arra operations in 3D triangles & other polgons Werner Purgathofer / Computergraphik

More information

CS 248 Assignment 2 Polygon Scan Converter. CS248 Presented by Abe Davis Stanford University October 17, 2008

CS 248 Assignment 2 Polygon Scan Converter. CS248 Presented by Abe Davis Stanford University October 17, 2008 CS 248 Assignment 2 Polygon Scan Converter CS248 Presented by Abe Davis Stanford University October 17, 2008 Announcements First thing: read README.animgui. It should tell you everything you need to know

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

Polygonization of Implicit Surfaces

Polygonization of Implicit Surfaces Polygonization of Implicit Surfaces Hongxin Zhang and Jieqing Feng 2007-01-11 State Key Lab of CAD&CG Zhejiang University Contents Polygonization of Implicit Surfaces Other Methods for Displaying Implicit

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

CS 248 Assignment 2 Polygon Scan Conversion. CS248 Presented by Michael Green Stanford University October 20, 2004

CS 248 Assignment 2 Polygon Scan Conversion. CS248 Presented by Michael Green Stanford University October 20, 2004 CS 248 Assignment 2 Polygon Scan Conversion CS248 Presented by Michael Green Stanford University October 20, 2004 Announcements First thing: read README.animgui.. It should tell you everything you need

More information

Chapter 24. Creating Surfaces for Displaying and Reporting Data

Chapter 24. Creating Surfaces for Displaying and Reporting Data Chapter 24. Creating Surfaces for Displaying and Reporting Data FLUENT allows you to select portions of the domain to be used for visualizing the flow field. The domain portions are called surfaces, and

More information

Fairing Scalar Fields by Variational Modeling of Contours

Fairing Scalar Fields by Variational Modeling of Contours Fairing Scalar Fields by Variational Modeling of Contours Martin Bertram University of Kaiserslautern, Germany Abstract Volume rendering and isosurface extraction from three-dimensional scalar fields are

More information

Surface Construction Analysis using Marching Cubes

Surface Construction Analysis using Marching Cubes Surface Construction Analysis using Marching Cubes Burak Erem Northeastern University erem.b@neu.edu Nicolas Dedual Northeastern University ndedual@ece.neu.edu Abstract This paper presents an analysis

More information

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline Final Projects Proposals due Thursday 4/8 Proposed project summary At least 3 related papers (read & summarized) Description of series of test cases Timeline & initial task assignment The Traditional Graphics

More information

EF432. Introduction to spagetti and meatballs

EF432. Introduction to spagetti and meatballs EF432 Introduction to spagetti and meatballs CSC 418/2504: Computer Graphics Course web site (includes course information sheet): http://www.dgp.toronto.edu/~karan/courses/418/fall2015 Instructor: Karan

More information

Human Heart Coronary Arteries Segmentation

Human Heart Coronary Arteries Segmentation Human Heart Coronary Arteries Segmentation Qian Huang Wright State University, Computer Science Department Abstract The volume information extracted from computed tomography angiogram (CTA) datasets makes

More information

CS3621 Midterm Solution (Fall 2005) 150 points

CS3621 Midterm Solution (Fall 2005) 150 points CS362 Midterm Solution Fall 25. Geometric Transformation CS362 Midterm Solution (Fall 25) 5 points (a) [5 points] Find the 2D transformation matrix for the reflection about the y-axis transformation (i.e.,

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

Practical Linear Algebra: A Geometry Toolbox

Practical Linear Algebra: A Geometry Toolbox Practical Linear Algebra: A Geometry Toolbox Third edition Chapter 18: Putting Lines Together: Polylines and Polygons Gerald Farin & Dianne Hansford CRC Press, Taylor & Francis Group, An A K Peters Book

More information

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Computer Graphics

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Computer Graphics r About the Tutorial To display a picture of any size on a computer screen is a difficult process. Computer graphics are used to simplify this process. Various algorithms and techniques are used to generate

More information

03 - Reconstruction. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Spring 17 - Daniele Panozzo

03 - Reconstruction. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Spring 17 - Daniele Panozzo 3 - Reconstruction Acknowledgements: Olga Sorkine-Hornung Geometry Acquisition Pipeline Scanning: results in range images Registration: bring all range images to one coordinate system Stitching/ reconstruction:

More information

Computer Graphics 7 - Rasterisation

Computer Graphics 7 - Rasterisation Computer Graphics 7 - Rasterisation Tom Thorne Slides courtesy of Taku Komura www.inf.ed.ac.uk/teaching/courses/cg Overview Line rasterisation Polygon rasterisation Mean value coordinates Decomposing polygons

More information

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline Last Time? The Traditional Graphics Pipeline Participating Media Measuring BRDFs 3D Digitizing & Scattering BSSRDFs Monte Carlo Simulation Dipole Approximation Today Ray Casting / Tracing Advantages? Ray

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

Cs602-computer graphics MCQS MIDTERM EXAMINATION SOLVED BY ~ LIBRIANSMINE ~

Cs602-computer graphics MCQS MIDTERM EXAMINATION SOLVED BY ~ LIBRIANSMINE ~ Cs602-computer graphics MCQS MIDTERM EXAMINATION SOLVED BY ~ LIBRIANSMINE ~ Question # 1 of 10 ( Start time: 08:04:29 PM ) Total Marks: 1 Sutherland-Hodgeman clipping algorithm clips any polygon against

More information

Scalar Field Visualization I

Scalar Field Visualization I Scalar Field Visualization I What is a Scalar Field? The approximation of certain scalar function in space f(x,y,z). Image source: blimpyb.com f What is a Scalar Field? The approximation of certain scalar

More information

5. Volume Visualization

5. Volume Visualization 5. Volume Visualization Scalar volume data Medical Applications: CT, MRI, confocal microscopy, ultrasound, etc. 1 5. Volume Visualization 2 5. Volume Visualization 3 5. Volume Visualization Some possible

More information

Computer Graphics. Chapter 4 Attributes of Graphics Primitives. Somsak Walairacht, Computer Engineering, KMITL 1

Computer Graphics. Chapter 4 Attributes of Graphics Primitives. Somsak Walairacht, Computer Engineering, KMITL 1 Computer Graphics Chapter 4 Attributes of Graphics Primitives Somsak Walairacht, Computer Engineering, KMITL 1 Outline OpenGL State Variables Point Attributes Line Attributes Fill-Area Attributes Scan-Line

More information