Download presentation

Presentation is loading. Please wait.

Published byTatiana Ferring Modified about 1 year ago

1
Basic Raster Graphics Algorithms for Drawing 2D Primitives Prof. Lizhuang Ma Shanghai Jiao Tong University

2
Contents Architecture of a Raster Display Scan Converting Lines Filling Rectangles Filling Polygons Clipping Lines Clipping Polygons Antialiasing

3
Architecture of a Raster Display Video

4
Definitions Pixel: a screen consists of N x M pixels Bilevel = monochrome, 1 bit / pixel Color: RGB/CYK/LUV… Bitmap / pixmap Frame buffer: an array of data in memory mapped to screen

5
Scan Converting Line A scan-converted line showing intensified pixels as black circles

6
The Basic Incremental Algorithm A scan-converted line showing intensified pixels as black circles

7
The Basic Incremental Algorithm void Line (intx0, inty0, intx1, inty1, value) { intx; floatdy, dx, y, m; dy=y1-y0; dx=x1-x0; m=dy/dx; y=y0; for(x=x0; x<=x1; x++) { WritePixel(x, (int)floor(y+0.5), value); y+=m; }

8
Midpoint Line Algorithm

9

10
void MidpointLine(intx0, inty0, intx1, inty1, value) { int dx, dy, incrE, incrNE, d, x, y; dy=y1-y0;dx=x1-x0;d=dy*2-dx; incrE=dy*2;incrNE=(dy-dx)*2; x=x0;y=y0; WritePixel(x, y, value); while(x

11
Filling Rectangles for(y from y min to y max of the rectangle) { for(x from x min to x max ) { WritePixel(x, y, value); }

12
Filling Polygons

13

14
1.Find the intersections of the scan line with all edges of the polygon 2.Sort the intersections by increasing x coordinate 3.Fill in all pixels between pairs of intersections that lie interior to the polygon

15
Special Cases Horizontal Edges Slivers

16
Clipping Lines

17
The Cohen-Sutherland Algorithm

18

19
Clipping Polygons

20
The Sutherland-Hodgman Polygon-Clipping Algorithm

21

22
Antialiasing

23

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google