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
Bitmapped pixel coordinates (integer) 4,04,14,24,9 3,03,13,23,9 0,00,10,20,9 x y
Coordinate systems bitmapped A E CD x y B A= (, ) B= (, ) C= (, ) D= (, ) E= (, )
Coordinate systems Vector graphics coordinates (real values) A point is defined by its x and y coordinate x y (1.41, 1.74) (x,y) Can be fractional Can be negative
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 Coordinate systems x y (1.41, 1.74) point 1 (3.12, 0.95) displacement from point 1 to point 2... = [(x2 - x1), (y2 - y1)] ( , ) (1.71,-0.79) point 2
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) AKA vector x y (1.41, 1.74) (3.12, 0.95)
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) Vector graphics?
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 y (0,0) window 1 desktop screen bounding box (150,200) window (410,290) (760,570) (100,103)
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 x (1.41, 1.74) (3.12, 0.95)
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” x
Vector to Bitmapped x
The artifact created: A jagged line… This is “aliasing” 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.
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 x our pixellated line to be displayed (the external model) is in black
combating aliases: anti-aliasing techniques x 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
combating aliases: anti-aliasing techniques x
combating aliases: anti-aliasing techniques “average the grayness” 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
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 side- to-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?