Fundamental Computer Graphics or the discretization of lines and polygons. Torsten Möller Simon Fraser University

Size: px
Start display at page:

Download "Fundamental Computer Graphics or the discretization of lines and polygons. Torsten Möller Simon Fraser University"

Transcription

1 Fundamental Computer Graphics or the discretization of lines and polygons Torsten Möller Simon Fraser University

2 Overview 1D lines in 2D space Cartesian lattices: Bresenham General N-D lattice: Ibáñez Topological issues: separability, minimality 2D planes in 3D space Cartesian lattices BCC lattices 2

3 Discretization Rasterization / Voxelization Fundamental operation in graphics: Discrete representation of continuous world Continuous world modeled with Points Lines Planes (triangles) Curves and surfaces Raster-displays are ubiquitous Texture hardware (3D raster) ubiquitous Acquisition of real models (medical, scientific data) typically on raster 3

4 Discretization Continuous Discrete 2D 3D 4

5 1D lines - Bresenham Original line rasterization based on Cartesian lattices Bresenham quasi-standard (other efficient algorithms proposed) Based on DDA - digital differential analyzers Figured out the dominant direction Use an incremental algorithm in this direction to determine valid pixels NE Q M M NE ME P(xp,yp) E 5

6 Ibáñez algorithm Extension to general N-dimensional lattices by Ibáñez et al. (2001) Select connectivity (neighborhood) Select optimal Vector basis / dominant direction Project onto an orthogonal subspace 6

7 Overview 1D lines in 2D space Cartesian lattices: Bresenham General N-D lattice: Ibáñez Topological issues: separability, minimality 2D planes in 3D space Cartesian lattices BCC lattices 7

8 Topological Issues Notion of connectedness is not straight forward in discrete domain Depending on neighborhood Cartesian lattice 4 neighbourhood or 1-neighborhood 8 neighbourhood or 0-neighborhood 8

9 Topological Issues Notion of connectedness is not straight forward in discrete domain Depending on neighborhood Hexagonal lattice 6 neighbourhood or 0/1-neighborhood 9

10 Definitions Lattice point P is typically a 0-dimensional entity Pixel / Voxel V: Voronoi cell of this lattice point In some context identical to the lattice point k-neighborhood of V: set of voxels sharing a k-dimensional (or higher) face with V 10

11 Definitions k-path: list of voxels, that s made up of only k-neighbours Example - 0-path, but no 1-path 11

12 Definitions k-path: list of voxels, that s made up of only k-neighbours Example: 1-path 12

13 Minimality and Separability Separability: A line/plane or surface L is k-separable if there is no k-path crossing it Example: curve is 1-separable, but not 0-separable 13

14 Minimality and Separability Separability: A line/plane or surface L is k-separable if there is no k-path crossing it Example: curve is 0-separable 14

15 Minimality and Separability Separability: A line/plane or surface L is k-separable if there is no k-path crossing it Minimality: A line/plane or surface L is k-minimal if the removal of any of its voxels will produce a k-path crossing it (also called k-tunnel) Example: curve is 0/1-minimal 15

16 Minimality and Separability Separability: A line/plane or surface L is k-separable if there is no k-path crossing it Minimality: A line/plane or surface L is k-minimal if the removal of any of its voxels will produce a k-path crossing it (also called k-tunnel) Example: curve is neither 0- nor 1-minimal 16

17 Minimality and Separability Separability: A line/plane or surface L is k-separable if there is no k-path crossing it Minimality: A line/plane or surface L is k-minimal if the removal of any of its voxels will produce a k-path crossing it (also called k-tunnel) Example: curve is 0-minimal, but not 1-minimal 17

18 Minimality and Separability Separability: A line/plane or surface L is k-separable if there is no k-path crossing it Minimality: A line/plane or surface L is k-minimal if the removal of any of its voxels will produce a k-path crossing it (also called k-tunnel) Example: curve is 0/1-minimal 18

19 1D lines (in 2D space) revisited Assuming a normalized plane equation L=Ax+By+D Relate discretization to thickness, I.e. thicken the surface in the direction of the line normal. 1-separable line 0-separable line 19

20 1D lines (in 2D space) revisited Assuming a normalized plane equation L=Ax+By+D Relate discretization to thickness, I.e. thicken the surface in the direction of the line normal. -t < Ax+By+D < t convolution with a box filter of appropriate size With appropriate t this can be proven to create minimal and separable discretizations of lines How thick? Depends on lattice structure and neighborhood structure 20

