OUTPUT PRIMITIVES Computer Graphics OUTPUT PRIMITIVES Output Primitives: Basic geometric structures used to describe scenes. (points, straight line segment, circles and other conic sections, quadric surfaces, spline curve and surfaces, polygon color areas, and character strings) These picture components are often defined in a continuous space. OUTPUT PRIMITIVES In order to draw the primitive objects, one has to first scan convert the object. Scan convert: Refers to the operation of finding out the location of pixels to be intensified and then setting the values of corresponding bits, in the graphic memory, to the desired intensity code. A SCAN CONVERTING A POINT random-scan (vector) system stores point-plotting instructions in the display list, and coordinate values in these instructions are converted to deflection voltages that position the electron beam at the screen locations to be plotted during each refresh cycle. Scan Converting A Point SCAN CONVERTING A POINT A mathematical point P(x,y) needs to be scan converted to a pixel. If the coordinate values of point P are (3.3, 7.3) then the floor function of x’=3 and y’=7, is plotted. POINT DRAWING (RASTER DISPLAY) y x SCAN CONVERTING A POINT (IN VECTOR DISPLAY) x x x 1 y y y 1 x´=Floor(x) and y´=Floor(y) All points that satisfy: are mapped to pixel (x´,y´) Scan Converting A Line SCAN CONVERTING A LINE y m x b The Cartesian slope- intercept equation for a straight line is: y y m x x 2 1 2 1 b y m x 1 y mx 1 y x m SCAN CONVERTING A LINE These equation form the basic for determining deflection voltage in analog devices. y mx |m|<1 y x m |m|>1 y2 y1 x1 x2 LINE DRAWING ALGORITHMS SCAN CONVERTING A LINE On raster system, lines are plotted with pixels, and step size (horizontal & vertical direction) are constrained by pixel separation. SCAN CONVERTING A LINE We must sample a line at discrete positions and determine the nearest pixel to the line at each sampled position. Digital Differential Analyzer (DDA Algorithm) DDA ALGORITHM Algorithm is an incremental scan conversion method. Based on calculating eitherx ory If |m|<1, (x 1) Y 1 y mx y y m K 1 k DDA ALGORITHM y x m 1 xK 1 xk m If |m|>1, If (x 1) (y 1) y mx y y m K 1 k Circle Generation Algorithms CIRCLE GENERATION ALGORITHMS The equation of a circle: We could solve for y in terms of x CIRCLE GENERATION ALGORITHMS Computation can be reduced by considering the symmetry of circles Character Generation CHARACTER GENERATION Letters, numbers, and other character can be displayed in a variety of size and styles. CHARACTER GENERATION Attributes of characters CHARACTER GENERATION There are three basic methods to generate characters, 1. Hardware based: Logic is built into the graphics terminal and drawn quickly. 2. Bitmap based: utilizes pixels and copies appropriate portion from frame buffer to display 3. Vector based: provides with unlimited possibilities with character style, size, shape