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
– can have a compact representation
– are scalable
– have access to the objects
• And mandatory for 3-D modeling
First…
Coordinate systems x
2
• Bitmapped pixel coordinates (integer)
4,9
4
4,0 4,1 4,2
3
3,0 3,1 3,2 3,9
1
0
0,0 0,1 0,2
0 1 2 3 4 y
0,9
9
Coordinate systems bitmapped
4
3
A x
2
1
E
0
C
0 1 2 3 4 y
A= ( , ) B= ( , ) C= ( , ) D= ( , ) E= ( , )
D
9
B
0
1
2 y
Coordinate systems
• Vector graphics coordinates (real values)
• A point is defined by its x and y coordinate
(x,y)
(1.41, 1.74)
Can be fractional
Can be negative
1 2 3 x
0
1 y
2
Coordinate systems
• 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 point 1 displacement from point 1 to point 2...
(1.41, 1.74) displacement =
[(x2 - x1), (y2 - y1)]
= (3.12 - 1.41, 0.95 -
1.74) displacement =
(1.71,-0.79) point 2
(3.12, 0.95)
3 1 2 x
0
1 y
2
AKA vector
• 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)
(1.41, 1.74)
1 2
(3.12, 0.95)
3 x
Why is it called 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 around and...
• the rendering program only knows where the object is relative to the window it is in and…
• rendering software does not know where the window is on the screen so…
• a coordinate transformation must be performed
Absolute vs Window coordinates
• absolute
– coordinates: measurement 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
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
y
(0,0) x
Bounding Box desktop screen
(100,103) window 1
(410,290) window 1
(210,175) bounding box window
(760,570)
Vector graphics
• Stores shapes (like a rectangle) very economically in the form of formulas or equations of geometric shapes
• Since a line segment can also be completely described by its endpoints…
• In computer graphics a line is defined by a line segment (i.e. it has endpoints)
0
1
2
Here’s the vector we saw earlier defined by it’s two endpoints
(1.41, 1.74)
(3.12, 0.95)
1 2 3 x
To display a vector graphic you need to convert the vector graphic line to a bitmapped graphic… which presents problems!
1
2
0
Convert Vector to Bitmapped
Visually... “completely cover the vector with pixels”
1 2 3 x
Vector to Bitmapped
1
2
0 1 2 3 x
1
2
0 1
The artifact created:
A jagged line…
This is “aliasing”
2 3 x
Aliasing(vector)
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
Can have negative effects
Aliasing (bitmapped)
• When 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
• Can have negative effects
To combat negative effects of aliasing?
anti-aliasing
• These are techniques to mitigate the affect of aliases
• “Smoothes” the edges of jagged lines
• How does this work?
0
1
2
Using anti-aliasing techniques on our original line our pixellated line to be displayed (the external model) is in black
1 2 3 x
0
1
2 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
1 2 3 x
combating aliases: anti-aliasing techniques
1
2
0 1 2 3 x
combating aliases: anti-aliasing techniques
“average the grayness”
1
2
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?
Shapes made from connected lines
• connected lines are stored as a polyline
– internally the polyline is stored as a series of points
• closed polylines form a shape
• an open polyline is just a jagged line
rectangles and squares
• rectangles can be described by two corners
• squares are special cases of the rectangle
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: 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 just 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
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?