Computer Graphics. Modelling in 2D. 2D primitives. Lines and Polylines. OpenGL polygon primitives. Special polygons

Size: px
Start display at page:

Download "Computer Graphics. Modelling in 2D. 2D primitives. Lines and Polylines. OpenGL polygon primitives. Special polygons"

Transcription

1 Computer Graphics Modelling in D Lecture School of EECS Queen Mar, Universit of London D primitives Digital line algorithms Digital circle algorithms Polgon filling CG - p.hao@qmul.ac.uk D primitives Line segments Ellipses and circles Polgons Curves Lines and Pollines Lines drawn between ordered points to create more comple forms called pollines. Same first and last point make closed polline or polgon. If it does not intersect itself, called simple polgon. Conve Polgons: For ever pair of points in the polgon, the line between them is full contained in the polgon. Concave Polgons: Not conve: some two points in the polgon are joined b a line not full contained in the polgon. Polline Polgon Conve polgon Concave polgon CG - p.hao@qmul.ac.uk CG - p.hao@qmul.ac.uk 4 Special polgons OpenGL polgon primitives v 4 v v 5 v v 4 v 4 v v 5 v 5 v6 v v 6 v v v 6 v v 8 v 7 v v 8 v 7 v v 8 v 7 Triangles Quads Polgon triangle square rectangle v v v 5 v v 4 v 5 v v 4 v 6 v 8 v v v 4 v 6 Triangle Strip v Triangle Fan v v v 5 Quad Strip v 7 CG - p.hao@qmul.ac.uk 5 CG - p.hao@qmul.ac.uk 6

