Digital Media Dr. Jim Rowan ITEC 2110

advertisement
Digital Media
Dr. Jim Rowan
ITEC 2110
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
– have a compact representation
– are scalable
– are easy to edit
• And mandatory for 3-D modeling
First…
Coordinate systems
Coordinate systems
• Bitmapped pixel coordinates (integer)
4
3
x
4,0
4,1
4,2
4,9
3,0
3,1
3,2
3,9
0,0
0,1
0,2
0,9
0
1
2
1
0
2
3
4
y
9
Coordinate systems
bitmapped
B
4
A
3
x
2
E
1
0
C
0
D
1
2
3
4
y
A= ( , ) B= ( , ) C= ( , ) D= ( , ) E= ( , )
9
Coordinate systems
• Vector graphics coordinates (real values)
• A point is defined by its x and y coordinate
y
(x,y)
2
Can be fractional
Can be negative
(1.41, 1.74)
1
0
1
2
3
x
Coordinate systems
y
• Vector graphics coordinates (real values)
• A displacement (distance between points or movement
from one point to another) can be defined by a pair of
points
displacement from
point 1
2
point 1 to point 2...
(1.41, 1.74)
= [(x2 - x1), (y2 - y1)]
(3.12 - 1.41, 0.95 - 1.74)
(1.71,-0.79)
1
point 2
(3.12, 0.95)
0
1
2
3
x
AKA vector
y
• Vectors have magnitude (length) and direction
• This vector goes down 0.79 and to the right 1.71
• It is a two dimensional (x&y) vector that goes down and
to the right (1.71,-0.79)
2
(1.41, 1.74)
1
(3.12, 0.95)
0
1
2
3
x
Vector graphics?
• Another grandfathered term
• From the time when displays were directly
“steered” by their programs
• Give the display two points and it would move
the beam from one point to the other drawing a
line...
• This movement could be described as a vector
since it has magnitude (length) and direction
(from one point to the other)
Absolute vs Window
coordinates
• rendering software renders images in a
window
• windows can be moved at will so...
• the rendering program only knows where the
object is relative to the window it is in
• rendering software does not know where the
window is on the screen
• a coordinate transformation must be
performed
Absolute & Relative Coordinates
The Bounding Box
• It’s a way to locate an 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 Box
x
(0,0)
y
desktop screen
bounding box
(100,103)
window
window 1
(410,290)
window 1
(150,200)
(760,570)
Vector graphics
• Store shapes (like the line) very economically
in the form of formulas or equations
• But which formula?
• A line is defined by
y = mx + b
(but that is for an infinitely long line)
• In computer graphics we want a line
segment, i.e. it has endpoints
• Since a line segment can also be completely
described by its endpoints…
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
To display a vector graphic
you need to convert the
vector graphic line
to a
bitmapped graphic
Convert Vector to Bitmapped
Visually... “completely cover
the vector with pixels”
2
1
0
1
2
3
x
Vector to Bitmapped
2
1
0
1
2
3
x
The artifact created:
A jagged line…
This is “aliasing”
2
1
0
1
2
3
x
Aliasing
When converting a vector graphic to a
bitmapped graphic we can’t create a
perfect representation
What we end up with is a bitmapped
version of the vector
It’s not really the original but rather an
alias of the original version
Aliasing
• Even we view a bitmapped digital
photograph on a display, the reconstruction is
performed by a display device, and by our
eyes and by our brain.
• If the reconstructed image differs from the
original image, we are seeing an alias.
• http://en.wikipedia.org/wiki/Aliasing
To combat aliasing:
anti-aliasing
• Techniques to mitigate the affect of
aliases
• Smoothes the edges of jagged lines
Using anti-aliasing techniques
on our original line
our pixellated line to be
displayed (the external
model) is in black
2
1
0
1
2
3
x
combating aliases:
anti-aliasing techniques
the original vector graphic line
stored in the internal model is in
red
our pixellated line to be
displayed (the external
model) is in black
2
1
0
1
2
3
x
combating aliases:
anti-aliasing techniques
2
1
0
1
2
3
x
combating aliases:
anti-aliasing techniques
“average the grayness”
2
1
0
1
2
3
x
• So far we have just looked at a line
– The line was stored as its endpoints
• What about other shapes?
vector graphics:
shapes
• connected lines are stored as a polyline
– internally the polyline is stored as a series of
points
• closed polylines form a shape
• open polyline is a jagged line
vector graphics:
rectangles and squares
• rectangles can be described by two corners
• squares are special cases of the rectangle
vector graphics:
ellipses and circles
• ellipses can be described by two points
• circles are special cases of the ellipses
– they are stored as a single point
http://en.wikipedia.org/wiki/Ellipse
vector graphics: 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
– This is how drawn shapes become objects like the
cowboy on Toy Story (except that the characters
in toy story were created in 3D, not 2D)
– solid color, pattern or gradient (linear or radial)
• Lines have ends
– ends can be messy when joined so…
– mitre, rounded, square, bevel
Manipulating
objects
• Translation: is a simple up/down sideto-side movement
• Scaling: make bigger or smaller
• Rotation: about a point
• Reflection: about a line
3-D?
• Way 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 inside the computer must be
translated into 2-D to be rendered on a
computer screen...
– This results in the need to specify the viewpoint
Questions?
Download