Graphics Raster Graphics 고려대학교 컴퓨터 그래픽스 연구실 cgvr.korea.ac.kr Graphics Lab @ Korea University Contents Display Hardware How are imaging system organized Output Primitives How are images display? Raster Graphics.
Download ReportTranscript Graphics Raster Graphics 고려대학교 컴퓨터 그래픽스 연구실 cgvr.korea.ac.kr Graphics Lab @ Korea University Contents Display Hardware How are imaging system organized Output Primitives How are images display? Raster Graphics.
Graphics Raster Graphics 고려대학교 컴퓨터 그래픽스 연구실 cgvr.korea.ac.kr Graphics Lab @ Korea University Contents Display Hardware How are imaging system organized Output Primitives How are images display? Raster Graphics Systems CGVR How can we describe shapes with primitives? Color Models How can we describe and represent colors? cgvr.korea.ac.kr Graphics Lab @ Korea University Bresenham’s Line Algorithm Accurate and Efficient CGVR Use only incremental integer calculations Test the sign of an integer parameter Case) Positive Slope Less Than 1 After the pixel (xk, yk) is displayed, next which pixel is decided to plot in column xk+1? (xk+1, yk) or (xk+1, yk+1) yk+1 yk xk xk+1 cgvr.korea.ac.kr Graphics Lab @ Korea University Bresenham’s Algorithm(cont.) CGVR Case) Positive Slope Less Than 1 y at sampling position xk Difference y mxk 1 b d1 y yk mxk 1 b yk yk+1 d 2 yk 1 y yk 1 mxk 1 b y k d1– d2 < 0 (xk+1, yk) d1– d2 > 0 (xk+1, yk+1) Decision parameter d2 d1 xk xk+1 pk xd1 d 2 2y xk 2x yk 2y x2b 1 2y xk 2x yk c cgvr.korea.ac.kr Graphics Lab @ Korea University Bresenham’s Algorithm(cont.) CGVR Case) Positive Slope Less Than 1 Decision parameter pk 1 pk 2y xk 1 2x yk 1 c 2y xk 2x yk c 2yxk 1 xk 2x yk 1 yk pk 1 pk 2y 2x yk 1 yk Decision parameter of a starting pixel (x0, y0) p0 2y x0 2x y0 2y x2b 1 2y x0 2x mx0 b 2y x2b 1 2y x0 2y x0 2bx 2y 2bx x p0 2y x cgvr.korea.ac.kr Graphics Lab @ Korea University Bresenham’s Algorithm(cont.) CGVR Algorithm for 0<m<1 Input the two line endpoints and store the left end point in (x0, y0) Load (x0, y0) into the frame buffer; that is, plot the first point Calculate constants Δx, Δy, 2Δy, and 2Δy− 2Δx, and obtain the starting value for the decision parameter as p0 2y x At each xk along the line, start at k =0, perform the following test: If pk < 0, the next point to plot is (xk+1, yk) and pk 1 pk 2y Otherwise, the next point to plot is (xk+1, yk+1) and pk 1 pk 2y 2x Repeat step 4 Δx times cgvr.korea.ac.kr Graphics Lab @ Korea University Polygons CGVR Filling Polygons Scan-line fill algorithm Boundary fill algorithm Inside-Outside tests 1 2 3 4 5 6 7 8 9 11 10 5 6 7 8 9 4312 cgvr.korea.ac.kr Graphics Lab @ Korea University Scan-Line Polygon Fill CGVR Topological Difference between 2 Scan lines y y : intersection edges are opposite sides y’ : intersection edges are same side 1 y’ cgvr.korea.ac.kr 2 2 1 1 Graphics Lab @ Korea University Scan-Line Polygon Fill (cont.) CGVR Edge Sorted Table B yC yB xC 1/mCB yD yC’ xD 1/mDC yE xD 1/mDE yA yE xA 1/mAE yB xA 1/mAB C C’ E D A 1 Scan-Line Number 0 cgvr.korea.ac.kr Graphics Lab @ Korea University Inside-Outside Tests CGVR Self-Intersections Odd-Even rule Nonzero winding number rule exterior interior cgvr.korea.ac.kr Graphics Lab @ Korea University Boundary-Fill Algorithm CGVR Proceed to Neighboring Pixels 4-Connected 8-Connected cgvr.korea.ac.kr Graphics Lab @ Korea University Antialiasing CGVR Aliasing Undersampling: Low-frequency sampling original sample reconstruct Nyquist sampling frequency: f s 2 f max x Nyquist sampling interval: x cycle s 2 cgvr.korea.ac.kr Graphics Lab @ Korea University Antialiasing (cont.) CGVR Supersampling (Postfiltering) Pixel-weighting masks Area Sampling (Prefiltering) Pixel Phasing Shift the display location of pixel areas Micropositioning the electron beam in relation to object geometry cgvr.korea.ac.kr Graphics Lab @ Korea University Supersampling CGVR Subpixels Increase resolution 22 (10, 20): Maximum Intensity 21 (11, 21): Next Highest Intensity (11, 20): Lowest Intensity 20 10 cgvr.korea.ac.kr 11 12 Graphics Lab @ Korea University Supersampling CGVR Subpixels Increase resolution 22 (10, 20): Maximum Intensity 21 (11, 21): Next Highest Intensity (11, 20): Lowest Intensity 20 10 cgvr.korea.ac.kr 11 12 Graphics Lab @ Korea University Pixel-Weighting Masks CGVR Give More Weight to Subpixels Near the Center of a Pixel Area 1 2 1 cgvr.korea.ac.kr 2 4 2 1 2 1 Graphics Lab @ Korea University Area Sampling CGVR Set Each Pixel Intensity Proportional to the Area of Overlap of Pixel 2 adjacent vertical (or horizontal) screen grid lines trapezoid 22 (10, 20): 90% 21 (10, 21): 15% 20 10 cgvr.korea.ac.kr 11 12 Graphics Lab @ Korea University Filtering Techniques CGVR Filter Functions (Weighting Surface) Box Filter cgvr.korea.ac.kr Cone Filter Gaussian Filter Graphics Lab @ Korea University Contents Display Hardware How are imaging system organized? Output Primitives How are images display? Raster Graphics Systems CGVR How can we describe shapes with primitives? Color Models How can we describe and represent colors? cgvr.korea.ac.kr Graphics Lab @ Korea University Electromagnetic Spectrum CGVR Visible Light Frequencies Range between Red: 4.3 x 1014 hertz (700nm) Violet: 7.5 x 1014 hertz (400nm) cgvr.korea.ac.kr Graphics Lab @ Korea University Visible Light CGVR The Color of Light is Characterized by Hue: dominant frequency (highest peak) Saturation: excitation purity (ratio of highest to rest) Brightness: luminance (area under curve) White Light cgvr.korea.ac.kr Orange Light Graphics Lab @ Korea University Color Perception CGVR Tristimulus Theory of Color Spectral-response functions of each of the three types of cones on the human retina cgvr.korea.ac.kr Graphics Lab @ Korea University Color Models CGVR RGB XYZ CMY HSV Others cgvr.korea.ac.kr Graphics Lab @ Korea University RGB Color Model Colors are Additive CGVR R G B Color 0.0 0.0 0.0 Black 1.0 0.0 0.0 1.0 0.0 0.0 1.0 1.0 0.0 Red 0.0 Green 1.0 Blue 0.0 Yellow 1.0 1.0 Magenta 0.0 0.0 1.0 1.0 1.0 cgvr.korea.ac.kr 1.0 Cyan 1.0 White Graphics Lab @ Korea University RGB Color Cube cgvr.korea.ac.kr CGVR Graphics Lab @ Korea University RGB Spectral Colors CGVR Amounts of RGB Primaries Needed to Display Spectral Colors cgvr.korea.ac.kr Graphics Lab @ Korea University XYZ Color Model (CIE) CGVR Amounts of CIE Primaries Needed to Display Spectral Colors cgvr.korea.ac.kr Graphics Lab @ Korea University CIE Chromaticity Diagram CGVR Normalized Amounts of X and Y for Colors in Visible Spectrum (white) cgvr.korea.ac.kr Graphics Lab @ Korea University CIE Chromaticity Diagram Define Color Gamuts cgvr.korea.ac.kr Represent Complementary Color CGVR Determine Dominant Wavelength and Purity Graphics Lab @ Korea University RGB Color Gamut CGVR Color Gamut for a Typical RGB Computer Monitor (green) (red) (blue) cgvr.korea.ac.kr Graphics Lab @ Korea University CMY Color Model Colors are Subtractive CGVR C M Y 0.0 0.0 0.0 White 1.0 0.0 0.0 1.0 0.0 0.0 1.0 1.0 0.0 Cyan 0.0 Magenta 1.0 Yellow 0.0 Blue 1.0 1.0 Green 0.0 0.0 1.0 1.0 1.0 cgvr.korea.ac.kr Color 1.0 1.0 Red Black Graphics Lab @ Korea University CMY Color Cube cgvr.korea.ac.kr CGVR Graphics Lab @ Korea University HSV Color Model CGVR Select a Spectral Color (Hue) and the Amount of White (Saturation) and Black (Value) cgvr.korea.ac.kr Graphics Lab @ Korea University HSV Color Model cgvr.korea.ac.kr CGVR H S 0 60 120 180 240 300 * * * 1.0 1.0 1.0 1.0 1.0 1.0 0.0 0.0 * V Color 1.0 Red 1.0 Yellow 1.0 Green 1.0 Cyan 1.0 Blue 1.0 Magenta 1.0 White 0.5 Gray 0.0 Black Graphics Lab @ Korea University HSV Color Model CGVR Cross Section of the HSV Hexcone cgvr.korea.ac.kr Graphics Lab @ Korea University