21 1-separable lines in 2D Cartesian Allow 0,1-neighbors N According to Huang et al: t = max( d i " N) = d 1 max i=1,3 Guarantees 1-separable, 1-minimal lines i=1,3 cos# i ( ) α 3 d 3 α 1 d 1 21

22 0-separable lines in 2D Cartesian Allow only 1-neighbors - needs a thicker line N According to Huang et al: t = max i= 2,4 d i " N ( ) = d 2 max( ) Guarantees 0-separable, 0-minimal lines i= 2,4 cos# i d d 3 4 α 4 α 1 This can also be expressed as (Widjaya et al): α 3 d 1 α 2 d 2 t = max i=1,2,3,4 d i " N ( ) = max i=1,2,3,4 ( ) d i cos# i 22

23 Separable lines in other 2D lattice structures 0-neighborhood and 1-neighborhood are identical According to Widjaya et al: t = max i=1,2,3 d i " N ( ) = max i=1,2,3 ( ) d i cos# i α 2 N d 3 α 3 d 2 α 1 d 1 23

24 Overview 1D lines in 2D space Cartesian lattices: Bresenham General N-D lattice: Ibáñez Topological issues: separability, minimality 2D planes in 3D space Cartesian lattices BCC lattices 24

25 2D planes (in 3D space) Assuming a normalized plane equation L=Ax+By+Cz+D Relate discretization to thickness, i.e. thicken the surface in the direction of the plane normal. -t < Ax+By+Cz+D < t Also considered as a convolution with a box filter of appropriate size With appropriate t this can be proven to create minimal and separable discretizations of planes How thick? Depends on lattice structure and neighborhood structure 25

26 2D planes (in 3D space) How thick? Depends on lattice structure and neighborhood structure 3 types of neighbors Face (2-neighbor; also 6-neighbor) Edge + face (1-neighbor; also 18-neighbor) Vertex+edge+face (0-neighbor; also 26-neighbor) 26

27 2-separable planes in 3D Cartesian allows 0,1,2-neighborhood According to Huang et al: t = max i=1,2,3 d i " N ( ) = d 1 max( ) Guarantees 2-separable, 2-minimal planes i=1,2,3 cos# i d 3 d 2 d 1 27

28 1-separable planes in 3D Cartesian Need thicker line d 7 According to Widjaya et al: t = max( d i " N) = max i=1...9 i=1...9 Guarantees 1-separable, 1-minimal planes ( ) d i cos# i d 8 d 9 d 3 d 2 d 1 d 6 d 5 d 4 28

29 0-separable planes in 3D Cartesian Only 2-neighbors allowed - need even thicker line According to Huang et al: d 11 d 7 d 10 d 8 d d 9 d d 6 t = max i= ( d i " N) = d 10 max Guarantees 0-separable, 0-minimal planes i= cos# i ( ) This can also be expressed as (Widjaya et al): d 3 d 2 d 1 d 5 d 4 t = max i= d i " N ( ) = max i= ( ) d i cos# i 29

30 Separable planes in 3D BCC Voronoi cell = truncated octahedron 0-, 1-, and 2-neighborhoods are identical 30

31 Separable planes in 3D BCC Voronoi cell = truncated octahedron 0-, 1-, and 2-neighborhoods are identical 2 types of faces shared - hexagons (8) and squares (6) 31

32 Separable planes in 3D BCC According to Widjaya et al: t = max( d i " N) = max i=1...7 i=1...7 ( ) Guarantees separability and minimality d i cos# i 32

33 Principle Direction There is always one lattice direction, that is determining the rasterization - call it principle direction This guides an efficient implementation: Project plane onto a 2D lattice that spans lattice space together with principle direction Do a normal rasterization of a 2D plane on this 2D space Move up each voxel into their proper position 33

34 Algorithm Step 1 Line A is projected on to the base plane direction along the principal direction Principal Direction Base Plane Direction 34

35 Algorithm Step 2 The projected line is then scan converted along the base plane direction Principal Direction Base Plane Direction 35

36 Algorithm Step 3 The voxels chosen is then projected back to the original line along the principal direction Principal Direction Base Plane Direction 36

37 References A. Kaufman. Efficient Algorithms for 3D Scan-conversion of Parametric Curves, Surfaces, and Volumes. Computer Graphics, 21(4): , D. Cohen-Or, A. Kaufman. Fundamentals of surface Voxelization. Graphical models and Image Processing: GMIP, 57(6): , D. Cohen-Or, A. Kaufman. 3D Line Voxelization and Connectivity Control. IEEE Computer Graphics and Applications, 17(6):80-87, J. Huang, R. Yagel, V. Filippov, Yair Kurzion. An Accurate Method for Voxelizing Polygon Meshes. IEEE Symposium on Volume Visualization, pages , S. Fang, H. Chen. Hardware Accelerated Voxelization. Computers and Graphics, 24(3): , L. Ibáñez, Ch. Hamitouche, Ch. Roux. A Vectorial Algorithm for Tracing Discrete Straight Lines in N-dimensional Generalized Grids. In IEEE Transactions on Visualization and Computer Graphics, vol. 7(2):97-108, H. Widjaya, T. Möller, A. Entezari. Voxelization in Common Sampling Lattices. 11th Pacific Graphics Conference on Computer Graphics and Applications, pages ,

38 Thanks NSERC, BC-ASI Haris Widjaya, Reza Entezari 38

Discrete. Continuous. Fundamental Computer Graphics or the discretization of lines and polygons. Overview. Torsten Möller Simon Fraser University

Discrete. Continuous. Fundamental Computer Graphics or the discretization of lines and polygons. Overview. Torsten Möller Simon Fraser University Fundamental Computer Graphics or the discretization of lines and polygons Torsten Möller Simon Fraser University Overview 1D lines in 2D space Cartesian lattices: Bresenham General N-D lattice: Ibáñez

More information

Voxelization in Common Sampling Lattices

Voxelization in Common Sampling Lattices Voxelization in Common Sampling Lattices Haris Widjaya htw@cs.sfu.ca Torsten Möller torsten@cs.sfu.ca Alireza Entezari aentezar@cs.sfu.ca Abstract In this paper we introduce algorithms to voxelize polygonal

More information

Optimal 3D Lattices in Scientific Visualization and Computer Graphics

Optimal 3D Lattices in Scientific Visualization and Computer Graphics Optimal 3D Lattices in Scientific Visualization and Computer Graphics School of Computing Science Simon Fraser University Jan, 2007 Outline Visualization and Graphics 1 Visualization and Graphics 2 3 Further

More information

Digital Straight Line Segment Recognition on Non-Standard Point Lattices

Digital Straight Line Segment Recognition on Non-Standard Point Lattices U.U.D.M. Project Report 2010:1 Digital Straight Line Segment Recognition on Non-Standard Point Lattices Kelly Hubble Examensarbete i matematik, 30 hp Handledare: Robin Strand Examinator: Andreas Strömbergsson

More information

An Accurate Method for Voxelizing Polygon Meshes

An Accurate Method for Voxelizing Polygon Meshes An Accurate Method for Voxelizing Polygon Meshes Jian Huang 1, Roni Yagel 1,2, Vassily Filippov 1, and Yair Kurzion 1 1 Department of Computer and Information Science, The Ohio State University, Columbus

More information

An Accurate Method To Voxelize Polygonal Meshes

An Accurate Method To Voxelize Polygonal Meshes An Accurate Method To Voxelize Polygonal Meshes Jian Huang 1, Roni Yagel 1,2, Vassily Filippov 1, and Yair Kurzion 1 1 Department of Computer and Information Science, The Ohio State University, Columbus

More information

Chapter - 2: Geometry and Line Generations

Chapter - 2: Geometry and Line Generations Chapter - 2: Geometry and Line Generations In Computer graphics, various application ranges in different areas like entertainment to scientific image processing. In defining this all application mathematics

More information

RASTERIZING POLYGONS IN IMAGE SPACE

RASTERIZING POLYGONS IN IMAGE SPACE On-Line Computer Graphics Notes RASTERIZING POLYGONS IN IMAGE SPACE Kenneth I. Joy Visualization and Graphics Research Group Department of Computer Science University of California, Davis A fundamental

More information

Application of optimal sampling lattices on CT image reconstruction and segmentation or three dimensional printing

Application of optimal sampling lattices on CT image reconstruction and segmentation or three dimensional printing Application of optimal sampling lattices on CT image reconstruction and segmentation or three dimensional printing XIQIANG ZHENG Division of Health and Natural Sciences, Voorhees College, Denmark, SC 29042

More information

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves CSC 418/2504: Computer Graphics Course web site (includes course information sheet): http://www.dgp.toronto.edu/~elf Instructor: Eugene Fiume Office: BA 5266 Phone: 416 978 5472 (not a reliable way) Email:

More information

Points and lines. x x 1 + y 1. y = mx + b

Points and lines. x x 1 + y 1. y = mx + b Points and lines Point is the fundamental element of the picture representation. It is nothing but the position in a plan defined as either pairs or triplets of number depending on whether the data are

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

Line Drawing. Introduction to Computer Graphics Torsten Möller / Mike Phillips. Machiraju/Zhang/Möller

Line Drawing. Introduction to Computer Graphics Torsten Möller / Mike Phillips. Machiraju/Zhang/Möller Line Drawing Introduction to Computer Graphics Torsten Möller / Mike Phillips Rendering Pipeline Hardware Modelling Transform Visibility Illumination + Shading Perception, Color Interaction Texture/ Realism

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

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR 603203 DEPARTMENT OF COMPUTER SCIENCE & APPLICATIONS QUESTION BANK (2017-2018) Course / Branch : BCA Semester / Year : IV / II Subject Name : Computer

More information

Optimal Sampling Lattices for High-Fidelity CT Reconstruction

Optimal Sampling Lattices for High-Fidelity CT Reconstruction IEEE Medical Imaging Conference Record, Orlando, FL, November, 009 Optimal Sampling Lattices for High-Fidelity CT Reconstruction Klaus Mueller, Senior Member, IEEE and Fang Xu, Member, IEEE Abstract We

More information

A Depth Buffer Based Voxelization Algorithm

A Depth Buffer Based Voxelization Algorithm A Depth Buffer Based Voxelization Algorithm Aggeliki Karabassi, George Papaioannou and Theoharis Theoharis Department of Informatics, University of Athens TYPA Buildings, Panepistimiopolis, Athens 15784,

More information

Line Drawing. Foundations of Computer Graphics Torsten Möller

Line Drawing. Foundations of Computer Graphics Torsten Möller Line Drawing Foundations of Computer Graphics Torsten Möller Rendering Pipeline Hardware Modelling Transform Visibility Illumination + Shading Perception, Interaction Color Texture/ Realism Reading Angel

More information

Clipping and Scan Conversion

Clipping and Scan Conversion 15-462 Computer Graphics I Lecture 14 Clipping and Scan Conversion Line Clipping Polygon Clipping Clipping in Three Dimensions Scan Conversion (Rasterization) [Angel 7.3-7.6, 7.8-7.9] March 19, 2002 Frank

More information

CS2401 COMPUTER GRAPHICS ANNA UNIV QUESTION BANK

CS2401 COMPUTER GRAPHICS ANNA UNIV QUESTION BANK CS2401 Computer Graphics CS2401 COMPUTER GRAPHICS ANNA UNIV QUESTION BANK CS2401- COMPUTER GRAPHICS UNIT 1-2D PRIMITIVES 1. Define Computer Graphics. 2. Explain any 3 uses of computer graphics applications.

More information

OpenGL Graphics System. 2D Graphics Primitives. Drawing 2D Graphics Primitives. 2D Graphics Primitives. Mathematical 2D Primitives.

OpenGL Graphics System. 2D Graphics Primitives. Drawing 2D Graphics Primitives. 2D Graphics Primitives. Mathematical 2D Primitives. D Graphics Primitives Eye sees Displays - CRT/LCD Frame buffer - Addressable pixel array (D) Graphics processor s main function is to map application model (D) by projection on to D primitives: points,

More information

Neighborhood Sequences on nd Hexagonal/Face-Centered-Cubic Grids

Neighborhood Sequences on nd Hexagonal/Face-Centered-Cubic Grids Neighborhood Sequences on nd Hexagonal/Face-Centered-Cubic Grids Benedek Nagy 1 and Robin Strand 1 Department of Computer Science, Faculty of Informatics, University of Debrecen, Debrecen, Hungary nbenedek@inf.unideb.hu

More information

CS452/552; EE465/505. Clipping & Scan Conversion

CS452/552; EE465/505. Clipping & Scan Conversion CS452/552; EE465/505 Clipping & Scan Conversion 3-31 15 Outline! From Geometry to Pixels: Overview Clipping (continued) Scan conversion Read: Angel, Chapter 8, 8.1-8.9 Project#1 due: this week Lab4 due:

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

Computer Graphics D Graphics Algorithms

Computer Graphics D Graphics Algorithms Computer Graphics 2015 2. 2D Graphics Algorithms Hongxin Zhang State Key Lab of CAD&CG, Zhejiang University 2015-09-21 Screen - Linear Structure Nikon D40 Sensors 3 RGBW Camera Sensor RGBW Camera Sensor

More information

Output Primitives. Dr. S.M. Malaek. Assistant: M. Younesi

Output Primitives. Dr. S.M. Malaek. Assistant: M. Younesi Output Primitives Dr. S.M. Malaek Assistant: M. Younesi Output Primitives Output Primitives: Basic geometric structures (points, straight line segment, circles and other conic sections, quadric surfaces,

More information

Topics. From vertices to fragments

Topics. From vertices to fragments Topics From vertices to fragments From Vertices to Fragments Assign a color to every pixel Pass every object through the system Required tasks: Modeling Geometric processing Rasterization Fragment processing

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

Line Drawing Week 6, Lecture 9

Line Drawing Week 6, Lecture 9 CS 536 Computer Graphics Line Drawing Week 6, Lecture 9 David Breen, William Regli and axim Peysakhov Department of Computer Science Drexel University Outline Line drawing Digital differential analyzer

More information

LECTURE 2 SPATIAL DATA MODELS

LECTURE 2 SPATIAL DATA MODELS LECTURE 2 SPATIAL DATA MODELS Computers and GIS cannot directly be applied to the real world: a data gathering step comes first. Digital computers operate in numbers and characters held internally as binary

More information

Institutionen för systemteknik

Institutionen för systemteknik Code: Day: Lokal: M7002E 19 March E1026 Institutionen för systemteknik Examination in: M7002E, Computer Graphics and Virtual Environments Number of sections: 7 Max. score: 100 (normally 60 is required

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

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

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

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time

More information

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1

graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time

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

SRM INSTITUTE OF SCIENCE AND TECHNOLOGY

SRM INSTITUTE OF SCIENCE AND TECHNOLOGY SRM INSTITUTE OF SCIENCE AND TECHNOLOGY DEPARTMENT OF INFORMATION TECHNOLOGY QUESTION BANK SUB.NAME: COMPUTER GRAPHICS SUB.CODE: IT307 CLASS : III/IT UNIT-1 2-marks 1. What is the various applications

More information

Point-Based Rendering

Point-Based Rendering Point-Based Rendering Kobbelt & Botsch, Computers & Graphics 2004 Surface Splatting (EWA: Elliptic Weighted Averaging) Main Idea Signal Processing Basics Resampling Gaussian Filters Reconstruction Kernels

More information

OXFORD ENGINEERING COLLEGE (NAAC Accredited with B Grade) DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING LIST OF QUESTIONS

OXFORD ENGINEERING COLLEGE (NAAC Accredited with B Grade) DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING LIST OF QUESTIONS OXFORD ENGINEERING COLLEGE (NAAC Accredited with B Grade) DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING LIST OF QUESTIONS YEAR/SEM.: III/V STAFF NAME: T.ELANGOVAN SUBJECT NAME: Computer Graphics SUB. CODE:

More information

Computer Graphics: Graphics Output Primitives Line Drawing Algorithms

Computer Graphics: Graphics Output Primitives Line Drawing Algorithms Computer Graphics: Graphics Output Primitives Line Drawing Algorithms By: A. H. Abdul Hafez Abdul.hafez@hku.edu.tr, 1 Outlines 1. Basic concept of lines in OpenGL 2. Line Equation 3. DDA Algorithm 4. DDA

More information

Scan Conversion. CMP 477 Computer Graphics S. A. Arekete

Scan Conversion. CMP 477 Computer Graphics S. A. Arekete Scan Conversion CMP 477 Computer Graphics S. A. Areete What is Scan-Conversion? 2D or 3D objects in real world space are made up of graphic primitives such as points, lines, circles and filled polygons.

More information

Computer Graphics. Lecture 2. Doç. Dr. Mehmet Gokturk

Computer Graphics. Lecture 2. Doç. Dr. Mehmet Gokturk Computer Graphics Lecture 2 Doç. Dr. Mehmet Gokturk Mathematical Foundations l Hearn and Baker (A1 A4) appendix gives good review l Some of the mathematical tools l Trigonometry l Vector spaces l Points,

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/ Instructors: L2501, T 6-8pm

More information

Computer Graphics D Graphics Algorithms

Computer Graphics D Graphics Algorithms ! Computer Graphics 2014! 2. 2D Graphics Algorithms Hongxin Zhang State Key Lab of CAD&CG, Zhejiang University 2014-09-26! Screen Nikon D40 Sensors 3 Rasterization - The task of displaying a world modeled

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

CS 130. Scan Conversion. Raster Graphics

CS 130. Scan Conversion. Raster Graphics CS 130 Scan Conversion Raster Graphics 2 1 Image Formation Computer graphics forms images, generally two dimensional, using processes analogous to physical imaging systems like: - Cameras - Human visual

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

04 - Normal Estimation, Curves

04 - Normal Estimation, Curves 04 - Normal Estimation, Curves Acknowledgements: Olga Sorkine-Hornung Normal Estimation Implicit Surface Reconstruction Implicit function from point clouds Need consistently oriented normals < 0 0 > 0

More information

Computer Graphics and GPGPU Programming

Computer Graphics and GPGPU Programming Computer Graphics and GPGPU Programming Donato D Ambrosio Department of Mathematics and Computer Science and Center of Excellence for High Performace Computing Cubo 22B, University of Calabria, Rende 87036,

More information

05 - Surfaces. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Daniele Panozzo

05 - Surfaces. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Daniele Panozzo 05 - Surfaces Acknowledgements: Olga Sorkine-Hornung Reminder Curves Turning Number Theorem Continuous world Discrete world k: Curvature is scale dependent is scale-independent Discrete Curvature Integrated

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

2D Image Synthesis. 2D image synthesis. Raster graphics systems. Modeling transformation. Vectorization. u x u y 0. o x o y 1

2D Image Synthesis. 2D image synthesis. Raster graphics systems. Modeling transformation. Vectorization. u x u y 0. o x o y 1 General scheme of a 2D CG application 2D Image Synthesis Balázs Csébfalvi modeling image synthesis Virtual world model world defined in a 2D plane Department of Control Engineering and Information Technology

More information

ME 111: Engineering Drawing. Geometric Constructions

ME 111: Engineering Drawing. Geometric Constructions ME 111: Engineering Drawing Lecture 2 01-08-2011 Geometric Constructions Indian Institute of Technology Guwahati Guwahati 781039 Geometric Construction Construction of primitive geometric forms (points,

More information

EAT 233/3 GEOGRAPHIC INFORMATION SYSTEM (GIS)

EAT 233/3 GEOGRAPHIC INFORMATION SYSTEM (GIS) EAT 233/3 GEOGRAPHIC INFORMATION SYSTEM (GIS) CO3: Ability to produce detail mapping using geographic information systems (GIS) BY : AYU WAZIRA AZHARI SPATIAL DATA & THE MODELLING Spatial Data in GIS Spatial

More information

Topic 0. Introduction: What Is Computer Graphics? CSC 418/2504: Computer Graphics EF432. Today s Topics. What is Computer Graphics?

Topic 0. Introduction: What Is Computer Graphics? CSC 418/2504: Computer Graphics EF432. Today s Topics. What is Computer Graphics? 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/ Instructors: L0101, W 12-2pm

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

Surfaces, meshes, and topology

Surfaces, meshes, and topology Surfaces from Point Samples Surfaces, meshes, and topology A surface is a 2-manifold embedded in 3- dimensional Euclidean space Such surfaces are often approximated by triangle meshes 2 1 Triangle mesh

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

(a) rotating 45 0 about the origin and then translating in the direction of vector I by 4 units and (b) translating and then rotation.

(a) rotating 45 0 about the origin and then translating in the direction of vector I by 4 units and (b) translating and then rotation. Code No: R05221201 Set No. 1 1. (a) List and explain the applications of Computer Graphics. (b) With a neat cross- sectional view explain the functioning of CRT devices. 2. (a) Write the modified version

More information

CS 4620 Final Exam. (a) Is a circle C 0 continuous?

CS 4620 Final Exam. (a) Is a circle C 0 continuous? CS 4620 Final Exam Wednesday 9, December 2009 2 1 2 hours Prof. Doug James Explain your reasoning for full credit. You are permitted a double-sided sheet of notes. Calculators are allowed but unnecessary.

More information

FROM VERTICES TO FRAGMENTS. Lecture 5 Comp3080 Computer Graphics HKBU

FROM VERTICES TO FRAGMENTS. Lecture 5 Comp3080 Computer Graphics HKBU FROM VERTICES TO FRAGMENTS Lecture 5 Comp3080 Computer Graphics HKBU OBJECTIVES Introduce basic implementation strategies Clipping Scan conversion OCTOBER 9, 2011 2 OVERVIEW At end of the geometric pipeline,

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

A Smart Voxelization Algorithm

A Smart Voxelization Algorithm A Smart Voxelization Algorithm Zhao Dong Wei Chen Hujun Bao Hongxin Zhang Qunsheng Peng State Key Lab of CAD&CG, Zhejiang University, 310027, Hangzhou, China {flycooler, chenwei, bao, zhx, peng}@cad.zju.edu.cn

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

CSCI 420 Computer Graphics Lecture 14. Rasterization. Scan Conversion Antialiasing [Angel Ch. 6] Jernej Barbic University of Southern California

CSCI 420 Computer Graphics Lecture 14. Rasterization. Scan Conversion Antialiasing [Angel Ch. 6] Jernej Barbic University of Southern California CSCI 420 Computer Graphics Lecture 14 Rasterization Scan Conversion Antialiasing [Angel Ch. 6] Jernej Barbic University of Southern California 1 Rasterization (scan conversion) Final step in pipeline:

More information

Computer Graphics. - Rasterization - Philipp Slusallek

Computer Graphics. - Rasterization - Philipp Slusallek Computer Graphics - Rasterization - Philipp Slusallek Rasterization Definition Given some geometry (point, 2D line, circle, triangle, polygon, ), specify which pixels of a raster display each primitive

More information

Rasterization. Rasterization (scan conversion) Digital Differential Analyzer (DDA) Rasterizing a line. Digital Differential Analyzer (DDA)

Rasterization. Rasterization (scan conversion) Digital Differential Analyzer (DDA) Rasterizing a line. Digital Differential Analyzer (DDA) CSCI 420 Computer Graphics Lecture 14 Rasterization Jernej Barbic University of Southern California Scan Conversion Antialiasing [Angel Ch. 6] Rasterization (scan conversion) Final step in pipeline: rasterization

More information

1 Introduction to Graphics

1 Introduction to Graphics 1 1.1 Raster Displays The screen is represented by a 2D array of locations called pixels. Zooming in on an image made up of pixels The convention in these notes will follow that of OpenGL, placing the

More information

Voxel-based Representation, Display and Thickness Analysis of Intricate Shapes

Voxel-based Representation, Display and Thickness Analysis of Intricate Shapes Technical paper submitted for presentation at International Conference on CAD and CG, Hong Kong, 7-10 December 2005 Voxel-based Representation, Display and Thickness Analysis of Intricate Shapes Sandeep

More information

Image Sampling and Quantisation

Image Sampling and Quantisation Image Sampling and Quantisation Introduction to Signal and Image Processing Prof. Dr. Philippe Cattin MIAC, University of Basel 1 of 46 22.02.2016 09:17 Contents Contents 1 Motivation 2 Sampling Introduction

More information

CS 5630/6630 Scientific Visualization. Volume Rendering III: Unstructured Grid Techniques

CS 5630/6630 Scientific Visualization. Volume Rendering III: Unstructured Grid Techniques CS 5630/6630 Scientific Visualization Volume Rendering III: Unstructured Grid Techniques Unstructured Grids Image-space techniques Ray-Casting Object-space techniques Projected Tetrahedra Hybrid Incremental

More information

KRISTU JYOTI COLLEGE OF MANAGEMENT & TECHNOLOGY QUESTION BANK BCA SEMESTER III Computer graphics Part A (2 marks questions)

KRISTU JYOTI COLLEGE OF MANAGEMENT & TECHNOLOGY QUESTION BANK BCA SEMESTER III Computer graphics Part A (2 marks questions) KRISTU JYOTI COLLEGE OF MANAGEMENT & TECHNOLOGY QUESTION BANK 2018 BCA SEMESTER III Computer graphics Part A (2 marks questions) 1. What do mean by refreshing of a screen? 2. Define computer graphics 3.

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

Image Sampling & Quantisation

Image Sampling & Quantisation Image Sampling & Quantisation Biomedical Image Analysis Prof. Dr. Philippe Cattin MIAC, University of Basel Contents 1 Motivation 2 Sampling Introduction and Motivation Sampling Example Quantisation Example

More information

Scan Conversion. Drawing Lines Drawing Circles

Scan Conversion. Drawing Lines Drawing Circles Scan Conversion Drawing Lines Drawing Circles 1 How to Draw This? 2 Start From Simple How to draw a line: y(x) = mx + b? 3 Scan Conversion, a.k.a. Rasterization Ideal Picture Raster Representation Scan

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

(Discrete) Differential Geometry

(Discrete) Differential Geometry (Discrete) Differential Geometry Motivation Understand the structure of the surface Properties: smoothness, curviness, important directions How to modify the surface to change these properties What properties

More information

Realtime 3D Computer Graphics Virtual Reality

Realtime 3D Computer Graphics Virtual Reality Realtime 3D Computer Graphics Virtual Reality From Vertices to Fragments Overview Overall goal recapitulation: Input: World description, e.g., set of vertices and states for objects, attributes, camera,

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

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

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

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

CS602 Midterm Subjective Solved with Reference By WELL WISHER (Aqua Leo)

CS602 Midterm Subjective Solved with Reference By WELL WISHER (Aqua Leo) CS602 Midterm Subjective Solved with Reference By WELL WISHER (Aqua Leo) www.vucybarien.com Question No: 1 What are the two focusing methods in CRT? Explain briefly. Page no : 26 1. Electrostatic focusing

More information

CS602 MCQ,s for midterm paper with reference solved by Shahid

CS602 MCQ,s for midterm paper with reference solved by Shahid #1 Rotating a point requires The coordinates for the point The rotation angles Both of above Page No 175 None of above #2 In Trimetric the direction of projection makes unequal angle with the three principal

More information

Last class. A vertex (w x, w y, w z, w) - clipping is in the - windowing and viewport normalized view volume if: - scan conversion/ rasterization

Last class. A vertex (w x, w y, w z, w) - clipping is in the - windowing and viewport normalized view volume if: - scan conversion/ rasterization Lecture 6 Last class Last lecture (clip coordinates): A vertex (w x, w y, w z, w) - clipping is in the - windowing and viewport normalized view volume if: - scan conversion/ rasterization normalized view

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

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

Rasterization. CS4620/5620: Lecture 12. Announcements. Turn in HW 1. PPA 1 out. Friday lecture. History of graphics PPA 1 in 4621.

Rasterization. CS4620/5620: Lecture 12. Announcements. Turn in HW 1. PPA 1 out. Friday lecture. History of graphics PPA 1 in 4621. CS4620/5620: Lecture 12 Rasterization 1 Announcements Turn in HW 1 PPA 1 out Friday lecture History of graphics PPA 1 in 4621 2 The graphics pipeline The standard approach to object-order graphics Many

More information

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur 603203. DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Year & Semester : III Year, V Semester Section : CSE - 1 & 2 Subject Code : CS6504 Subject

More information

Automatic Pipeline Generation by the Sequential Segmentation and Skelton Construction of Point Cloud

Automatic Pipeline Generation by the Sequential Segmentation and Skelton Construction of Point Cloud , pp.43-47 http://dx.doi.org/10.14257/astl.2014.67.11 Automatic Pipeline Generation by the Sequential Segmentation and Skelton Construction of Point Cloud Ashok Kumar Patil, Seong Sill Park, Pavitra Holi,

More information

Rasterization. CS 4620 Lecture Kavita Bala w/ prior instructor Steve Marschner. Cornell CS4620 Fall 2015 Lecture 16

Rasterization. CS 4620 Lecture Kavita Bala w/ prior instructor Steve Marschner. Cornell CS4620 Fall 2015 Lecture 16 Rasterization CS 4620 Lecture 16 1 Announcements A3 due on Thu Will send mail about grading once finalized 2 Pipeline overview you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX

More information

AMCS / CS 247 Scientific Visualization Lecture 4: Data Representation, Pt. 1. Markus Hadwiger, KAUST

AMCS / CS 247 Scientific Visualization Lecture 4: Data Representation, Pt. 1. Markus Hadwiger, KAUST AMCS / CS 247 Scientific Visualization Lecture 4: Data Representation, Pt. 1 Markus Hadwiger, KAUST Reading Assignment #2 (until Sep 1) Read (required): Data Visualization book, finish Chapter 2 Data Visualization

More information

Fall CSCI 420: Computer Graphics. 7.1 Rasterization. Hao Li.

Fall CSCI 420: Computer Graphics. 7.1 Rasterization. Hao Li. Fall 2015 CSCI 420: Computer Graphics 7.1 Rasterization Hao Li http://cs420.hao-li.com 1 Rendering Pipeline 2 Outline Scan Conversion for Lines Scan Conversion for Polygons Antialiasing 3 Rasterization

More information

Voxels and Voxelization Algorithms

Voxels and Voxelization Algorithms Voxels and Voxelization Algorithms Two methods of rasterization, raster specific operations Ir. Pirouz Nourian Researcher, Urbanism Department, 3D Geo Information PhD candidate & Instructor, AE+T department

More information

Local non-planarity of three dimensional surfaces for an invertible reconstruction: k-cuspal cells.

Local non-planarity of three dimensional surfaces for an invertible reconstruction: k-cuspal cells. Author manuscript, published in "4th International Symposium, ISVC 2008, Las Vegas : United States (2008)" DOI : 10.1007/978-3-540-89639-5_88 Local non-planarity of three dimensional surfaces for an invertible

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

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