Raster graphics - PowerPoint PPT Presentation

1 / 42
About This Presentation
Title:

Raster graphics

Description:

Raster graphics & Line Drawing Algorithms Kaushik.S VIT – PowerPoint PPT presentation

Number of Views:101
Avg rating:3.0/5.0
Slides: 43
Provided by: BrianM191
Category:

less

Transcript and Presenter's Notes

Title: Raster graphics


1
Raster graphics Line Drawing Algorithms
Kaushik.S VIT
2
Raster
  • The word "raster" has its origins in the Latin
    rastrum (a rake), which is derived from radere
    (to scrape), and was originally used in the
    raster scan of cathode ray tubes (CRT), which
    paint the image line by line it is used for a
    grid of pixels by generalization.

3
Raster graphics- An Introduction
  • In computer graphics, a raster graphics image or
    bitmap is a data structure representing a
    generally rectangular grid of pixels, or points
    of color, viewable via a monitor, paper, or other
    display medium.
  • Raster images are stored in image files with
    varying formats.

4
Bitmap
  • A bitmap corresponds bit-for-bit with an image
    displayed on a screen, generally in the same
    format used for storage in the display's video
    memory, or maybe as a device-independent bitmap.
  • A bitmap is technically characterized by the
    width and height of the image in pixels and by
    the number of bits per pixel (a color depth,
    which determines the number of colors it can
    represent).

5
  • Imagine the smiley face in the top left corner as
    an RGB bitmap image. When enlarged, it might look
    like the big smiley face to the right.
  • Every square represents a pixel. Zooming in
    further, the individual pixels can be analyzed,
    with their colors constructed by adding the
    values for red, green and blue.

6
Resolution
  • Raster graphics are resolution dependent. They
    cannot scale up to an arbitrary resolution
    without loss of apparent quality.
  • This property contrasts with the capabilities of
    vector graphics, which easily scale up to the
    quality of the device rendering them.
  • Raster graphics deal more practically than
    vector graphics with photographs and
    photo-realistic images, while vector graphics
    often serve better for typesetting or for graphic
    design.

7
  • Modern computer-monitors typically display about
    72 to 130 pixels per inch (PPI), and some modern
    consumer printers can resolve 2400 dots per inch
    (DPI) or more
  • Typically, a resolution of 150 to 300 pixel per
    inch works well for 4-color process (CMYK)
    printing.

8
Raster-based image editors
  • Raster-based image editors, such as Photoshop, MS
    Paint, and GIMP, revolve around editing pixels,
  • unlike vector-based image editors, such as
    CorelDRAW, Adobe Illustrator, or Inkscape, which
    revolve around editing lines and shapes
    (vectors).

9
Raster-based image editors
  • When an image is rendered in a raster-based image
    editor, the image is composed of millions of
    pixels. At its core, a raster image editor works
    by manipulating each individual pixel.
  • Most pixel-based image editors work using the RGB
    color model, but some also allow the use of other
    color models such as the CMYK color model.

10
File formats
  • Bitmap
  • A bitmap or pixmap is pixel data storage
    structure employed by the majority of raster
    graphics file formats such as PNG.
  • OpenRaster
  • OpenRaster is a file format being developed under
    the auspices of the Create Project to give free
    software graphics editors a common raster
    graphics interchange format, that maintains as
    much of the working information that the
    applications use.
  • .ico
  • ICO file format is an image file format for icons
    in Microsoft Windows. .ico files contain one or
    more small images at multiple sizes and color
    depths.

11
Programming in the Simple Raster Graphics Package
(SRGP)
  • Cartesian coordinates
  • A coordinate system base on two perpendicular
    axes, with positive coordinates to the right of
    the origin and above the origin.
  • OR mode
  • A graphic write mode in which each pixel bit
    becomes 1 if the current display bit is 1 or if
    the bit being written is 1.
  • arc
  • A section of an ellipse.
  • canvas
  • An area of memory which is used as a buffer
    between graphics software and graphics hardware.
  • clipping
  • The restriction of rendering to a designated
    area.

12
SRGP (cont)
  • exclusive or mode
  • A graphic write mode in which each pixel bit
    becomes 1 only if the current display bit and the
    bit being written are different. font
  • A set of character glyphs, usually consistent
  • line
  • A one dimensional geometric figure defined by two
    points.
  • point
  • A geometric figure with location only.
  • replace mode
  • A graphic write mode which is not affected by the
    previous contents of the display.
  • screen coordinates
  • A coordinate system based on the pixels of the PC
    BIOS, with the origin being at the upper left of
    the screen, and pixel rows being numbered
    downward.

13
Graphics Hardware
  • Its worth taking a little look at how graphics
    hardware works before we go any further
  • How do things end up on the screen?

14
Architecture Of A Graphics System
Display Processor Memory
Frame Buffer
Video Controller
Monitor
Monitor
CPU
Display Processor
System Memory
System Bus
15
Output Devices
  • There are a range of output devices currently
    available
  • Printers/plotters
  • Cathode ray tube displays
  • Plasma displays
  • LCD displays
  • 3 dimensional viewers
  • Virtual/augmented reality headsets
  • We will look briefly at some of the more common
    display devices

