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  mxk  1  b
d1  y  yk  mxk  1  b  yk
yk+1
d 2  yk  1  y  yk  1  mxk  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  xd1  d 2 
 2y  xk  2x  yk  2y  x2b  1
 2y  xk  2x  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  2y  xk 1  2x  yk 1  c   2y  xk  2x  yk  c 
 2yxk 1  xk   2x yk 1  yk 
 pk 1  pk  2y  2x yk 1  yk 

Decision parameter of a starting pixel (x0, y0)
p0  2y  x0  2x  y0  2y  x2b  1
 2y  x0  2x  mx0  b   2y  x2b  1
 2y  x0  2y  x0  2bx  2y  2bx  x
 p0  2y  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  2y  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  2y

Otherwise, the next point to plot is (xk+1, yk+1) and
pk 1  pk  2y  2x

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