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
Report
Transcript 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