Digital Media Lecture 5: Vector Graphics Georgia Gwinnett College

advertisement
Digital Media
Lecture 5: Vector Graphics
Georgia Gwinnett College
School of Science and Technology
Dr. Jim Rowan
Refer to Supplemental text:
So far…





We have compared bitmapped graphics and
vector graphics
We have discussed bitmapped images, some
file formats and some file compression
techniques
Today we are going to talk in a bit more detail
about vector graphics
Later we will cover Color
Then 3D vector graphics
Vector Graphics…


An elegant way to construct digital images
that
– can have a compact representation
– are scalable
– provides access to the objects
And mandatory for 3-D modeling
But first:
Coordinate systems
Coordinate Systems
Bitmapped pixel coordinates (integer)
X
0
1
Y
0,0
1,0
2,0
9,0
0,1
1,1
2,1
9,1
0,4
1,4
2,4
9,4
0
1
2
3
4
2
3
4
9
Coordinate Systems
Bitmapped pixel coordinates (integer)
X
B
A
Y
E
C
D
A?= ( , ) B?= ( , ) C?= ( , ) D?= ( , ) E?= ( , )
Coordinate Systems
Vector graphics coordinates (real values)
A point is defined by its x and y coordinate
y
(x,y)
2
(1.41, 1.74)
They can be fractional
They can be negative
1
0
1
2
3
x
Coordinate Systems
Vector graphics coordinates (real values)
y
A displacement (distance between points or movement from one
point to another) can be defined by a pair of points
point 1
2
displacement from point 1 to point 2?
displacement =
= [(x2 - x1), (y2 - y1)]
= (3.12 - 1.41, 0.95 - 1.74)
= (1.71,-0.79)
(1.41, 1.74)
1
point 2
(3.12, 0.95)
0
1
2
3
x
Vectors
Vectors have magnitude (length) and direction
This vector goes down 0.79 and to the right 1.71 (1.71 , -0.79)
y
point 1
2
(1.41, 1.74)
1
point 2
(3.12, 0.95)
0
1
2
3
x
Why “vector graphics?”

This is a grandfathered term

It comes from the CRT days when displays
could be directly “steered” by their programs

A program passed a vector to the display and
the beam would move to the next point
drawing a line
Next:
Absolute vs Window
coordinate systems
Absolute vs Window

Applications render images inside of a
window
– They know where stuff is in the window
– But not where the window is
– They deal with relative coordinates

The Operating system
– Keeps up with the where the window is
– Not what is in the window
– It deals with absolute coordinates
Absolute vs Window

absolute
– coordinates: measured back to the upper
left hand corner of the screen

relative (to the window)
– coordinates measurement back to the upper
left hand corner of the window

to convert relative to absolute, add
the relative coordinates to the
absolute coordinate of the upper left
hand corner of that window
The bounding box
It’s a way to locate a complex object in
space
 What point is used to place an object?

– the center of the object’s mass?
– the upper left corner?
– the lower right corner?

images can be contained inside a
“bounding box” which is the smallest
box that contains all the points found in
an object
Bounding boxes;
relative and absolute coordinates
x
(0,0)
y
desktop screen
bounding box window
(100,103)
window 1
(410,290)
window 1
(210,175)
(760,570)
Finally: Vector Graphics
Store shapes economically in the form
of formulas or equations of geometric
shapes
 A line segment can be completely
described by its two endpoints…


Let’s look at the line a little closer
Here’s the vector we saw earlier
defined by it’s two endpoints
2
(1.41, 1.74)
(3.12, 0.95)
1
0
1
2
3
x
But…
To display a vector graphic you
need to convert the vector to a
bitmapped graphic…
This presents problems!
Convert Vector to Bitmapped
Visually...
“completely cover the vector with pixels”
2
1
0
1
2
3
x
Convert Vector to Bitmapped
Visually...
“completely cover the vector with pixels”
2
1
0
1
2
3
x
Convert Vector to Bitmapped
Results in an artifact…
a jagged line called an alias that looks
like a series of steps
2
1
0
1
2
3
x
How to mitigate this alias?
Anti-aliasing techniques are used but…
How does this work?
2
1
0
1
2
3
x
Anti-aliasing
our pixellated line to
be displayed is in black
2
1
0
1
2
3
x
Anti-aliasing
the original vector graphic stored
in the internal model is in red
our pixellated line to be
displayed is in black
2
1
0
1
2
3
x
Anti-aliasing
2
1
0
1
2
3
x
Anti-aliasing
2
1
0
1
2
3
x
Vector Graphics:
drawing smooth curves?
• Question: How would you draw a curve
using a computer with a mouse?
• You can’t draw smooth lines very easily
• A line tool with handles (based on the
Bezier curve) can be manipulated by
those handles
Lines and curves?
Bezier curves can be smoothly joined
together
 An anchor point is the point where
one joins the other
 When a curve closes on itself it is
considered a closed curve
 When it doesn’t it’s an open curve

Lines and curves?

Closed (and open for that matter) lines
can be filled
– solid color, pattern or gradient (linear or
radial)

Lines can have different ends
– mitre, rounded, square, bevel
The language of
Manipulating objects…
Translation: is a simple up/down sideto-side movement
 Scaling: make bigger or smaller
 Rotation: about a point
 Reflection: about a line

3D vector graphics?
MUCH more complex than 2-D
 3-D shapes (objects) are defined by
their surfaces
 Made even more complicated by the
fact that a 3-D object built inside the
computer must be displayed as a 2-D
graphic on a computer screen...

– This results in the need to specify the
viewpoint
Download