2 Scan Converting Lines Mathematics of Lines Rasterization (scan-conversion) : turn D primitives into sets of piels Equation of a (D) line: a + b + c = 0 Direction: ( b, a) Normal vector: (a, b) ideal line Parametric equation of a segment [P0-P] : (t) = 0 + t*(-0) = (-t)*0 + t* (t) = 0 + t*(-0) = (-t)*0 + t*, where t in [0..] O For a line from (0, 0) to (, ), the line equation is = m + c where m is the slope of the line m = ( 0) / ( 0) c = 0 m*0 Note that we can restrict out attention to lines of slope between - and. CG - p.hao@qmul.ac.uk 7 CG - p.hao@qmul.ac.uk 8 Naive algorithm Clever approaches faster. start with the smallest of (0,0). compute corresponding value of. SetPiel(, round()) 4. increment and loop until reaching ma(,) Cost: float multiplication + float addition + round per loop O Use integer calculations Avoid divides and multiplies Use incremental computations Use spatial coherence CG - p.hao@qmul.ac.uk 9 CG - p.hao@qmul.ac.uk 0 Basic Incremental Algorithm Digital differential analzer (DDA) algorithm: void Line(int 0, int 0, int, int ) { int ; float d, d,, m; d = - 0; /* Floating */ d = - 0; /* Floating */ m = d/d; /* Floating division */ = 0; /* Floating */ for ( = 0; <=,++){ SetPiel(, round()); += m; /* Increment */ Cost: float add + round per loop CG - p.hao@qmul.ac.uk Midpoint Line Algorithm Line equation: ( 0)( 0) = ( 0)( 0) or F(,) = 0 F(,) = ( 0)( 0) ( 0)( 0) = ( 0) ( 0) ( 0)0+( 0)0 F(+, ) F(,) = ( 0) F(+, +) F(,) = ( 0) ( 0) F(+, +/) F(,) = ( 0) ( 0)/ d = ( 0) ( 0) If point P(,) drawn, the net point is either P(+,) or P(+,+) To decide which point, use the relative position of the midpoint M = (+, +/) with respect to the line The distance d can be computed incrementall with onl one or two integer adds per loop! CG - p.hao@qmul.ac.uk

3 Midpoint Line Algorithm Scan Converting Circles Bresenham's algorithm: void MidpointLine(int 0, int 0, int, int ) { int d,d,incre,incrne,d,,; d=-0; d=-0; d=*d-d; /* initial value of d */ incre=*d; /* increment for move to E */ incrne=*d-*d; /* increment for move to NE */ =0; =0; DrawPiel(,) /* draw the first piel */ while (<){ if (d<=0){ /* choose E */ d+=incre; ++; /* move E */ F(, )<0 else { /* choose NE */ NE d+=incrne; ++; ++; /* move NE */ SetPiel (,); (i, i) E Cost: integer add per piel F(, )>0 CG - p.hao@qmul.ac.uk F(, )=0 (i+, i+/) For a circle + = R, we could use the following algorithm: for (= R; <=R; ++) { SetPiel (, round(sqrt(r* R * )); SetPiel (, round(sqrt(r* R * )); However, this simple method is inefficient And the circle has large gaps for the value of close to R The large gaps can be avoided b using the parametric equations of the circle: = R cos(a), = R sin(a) However the inefficienc problems remain. CG - p.hao@qmul.ac.uk 4 R Eight-Wa Smmetr we can draw a circle smmetricall b eight-sections if we draw a piel (, ) then we can also draw (, ), (, ), (, ), (, ), (, ), (, ), (, ). Therefore, we onl need consider 45 O of a circle, from =0 and = to ==R/sqrt(). Midpoint Circle Algorithm Circle equation: + = R or F(,) = 0 F(,)= + R = 0 F(+, /) F(,) = + 5/4 d = + 5/4; d(0,r) = 5/4 R E move: F(+, /) F(+, /) = + d new = d old + + SE move: F(+, /) F(+, /) = ( ) + 5 d new = d old + ( ) + 5 CG - p.hao@qmul.ac.uk 5 CG - p.hao@qmul.ac.uk 6 Midpoint Circle Algorithm void MidpointCircle (int radius) { /* Assume integer radius. */ int,,d = 0; = radius; d = - radius; /* Initialization */ SetPiel(,); while (>) { if (d < 0) { /* Choose E */ d += * + ; ++; else { /* Choose SE */ d += *(-)+5; ++; --; SetPiel(,); all integer computations, shift and or adds per piel Filling Shapes Filling Shapes: Turn on all the piels on a raster displa that are INSIDE a mathematical shape. Questions before filling: Is the shape closed with a boundar? Which piel is inside and which is outside? What color/pattern should the shape be filled with? CG - p.hao@qmul.ac.uk 7 CG - p.hao@qmul.ac.uk 8

4 ODL DCS ODL DCS Filling Rectangles Filling Polgons If the rectangle is aligned with the and ais, then we can easil determine which piels lie inside the rectangle. for = min to ma for = min to ma SetPiel (, ) Use scan lines Edge coherence Finding intersections CG - p.hao@qmul.ac.uk 9 CG - p.hao@qmul.ac.uk 0 Geometric Modelling Geometric Modelling Hierarch in Geometric Models Modelling transformations Surface modelling Solid Modelling Point-based Surface-based Constructive CG - p.hao@qmul.ac.uk CG - p.hao@qmul.ac.uk Hierarch in Geometric Models Comple objects can be built using applicationspecific atomic components. Smbolized b various tree structures or DAG (Directed Acclic Graph). QM Tree upperbod leg leg arm arm foot foot hand hand DAG upperbod leg arm hand foot Binar Tree upperbod arm leg hand arm foot leg hand foot Hierarch in Geometric Models If a child-sibling tree (binar tree) is emploed, preorder traversal can be used for rendering. Parent calls child and passes geometric parameters to child. QM Tree upperbod leg leg arm arm foot foot hand hand DAG Binar Tree upperbod upperbod leg arm leg arm foot hand arm foot leg hand hand foot CG - p.hao@qmul.ac.uk CG - p.hao@qmul.ac.uk 4 4

5 Modelling transformations Surface modelling Boundar Representations CG - p.hao@qmul.ac.uk 5 CG - p.hao@qmul.ac.uk 6 Representing Polgon Meshes Representing Polgon Meshes A polgon mesh is a collection of polgons or faces, which are together connected to form the skin of the object. Faces Edges, the boundar between faces Vertices, the boundaries between edges, or where three or more faces meet Normals, teture coordinates, colors, shading coefficients, etc Polgon Mesh Verte list locations of the vertices, geometric information Edge list indees into end vertices of edges, topological information Face list indees into vertices and normal lists, topological information Normal list directions of the normal vectors, orientation information. CG - p.hao@qmul.ac.uk 7 CG - p.hao@qmul.ac.uk 8 Representing Polgon Meshes Euler s Formula: V E + F = verte list and face list are enough. Polgon Mesh Eample A cube: Coordinates of Vertices (D,,, and z for each verte): -, # Verte 0 - -, # Verte - - -, # Verte - -, # Verte, # Verte 4 -, # Verte 5 - -, # Verte 6 -, # Verte 7 Lists of 6 Faces (vertices are referenced to the vertices above, - marks the end of the verte list of a face) :,, 0,, -, # Front face=verte,,0, 0,, 5, 4, -, # Right side 7, 6,,, -, # Left side 4, 5, 6, 7, -, # Back 0, 4, 7,, -, # Top,, 6, 5, - # Bottom CG - p.hao@qmul.ac.uk 9 CG - p.hao@qmul.ac.uk 0 5

6 Polgon Mesh Eample Plane Equations A House : Coordinates of Vertices : 0, # Verte 0 0 -, # Verte - 0 -, # Verte - 0, # Verte, # Verte 4 -, # Verte 5 - -, # Verte 6 -, # Verte # Verte 8 List of Faces : 0,,,, -, 0,, 5, 4, -,,, 6, 5, -,,, 7, 6, -,, 0, 4, 7, -, 4, 5, 8, -, 5, 6, 8, -, 6, 7, 8, -, 7, 4, 8, - The equation of a plane is A + B + Cz + D = 0 Its normal vector is (A, B, C). Three points determine a plane: A B Cz D 0 A B Cz D 0 A B Cz D 0 A B Cz D 0 The plane equation: z A z B 0 z C z D z z 0 z z z z z z z + z z z z 0 z CG - p.hao@qmul.ac.uk CG - p.hao@qmul.ac.uk Relative location with a plane A Nonsense Object A B Cz D outside on inside Perpendicular distance from a point (,, z) to a plane : d A B Cz D A B C CG - p.hao@qmul.ac.uk CG - p.hao@qmul.ac.uk 4 What do we mean b a solid object? Three-Levels of Modeling finite three dimensional rigid closed finitel describable with a determinable boundar World Phsical objects Solid Mathematical objects theor Point-set topolog Algebraic topolog Bod of mathematics Representation realization B-rep CSG Decomposition CG - p.hao@qmul.ac.uk 5 CG - p.hao@qmul.ac.uk 6 6

7 Regularized Boolean Set Operations Primitive instancing CG - p.hao@qmul.ac.uk 7 CG - p.hao@qmul.ac.uk 8 Sweep Representations Boundar Representations Z Z sweep sweep X Y Y X CG - p.hao@qmul.ac.uk 9 CG - p.hao@qmul.ac.uk 40 Spatial-Partitioning Representations Constructive Solid Geometr (CSG) Cell decomposition Spatial occupanc enumeration Octrees CSG Tree Binar Space Partition A B D B out C C D A in out in out CG - p.hao@qmul.ac.uk 4 CG - p.hao@qmul.ac.uk 4 7

8 Object Modelling Summar Voels Polgon Mesh Octree CSG Tree B-rep CG - p.hao@qmul.ac.uk 4 8

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 OUTPUT PRIMITIVES

GRAPHICS OUTPUT PRIMITIVES CHAPTER 3 GRAPHICS OUTPUT PRIMITIVES LINE DRAWING ALGORITHMS DDA Line Algorithm Bresenham Line Algorithm Midpoint Circle Algorithm Midpoint Ellipse Algorithm CG - Chapter-3 LINE DRAWING Line drawing is

More information

Computer Graphics. Lecture 3 Graphics Output Primitives. Somsak Walairacht, Computer Engineering, KMITL

Computer Graphics. Lecture 3 Graphics Output Primitives. Somsak Walairacht, Computer Engineering, KMITL Computer Graphics Lecture 3 Graphics Output Primitives Somsa Walairacht, Computer Engineering, KMITL Outline Line Drawing Algorithms Circle-, Ellipse-Generating Algorithms Fill-Area Primitives Polgon Fill

More information

CSC Computer Graphics

CSC Computer Graphics 7//7 CSC. Computer Graphics Lecture Kasun@dscs.sjp.ac.l Department of Computer Science Universit of Sri Jaewardanepura Line drawing algorithms DDA Midpoint (Bresenham s) Algorithm Circle drawing algorithms

More information

OUTPUT PRIMITIVES. CEng 477 Introduction to Computer Graphics METU, 2007

OUTPUT PRIMITIVES. CEng 477 Introduction to Computer Graphics METU, 2007 OUTPUT PRIMITIVES CEng 477 Introduction to Computer Graphics METU, 007 Recap: The basic forward projection pipeline: MCS Model Model Modeling Transformations M M 3D World Scene Viewing Transformations

More information

CS 450: COMPUTER GRAPHICS RASTERIZING LINES SPRING 2016 DR. MICHAEL J. REALE

CS 450: COMPUTER GRAPHICS RASTERIZING LINES SPRING 2016 DR. MICHAEL J. REALE CS 45: COMPUTER GRAPHICS RASTERIZING LINES SPRING 6 DR. MICHAEL J. REALE OBJECT-ORDER RENDERING We going to start on how we will perform object-order rendering Object-order rendering Go through each OBJECT

More information

Two Dimensional Viewing

Two Dimensional Viewing Two Dimensional Viewing Dr. S.M. Malaek Assistant: M. Younesi Two Dimensional Viewing Basic Interactive Programming Basic Interactive Programming User controls contents, structure, and appearance of objects

More information

Computer Graphics. Computer Graphics. Lecture 3 Line & Circle Drawing

Computer Graphics. Computer Graphics. Lecture 3 Line & Circle Drawing Comuter Grahics Comuter Grahics Lecture 3 Line & Circle Drawing Comuter Grahics Towards the Ideal Line We can onl do a discrete aroimation Illuminate iels as close to the true ath as ossible, consider

More information

Prof. Feng Liu. Fall /25/2018

Prof. Feng Liu. Fall /25/2018 Prof. Feng Liu Fall 08 http://www.cs.pd.edu/~fliu/courses/cs7/ 0/5/08 Last time Clipping Toda Rasterization In-class Mid-term November Close-book eam Notes on page of A or Letter size paper Where We Stand

More information

CPSC / Scan Conversion

CPSC / Scan Conversion CPSC 599.64 / 601.64 Computer Screens: Raster Displays pixel rasters (usually) square pixels in rectangular raster evenly cover the image problem no such things such as lines, circles, etc. scan conversion

More information

Raster Displays and Scan Conversion. Computer Graphics, CSCD18 Fall 2008 Instructor: Leonid Sigal

Raster Displays and Scan Conversion. Computer Graphics, CSCD18 Fall 2008 Instructor: Leonid Sigal Raster Displays and Scan Conversion Computer Graphics, CSCD18 Fall 28 Instructor: Leonid Sigal Rater Displays Screen is represented by 2D array of locations called piels y Rater Displays Screen is represented

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

Scan Converting Lines

Scan Converting Lines Scan Conversion 1 Scan Converting Lines Line Drawing Draw a line on a raster screen between two points What s wrong with the statement of the problem? it doesn t say anything about which points are allowed

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

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

Today s class. Geometric objects and transformations. Informationsteknologi. Wednesday, November 7, 2007 Computer Graphics - Class 5 1

Today s class. Geometric objects and transformations. Informationsteknologi. Wednesday, November 7, 2007 Computer Graphics - Class 5 1 Toda s class Geometric objects and transformations Wednesda, November 7, 27 Computer Graphics - Class 5 Vector operations Review of vector operations needed for working in computer graphics adding two

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

CS 548: COMPUTER GRAPHICS DRAWING LINES AND CIRCLES SPRING 2015 DR. MICHAEL J. REALE

CS 548: COMPUTER GRAPHICS DRAWING LINES AND CIRCLES SPRING 2015 DR. MICHAEL J. REALE CS 548: COMPUTER GRAPHICS DRAWING LINES AND CIRCLES SPRING 05 DR. MICHAEL J. REALE OPENGL POINTS AND LINES OPENGL POINTS AND LINES In OenGL, there are different constants used to indicate what ind of rimitive

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

Raster Scan Displays. Framebuffer (Black and White)

Raster Scan Displays. Framebuffer (Black and White) Raster Scan Displays Beam of electrons deflected onto a phosphor coated screen Phosphors emit light when excited by the electrons Phosphor brightness decays -- need to refresh the display Phosphors make

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

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

Last Time. Correct Transparent Shadow. Does Ray Tracing Simulate Physics? Does Ray Tracing Simulate Physics? Refraction and the Lifeguard Problem

Last Time. Correct Transparent Shadow. Does Ray Tracing Simulate Physics? Does Ray Tracing Simulate Physics? Refraction and the Lifeguard Problem Graphics Pipeline: Projective Last Time Shadows cast ra to light stop after first intersection Reflection & Refraction compute direction of recursive ra Recursive Ra Tracing maimum number of bounces OR

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

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

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

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

Solid Modelling. Graphics Systems / Computer Graphics and Interfaces COLLEGE OF ENGINEERING UNIVERSITY OF PORTO

Solid Modelling. Graphics Systems / Computer Graphics and Interfaces COLLEGE OF ENGINEERING UNIVERSITY OF PORTO Solid Modelling Graphics Systems / Computer Graphics and Interfaces 1 Solid Modelling In 2D, one set 2D line segments or curves does not necessarily form a closed area. In 3D, a collection of surfaces

More information

R asterisation. Part I: Simple Lines. Affine transformation. Transform Render. Rasterisation Line Rasterisation 2/16

R asterisation. Part I: Simple Lines. Affine transformation. Transform Render. Rasterisation Line Rasterisation 2/16 ECM2410:GraphicsandAnimation R asterisation Part I: Simple Lines Rasterisation 1/16 Rendering a scene User space Device space Affine transformation Compose Transform Render Com pose from primitives (lines,

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

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

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

Reteaching Golden Ratio

Reteaching Golden Ratio Name Date Class Golden Ratio INV 11 You have investigated fractals. Now ou will investigate the golden ratio. The Golden Ratio in Line Segments The golden ratio is the irrational number 1 5. c On the line

More information

From Vertices to Fragments: Rasterization. Reading Assignment: Chapter 7. Special memory where pixel colors are stored.

From Vertices to Fragments: Rasterization. Reading Assignment: Chapter 7. Special memory where pixel colors are stored. From Vertices to Fragments: Rasterization Reading Assignment: Chapter 7 Frame Buffer Special memory where pixel colors are stored. System Bus CPU Main Memory Graphics Card -- Graphics Processing Unit (GPU)

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

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

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

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

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

The graphics pipeline. Pipeline and Rasterization. Primitives. Pipeline

The graphics pipeline. Pipeline and Rasterization. Primitives. Pipeline The graphics pipeline Pipeline and Rasterization CS4620 Lecture 9 The standard approach to object-order graphics Many versions exist software, e.g. Pixar s REYES architecture many options for quality and

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

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

UNIT -8 IMPLEMENTATION

UNIT -8 IMPLEMENTATION UNIT -8 IMPLEMENTATION 1. Discuss the Bresenham s rasterization algorithm. How is it advantageous when compared to other existing methods? Describe. (Jun2012) 10M Ans: Consider drawing a line on a raster

More information

End-Term Examination

End-Term Examination Paper Code: MCA-108 Paper ID : 44108 Second Semester [MCA] MAY-JUNE 2006 Q. 1 Describe the following in brief :- (3 x 5 = 15) (a) QUADRATIC SURFACES (b) RGB Color Models. (c) BSP Tree (d) Solid Modeling

More information

Pipeline and Rasterization. COMP770 Fall 2011

Pipeline and Rasterization. COMP770 Fall 2011 Pipeline and Rasterization COMP770 Fall 2011 1 The graphics pipeline The standard approach to object-order graphics Many versions exist software, e.g. Pixar s REYES architecture many options for quality

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

Rasterization, or What is glbegin(gl_lines) really doing?

Rasterization, or What is glbegin(gl_lines) really doing? Rasterization, or What is glbegin(gl_lines) really doing? Course web page: http://goo.gl/eb3aa February 23, 2012 Lecture 4 Outline Rasterizing lines DDA/parametric algorithm Midpoint/Bresenham s algorithm

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

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

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

Tópicos de Computação Gráfica Topics in Computer Graphics 10509: Doutoramento em Engenharia Informática. Chap. 2 Rasterization.

Tópicos de Computação Gráfica Topics in Computer Graphics 10509: Doutoramento em Engenharia Informática. Chap. 2 Rasterization. Tópicos de Computação Gráfica Topics in Computer Graphics 10509: Doutoramento em Engenharia Informática Chap. 2 Rasterization Rasterization Outline : Raster display technology. Basic concepts: pixel, resolution,

More information

Announcements. Tutorial this week Life of the polygon A1 theory questions

Announcements. Tutorial this week Life of the polygon A1 theory questions Announcements Assignment programming (due Frida) submission directories are ied use (submit -N Ab cscd88 a_solution.tgz) theor will be returned (Wednesda) Midterm Will cover all o the materials so ar including

More information

Output Primitives Lecture: 4. Lecture 4

Output Primitives Lecture: 4. Lecture 4 Lecture 4 Circle Generating Algorithms Since the circle is a frequently used component in pictures and graphs, a procedure for generating either full circles or circular arcs is included in most graphics

More information

MATH STUDENT BOOK. 10th Grade Unit 9

MATH STUDENT BOOK. 10th Grade Unit 9 MATH STUDENT BOOK 10th Grade Unit 9 Unit 9 Coordinate Geometr MATH 1009 Coordinate Geometr INTRODUCTION 3 1. ORDERED PAIRS 5 POINTS IN A PLANE 5 SYMMETRY 11 GRAPHS OF ALGEBRAIC CONDITIONS 19 SELF TEST

More information

CS335 Fall 2007 Graphics and Multimedia. 2D Drawings: Lines

CS335 Fall 2007 Graphics and Multimedia. 2D Drawings: Lines CS335 Fall 007 Grahics and Multimedia D Drawings: Lines Primitive Drawing Oerations Digital Concets of Drawing in Raster Arras PIXEL is a single arra element at x, - No smaller drawing unit exists Px,

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

The Traditional Graphics Pipeline

The Traditional Graphics Pipeline Last Time? The Traditional Graphics Pipeline Reading for Today A Practical Model for Subsurface Light Transport, Jensen, Marschner, Levoy, & Hanrahan, SIGGRAPH 2001 Participating Media Measuring BRDFs

More information

SOME 024: Computer Aided Design. E. Rozos

SOME 024: Computer Aided Design. E. Rozos SOME 024: Computer Aided Design E. Rozos Introduction to CAD theory part 2 Lesson structure Why Solid modelling Solid modelling methods Representation based Manufacturing based Solid modelling storage

More information

Summer Dear Geometry Students and Parents:

Summer Dear Geometry Students and Parents: Summer 2018 Dear Geometry Students and Parents: Welcome to Geometry! For the 2018-2019 school year, we would like to focus your attention to the prerequisite skills and concepts for Geometry. In order

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

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

Geometric and Solid Modeling. Problems

Geometric and Solid Modeling. Problems Geometric and Solid Modeling Problems Define a Solid Define Representation Schemes Devise Data Structures Construct Solids Page 1 Mathematical Models Points Curves Surfaces Solids A shape is a set of Points

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

Polygon Filling. Can write frame buffer one word at time rather than one bit. 2/3/2000 CS 4/57101 Lecture 6 1

Polygon Filling. Can write frame buffer one word at time rather than one bit. 2/3/2000 CS 4/57101 Lecture 6 1 Polygon Filling 2 parts to task which pixels to fill what to fill them with First consider filling unclipped primitives with solid color Which pixels to fill consider scan lines that intersect primitive

More information

VALLIAMMAI ENGINEERING COLLEGE

VALLIAMMAI ENGINEERING COLLEGE VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur 603 203 DEPARTMENT OF MECHANICAL ENGINEERING QUESTION BANK M.E: CAD/CAM I SEMESTER ED5151 COMPUTER APPLICATIONS IN DESIGN Regulation 2017 Academic

More information

CSG obj. oper3. obj1 obj2 obj3. obj5. obj4

CSG obj. oper3. obj1 obj2 obj3. obj5. obj4 Solid Modeling Solid: Boundary + Interior Volume occupied by geometry Solid representation schemes Constructive Solid Geometry (CSG) Boundary representations (B-reps) Space-partition representations Operations

More information

(Refer Slide Time: 00:03:51)

(Refer Slide Time: 00:03:51) Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 17 Scan Converting Lines, Circles and Ellipses Hello and welcome everybody

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

Rasterization. CS4620 Lecture 13

Rasterization. CS4620 Lecture 13 Rasterization CS4620 Lecture 13 2014 Steve Marschner 1 The graphics pipeline The standard approach to object-order graphics Many versions exist software, e.g. Pixar s REYES architecture many options for

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

Output Primitives Lecture: 3. Lecture 3. Output Primitives. Assuming we have a raster display, a picture is completely specified by:

Output Primitives Lecture: 3. Lecture 3. Output Primitives. Assuming we have a raster display, a picture is completely specified by: Lecture 3 Output Primitives Assuming we have a raster display, a picture is completely specified by: - A set of intensities for the pixel positions in the display. - A set of complex objects, such as trees

More information

Standard 1 Students will expand number sense to include integers and perform operations with whole numbers, simple fractions, and decimals.

Standard 1 Students will expand number sense to include integers and perform operations with whole numbers, simple fractions, and decimals. Stretch Standard 1 Students will expand number sense to include integers and perform operations with whole numbers, simple fractions, and decimals. Objective 1: Represent whole numbers and decimals from

More information

SEOUL NATIONAL UNIVERSITY

SEOUL NATIONAL UNIVERSITY Fashion Technology 5. 3D Garment CAD-1 Sungmin Kim SEOUL NATIONAL UNIVERSITY Overview Design Process Concept Design Scalable vector graphics Feature-based design Pattern Design 2D Parametric design 3D

More information

Introduction to Computer Graphics

Introduction to Computer Graphics Introduction to Computer Graphics James D. Foley Georgia Institute of Technology Andries van Dam Brown University Steven K. Feiner Columbia University John F. Hughes Brown University Richard L. Phillips

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

Lecture 6 of 41. Scan Conversion 1 of 2: Midpoint Algorithm for Lines and Ellipses

Lecture 6 of 41. Scan Conversion 1 of 2: Midpoint Algorithm for Lines and Ellipses Scan Conversion 1 of 2: Midpoint Algorithm for Lines and Ellipses William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public

More information

Lecture 6 of 41. Scan Conversion 1 of 2: Midpoint Algorithm for Lines and Ellipses

Lecture 6 of 41. Scan Conversion 1 of 2: Midpoint Algorithm for Lines and Ellipses Scan Conversion 1 of 2: Midpoint Algorithm for Lines and Ellipses William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public

More information

Surface shading: lights and rasterization. Computer Graphics CSE 167 Lecture 6

Surface shading: lights and rasterization. Computer Graphics CSE 167 Lecture 6 Surface shading: lights and rasterization Computer Graphics CSE 167 Lecture 6 CSE 167: Computer Graphics Surface shading Materials Lights Rasterization 2 Scene data Rendering pipeline Modeling and viewing

More information

Using Characteristics of a Quadratic Function to Describe Its Graph. The graphs of quadratic functions can be described using key characteristics:

Using Characteristics of a Quadratic Function to Describe Its Graph. The graphs of quadratic functions can be described using key characteristics: Chapter Summar Ke Terms standard form of a quadratic function (.1) factored form of a quadratic function (.1) verte form of a quadratic function (.1) concavit of a parabola (.1) reference points (.) transformation

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

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

This lesson gives students practice in graphing

This lesson gives students practice in graphing NATIONAL MATH + SCIENCE INITIATIVE Mathematics 9 7 5 1 1 5 7 LEVEL Grade, Algebra 1, or Math 1 in a unit on solving sstems of equations MODULE/CONNECTION TO AP* Areas and Volumes *Advanced Placement and

More information

5 and Parallel and Perpendicular Lines

5 and Parallel and Perpendicular Lines Ch 3: Parallel and Perpendicular Lines 3 1 Properties of Parallel Lines 3 Proving Lines Parallel 3 3 Parallel and Perpendicular Lines 3 Parallel Lines and the Triangle Angles Sum Theorem 3 5 The Polgon

More information

Geometric Modeling. Introduction

Geometric Modeling. Introduction Geometric Modeling Introduction Geometric modeling is as important to CAD as governing equilibrium equations to classical engineering fields as mechanics and thermal fluids. intelligent decision on the

More information

Midterm Review. Wen-Chieh (Steve) Lin Department of Computer Science

Midterm Review. Wen-Chieh (Steve) Lin Department of Computer Science Midterm Review Wen-Chieh (Steve) Lin Department of Computer Science Administration Assignment due on /3 :59 PM Midterm eam on /6 (Monda) Lecture slides Chapter 3 ecluding 3.6 & 3.8 Chapter 6, 7, 8 Chapter

More information

3D Representation and Solid Modeling

3D Representation and Solid Modeling MCS 585/480 Computer Graphics I 3D Representation and Solid Modeling Week 8, Lecture 16 William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel

More information

Introduction to Solid Modeling Parametric Modeling. Mechanical Engineering Dept.

Introduction to Solid Modeling Parametric Modeling. Mechanical Engineering Dept. Introduction to Solid Modeling Parametric Modeling 1 Why draw 3D Models? 3D models are easier to interpret. Simulation under real-life conditions. Less expensive than building a physical model. 3D models

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

Chapter 12 Solid Modeling. Disadvantages of wireframe representations

Chapter 12 Solid Modeling. Disadvantages of wireframe representations Chapter 12 Solid Modeling Wireframe, surface, solid modeling Solid modeling gives a complete and unambiguous definition of an object, describing not only the shape of the boundaries but also the object

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

STANDARDS OF LEARNING CONTENT REVIEW NOTES GEOMETRY. 3 rd Nine Weeks,

STANDARDS OF LEARNING CONTENT REVIEW NOTES GEOMETRY. 3 rd Nine Weeks, STANDARDS OF LEARNING CONTENT REVIEW NOTES GEOMETRY 3 rd Nine Weeks, 2016-2017 1 OVERVIEW Geometry Content Review Notes are designed by the High School Mathematics Steering Committee as a resource for

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

Lecture 3.4 Differential Equation Based Schemes

Lecture 3.4 Differential Equation Based Schemes Lecture 3.4 Differential Equation Based Schemes 1 Differential Equation Based Schemes As stated in the previous lecture, another important and most widel used method of structured mesh generation is based

More information

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming L1 - Introduction Contents Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming 1 Definitions Computer-Aided Design (CAD) The technology concerned with the

More information

Table of Contents. Introduction to the Math Practice Series...1

Table of Contents. Introduction to the Math Practice Series...1 Table of Contents Table of Contents Introduction to the Math Practice Series...1 Common Mathematics/Geometry Symbols and Terms...2 Chapter 1: Introduction To Geometry...13 Shapes, Congruence, Similarity,

More information

Rasterization: Geometric Primitives

Rasterization: Geometric Primitives Rasterization: Geometric Primitives Outline Rasterizing lines Rasterizing polygons 1 Rasterization: What is it? How to go from real numbers of geometric primitives vertices to integer coordinates of pixels

More information

Topic #1: Rasterization (Scan Conversion)

Topic #1: Rasterization (Scan Conversion) Topic #1: Rasterization (Scan Conversion) We will generally model objects with geometric primitives points, lines, and polygons For display, we need to convert them to pixels for points it s obvious but

More information

Glossary alternate interior angles absolute value function Example alternate exterior angles Example angle of rotation Example

Glossary alternate interior angles absolute value function Example alternate exterior angles Example angle of rotation Example Glossar A absolute value function An absolute value function is a function that can be written in the form, where is an number or epression. alternate eterior angles alternate interior angles Alternate

More information

NONCONGRUENT EQUIDISSECTIONS OF THE PLANE

NONCONGRUENT EQUIDISSECTIONS OF THE PLANE NONCONGRUENT EQUIDISSECTIONS OF THE PLANE D. FRETTLÖH Abstract. Nandakumar asked whether there is a tiling of the plane b pairwise non-congruent triangles of equal area and equal perimeter. Here a weaker

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