16
Basic Cathode Ray Tube (CRT)
  • Fire an electron beam at a phosphor coated screen

17
Raster Scan Systems
  • Draw one line at a time

18
Colour CRT
  • An electron gun for each colour red, green and
    blue

19
Plasma-Panel Displays
  • Applying voltages to crossing pairs of conductors
    causes the gas (usually a mixture including neon)
    to break down into a glowing plasma of electrons
    and ions

20
Liquid Crystal Displays
  • Light passing through the liquid crystal is
    twisted so it gets through the polarizer
  • A voltage is applied using the crisscrossing
    conductors to stop the twisting and turn pixels
    off

21
2D Line Drawing AlgorithmThe Problem Of Scan
Conversion
  • A line segment in a scene is defined by the
    coordinate positions of the line end-points

(7, 5)
(2, 2)
22
The Problem (cont)
  • But what happens when we try to draw this on a
    pixel based display?
  • How do we choose which pixels to turn on?

23
Considerations
  • Considerations to keep in mind
  • The line has to look good
  • Avoid jaggies
  • It has to be lightening fast!
  • How many lines need to be drawn in a typical
    scene?
  • This is going to come back to bite us again and
    again

24
Line Equations
  • Lets quickly review the equations involved in
    drawing lines
  • Slope-intercept line equation
  • where

25
Lines Slopes
  • The slope of a line (m) is defined by its start
    and end coordinates
  • The diagram below shows some examples of lines
    and their slopes

26
A Very Simple Solution
  • We could simply work out the corresponding y
    coordinate for each unit x coordinate
  • Lets consider the following example

27
A Very Simple Solution (cont)
5
4
3
2
1
0
1
2
3
4
5
6
0
7
28
A Very Simple Solution (cont)
  • First work out m and b
  • Now for each x value work out the y value

29
A Very Simple Solution (cont)
  • Now just round off the results and turn on these
    pixels to draw our line

7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
8
30
A Very Simple Solution (cont)
  • However, this approach is just way too slow
  • In particular look out for
  • The equation y mx b requires the
    multiplication of m by x
  • Rounding off the resulting y coordinates
  • We need a faster solution

31
A Quick Note About Slopes
  • In the previous example we chose to solve the
    parametric line equation to give us the y
    coordinate for each unit x coordinate
  • What if we had done it the other way around?
  • So this gives us
  • where and

32
A Quick Note About Slopes (cont)
  • Leaving out the details this gives us
  • We can see easily that this line doesnt
    lookvery good!
  • We choose which way to work out the line pixels
    based on the slope of the line

7
6
5
4
3
2
1
0
0
1
2
3
4
5
6
7
8
33
A Quick Note About Slopes (cont)
  • If the slope of a line is between -1 and 1 then
    we work out the y coordinates for a line based on
    its unit x coordinates
  • Otherwise we do the opposite x coordinates are
    computed based on unit y coordinates

34
A Quick Note About Slopes (cont)
5
4
3
2
1
0
1
2
3
4
5
6
0
7
35
The DDA Algorithm
  • The digital differential analyzer (DDA) algorithm
    takes an incremental approach in order to speed
    up scan conversion
  • Simply calculate yk1 based on yk

The original differential analyzer was a physical
machine developed by Vannevar Bush at MIT in the
1930s in order to solve ordinary differential
equations. .
36
The DDA Algorithm (cont)
  • Consider the list of points that we determined
    for the line in our previous example
  • (2, 2), (3, 23/5), (4, 31/5), (5, 34/5), (6,
    42/5), (7, 5)
  • Notice that as the x coordinates go up by one,
    the y coordinates simply go up by the slope of
    the line
  • This is the key insight in the DDA algorithm

37
The DDA Algorithm (cont)
  • When the slope of the line is between -1 and 1
    begin at the first point in the line and, by
    incrementing the x coordinate by 1, calculate the
    corresponding y coordinates as follows
  • When the slope is outside these limits, increment
    the y coordinate by 1 and calculate the
    corresponding x coordinates as follows

38
The DDA Algorithm (cont)
  • Again the values calculated by the equations used
    by the DDA algorithm must be rounded to match
    pixel values

(round(xk 1/m), yk1)
(xk1, round(ykm))
(xk, yk)
(xk 1/m, yk1)
(xk, yk)
(xk1, ykm)
(round(xk), yk)
(xk, round(yk))
39
DDA Algorithm Example
  • Lets try out the following examples

40
DDA Algorithm Example (cont)
7
6
5
4
3
2
1
2
3
4
5
6
0
7
41
The DDA Algorithm Summary
  • The DDA algorithm is much faster than our
    previous attempt
  • In particular, there are no longer any
    multiplications involved
  • However, there are still two big issues
  • Accumulation of round-off errors can make the
    pixelated line drift away from what was intended
  • The rounding operations and floating point
    arithmetic involved are time consuming

42
Any Doubts???
Write a Comment
User Comments (0)
About PowerShow.com