Processing What are Computer Graphics & Computer Graphics & Image
Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats...
Transcript of Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats...
![Page 1: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/1.jpg)
Computer Graphics
Bing-Yu Chen National Taiwan University The University of Tokyo
![Page 2: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/2.jpg)
Viewing in 3D
3D Viewing Process
Classical Viewing and Projections
3D Synthetic Camera Model
Parallel Projection
Perspective Projection
3D Clipping for Canonical View Volume
1
![Page 3: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/3.jpg)
3D Viewing Process
Transform into viewport in 2D device coordinates for display
Project onto projection
plane
Clip against view
volume
2D device coordinates
Clipped world
coordinates
3D world-coordinate output primitives
2
![Page 4: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/4.jpg)
Classical Viewing
Viewing requires three basic elements One or more objects A viewer with a projection surface Projectors that go from the object(s) to the
projection surface
Classical views are based on the relationship among these elements The viewer picks up the object and orients it
how she would like to see it
Each object is assumed to constructed from flat principal faces Buildings, polyhedra, manufactured objects
3
![Page 5: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/5.jpg)
Classical Projections
Front elevation Elevation oblique Plan oblique
Isometric One-point perspective Three-point perspective
5
![Page 6: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/6.jpg)
The synthetic camera model involves two components, specified independently: objects (a.k.a geometry) viewer (a.k.a camera)
3D Synthetic Camera Model
6
![Page 7: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/7.jpg)
Imaging with the Synthetic Camera
center of projection
image plane
projector
P
projection of P
The image is rendered onto an image plane or project plane (usually in front of the camera).
Projectors emanate from the center of projection (COP) at the center of the lens (or pinhole).
The image of an object point P is at the intersection of the projector through P and the image plane.
7
![Page 8: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/8.jpg)
Specifying a Viewer
Camera specification requires four kinds of parameters:
Position: the COP.
Orientation: rotations about axes with origin at the COP.
Focal length: determines the size of the image on the film plane, or the field of view.
Film plane: its width and height, and possibly orientation.
8
![Page 9: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/9.jpg)
Projections
Projections transform points in n-space to m-space, where m < n.
In 3D, we map points from 3-space to the projection plane (PP) along projectors emanating from the center of projection (COP).
There are two basic type of projections: Perspective – distance from COP to PP finite Parallel – distance from COP to PP infinite
COP
PP
9
![Page 10: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/10.jpg)
Perspective vs. Parallel Projections
Computer graphics treats all projections the same and implements them with a single pipeline
Classical viewing developed different techniques for drawing each type of projection
Fundamental distinction is between parallel and perspective viewing even though mathematically parallel viewing is the limit of perspective viewing
10
![Page 11: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/11.jpg)
Perspective vs. Parallel Projections
11
![Page 12: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/12.jpg)
Taxonomy of Planar Geometric Projections
parallel perspective
axonometric multiview
orthographic oblique
isometric dimetric trimetric
2 point 1 point 3 point
planar geometric projections
12
![Page 13: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/13.jpg)
Orthographic Projection
Projectors are orthogonal to projection surface
13
![Page 14: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/14.jpg)
Multiview Orthographic Projection
Projection plane parallel to principal face Usually form front, top, side views
isometric (not multiview
orthographic view) front
side top
in CAD and architecture,
we often display three
multiviews plus isometric
14
![Page 15: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/15.jpg)
Advantages and Disadvantages
Preserves both distances and angles Shapes preserved
Can be used for measurements
Building plans
Manuals
Cannot see what object really looks like because many surfaces hidden from view Often we add the isometric
15
![Page 16: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/16.jpg)
Axonometric Projections
classify by how many angles of
a corner of a projected cube are
the same
none: trimetric
two: dimetric
three: isometric
q 1
q 3 q 2
Allow projection plane to move relative to object
16
![Page 17: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/17.jpg)
Types of Axonometric Projections
Isometric Trimetric Dimetric
17
![Page 18: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/18.jpg)
Advantages and Disadvantages
Lines are scaled (foreshortened) but can find scaling factors
Lines preserved but angles are not Projection of a circle in a plane not parallel to
the projection plane is an ellipse
Can see three principal faces of a box-like object
Some optical illusions possible Parallel lines appear to diverge
Does not look real because far objects are scaled the same as near objects
Used in CAD applications
18
![Page 19: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/19.jpg)
Oblique Projection
Arbitrary relationship between projectors and projection plane
19
![Page 20: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/20.jpg)
Advantages and Disadvantages
Can pick the angles to emphasize a particular face
Architecture: plan oblique, elevation oblique Angles in faces parallel to projection plane are
preserved while we can still see “around” side
In physical world, cannot create with simple camera; possible with bellows camera or special lens (architectural)
20
![Page 21: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/21.jpg)
Truncated View Volume for an Orthographic Parallel Projection
DOP
VPN
VRP
View plane Front
Clipping plane
Back Clipping plane
F
B
24
![Page 22: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/22.jpg)
The Mathematics of Orthographic Parallel Projection
1000
0000
0010
0001
0;;
ort
ppp
M
zyyxx
y
x
z
z
P(x, y, z)
P(x, y, z)
yp
xp
View along x axis
View along y axis
Projection plane
Projection plane
25
![Page 23: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/23.jpg)
Perspective Projection
Projectors converge at center of projection
27
![Page 24: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/24.jpg)
Truncated View Volume for an Perspective Projection
VPN
VRP
View plane Front
Clipping plane
Back Clipping plane
F B
28
![Page 25: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/25.jpg)
Perspective Projection (Pinhole Camera)
y
x
z
z
P(x, y, z)
P(x, y, z)
d
d
yp
xp
View along x axis
View along y axis
Projection plane
Projection plane
0/100
0100
0010
0001
/;
/
;
d
M
dz
yy
dz
xx
z
y
d
y
z
x
d
x
per
pp
pp
29
![Page 26: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/26.jpg)
Perspective Division
However W 1, so we must divide by W to return
from homogeneous coordinates
d
zz
y
x
z
y
x
d
PM
W
Z
Y
X
z
y
x
per
p
p
p
10/100
0100
0010
0001
1
d
dz
y
dz
x
W
Z
W
Y
W
Xzyx ppp ,
/,
/,,,,
30
![Page 27: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/27.jpg)
Vanishing Points
Parallel lines (not parallel to the projection plan) on the object converge at a single point in the projection (the vanishing point)
Drawing simple perspectives by hand uses these vanishing point(s)
vanishing point
33
![Page 28: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/28.jpg)
Three-Point Perspective
No principal face parallel to projection plane
Three vanishing points for cube
34
![Page 29: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/29.jpg)
Two-Point Perspective
On principal direction parallel to projection plane
Two vanishing points for cube
35
![Page 30: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/30.jpg)
One-Point Perspective
One principal face parallel to projection plane
One vanishing point for cube
36
![Page 31: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/31.jpg)
Canonical View Volume for Orthographic Parallel Projection
x = -1, y = -1, z = 0
x = 1, y = 1, z = -1
-1
-1
1
-z
x or y
Back plane Front
plane
38
![Page 32: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/32.jpg)
Clipping Lines
)( 010 yytyy
E
F
A
B
G
C
D
H
I
J
Clip rectangle
G’
D’
H’
I’
J’
A
B
C
G’
D’
H’
)( 010 xxtxx
![Page 33: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/33.jpg)
The Cohen-Sutherland Line-Clipping Algorithm
Clip rectangle
0000
1001 1000 1010
0001 0010
0101 0100 0110
0 1 2 3
Xmin
Xmax
Ymin
Ymax
![Page 34: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/34.jpg)
The Cohen-Sutherland Line-Clipping Algorithm
E
F
A
B
G
C
D
H
I
Clip rectangle
![Page 35: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/35.jpg)
Clipping Polygons Clip rectangle
![Page 36: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/36.jpg)
The Sutherland-Hodgman Polygon-Clipping Algorithm
Clip rectangle
Right clip boundary
Bottom clip boundary
Left clip boundary
Top clip boundary
![Page 37: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/37.jpg)
The Sutherland-Hodgman Polygon-Clipping Algorithm
Outside Inside Outside Inside Outside Inside Outside Inside
Case 1 Case 2 Case 3 Case 4 (no output)
Polygon being clipped
Clip boundary
s
p:output i:output s
s
s
p
p
p: second output
i: first output
![Page 38: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/38.jpg)
The Extension of the Cohen-Sutherland Algorithm
bit 1 – point is above view volume y > 1
bit 2 – point is below view volume y < -1
bit 3 – point is right of view volume x > 1
bit 4 – point is left of view volume x < -1
bit 5 – point is behind view volume z < -1
bit 6 – point is in front of view volume z > 0
45
![Page 39: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/39.jpg)
Intersection of a 3D Line
a line from to can be represented as
so when y = 1
10 t
),,( 0000 zyxP ),,( 1111 zyxP
)(
)(
)(
010
010
010
zztzz
yytyy
xxtxx
01
0100
01
0100
))(1(
))(1(
yy
zzyzz
yy
xxyxx
46
![Page 40: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/40.jpg)
Canonical View Volume for Perspective Projection
x = z, y = z, z = -zmin
x = -z, y = -z, z = -1
-1
-1
1
-z
x or y
Back plane Front
plane
47
![Page 41: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/41.jpg)
The Extension of the Cohen-Sutherland Algorithm
bit 1 – point is above view volume y > -z
bit 2 – point is below view volume y < z
bit 3 – point is right of view volume x > -z
bit 4 – point is left of view volume x < z
bit 5 – point is behind view volume z < -1
bit 6 – point is in front of view volume z > zmin
48
![Page 42: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/42.jpg)
Intersection of a 3D Line
so when y = z
yz
zzyy
yzyyyy
zzyy
yzxxxx
)()(
))((
)()(
))((
0101
00010
0101
00010
49
![Page 43: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/43.jpg)
Clipping in Homogeneous Coordinates
Why clip in homogeneous coordinates ?
it is possible to transform the perspective-projection canonical view volume into the parallel-projection canonical view volume
1,
0100
11
100
0010
0001
min
min
min
min
z
z
z
z
M
50
![Page 44: Computer Graphics - 國立臺灣大學robin/courses/cg12/cg12_03vie… · Computer graphics treats all projections the same and implements them with a single pipeline ... Projection](https://reader034.fdocuments.net/reader034/viewer/2022042202/5ea2ff5a5e2c075146432f06/html5/thumbnails/44.jpg)
Clipping in Homogeneous Coordinates
The corresponding plane equations are
X = -W
X = W
Y = -W
Y = W
Z = -W
Z = 0
51