Professional Documents
Culture Documents
Dr Almaz Yohannis
10/18/22 1
} Computer graphics is all about maths!
} None of the maths is hard, but we need to
understand it well in order to be able to
understand certain techniques
} Some of the Important concepts involve:
◦ Coordinate reference frames
◦ Points & lines
◦ Vectors
◦ Matrices
2
10/18/22
10/18/22 3
} When setting up a scene in computer
graphics we define the scene using simple
geometry
} For 2D scenes we use y axis
simple two dimensional
Cartesian coordinates y
P
x x axis
10/18/22 4
y
(2, 7) (7, 7)
7
3
(2, 3) (7, 3)
x
2 7
10/18/22 5
} For three dimensional scenes we simply add an extra coordinate
y axis
z
x
z axis x axis
10/18/22 6
} There are two different ways in which we can do 3D
coordinates – left handed or right handed
Left-Hand
Reference System
Right-Hand
Reference System For CSC 314 we use the RHS
10/18/22 7
} Points:
◦ A point in two dimensional space is given as an
ordered pair (x, y)
◦ In three dimensions a point is given as an ordered
triple (x, y, z)
} Lines:
◦ A line is defined using a start point
and an end-point
In 2d: (xstart, ystart) to (xend, yend)
10/18/22 8
y
(2, 7) (6, 7)
(7, 1)
10/18/22 9
} The slope-intercept y
10/18/22 11
y
0 1 2 3 4 5 6 7 8 9 10 x
10/18/22 12
For each x value just work out the y value:
3 4
y (2) = × 2 + = 2
5 5
3 4 3 y
y (3) = × 3 + = 2 5
5 5 5
3 4 1
y (4) = × 4 + = 3
5 5 5
3 4 4 2
y (5) = × 5 + = 3
5 5 5
3 4 2 x
y (6) = × 6 + = 4 2 3 4 5 6 7
5 5 5
3 4
y (7 ) = × 7 + = 5
5 5 10/18/22 13
} Vectors:
◦ A vector is defined as the difference between two
points
◦ The important thing is that a vector has a direction
and a length
} What are vectors for?
◦ A vector shows how to move from one point to
another
◦ Vectors are very important in graphics - especially
for transformations
10/18/22 14
} To determine the vector between two points
simply subtract them
P2 (7, 10)
y axis
V = P2 - P1
V P (6, 7) P2 (10, 7)
= ( x2 - x1 , y2 - y1 )
2
P1 (2, 6)
V V
= (6 - 1, 7 - 3)
P1 (1, 3) P1 (5, 3)
= (5, 4)
x axis
P1
= (7 - 2, 10 - 1, 5 - 3)
= (5,9,2)
z axis x axis
10/18/22 16
} There are a number of important operations
we need to know how to perform with
vectors:
◦ Calculation of vector length
◦ Vector addition
◦ Scalar multiplication of vectors
◦ Scalar product
◦ Vector product
10/18/22 17
} Vector lengths are easily calculated in two
dimensions:
| V |= V + V
x
2
y
2
| V |= V + V + V
x
2
y
2
z
2
10/18/22 18
} The sum of two vectors is calculated by
simply adding corresponding components
V1 + V 2 = (V1x + V2 x , V1 y + V2 y )
y axis y axis
V1 + V 2
V2 V2
V1
} Performed similarly in three dimensions
V1
x axis x axis
10/18/22 19
} Multiplication of a vector by a scalar proceeds
by multiplying each of the components of the
vector by the scalar
sV = ( sVx , sV y )
y axis y axis (sVx, sVy)
(Vx, Vy) sV
x axis x axis
10/18/22 20
} There are other important vector operations
that we will cover as we come to them
} These include:
◦ Scalar product (dot product)
◦ Vector product (cross product)
10/18/22 21
} A matrix is simply a grid of numbers
é 1 11 13 ù é 4 .3 ù
ê10 4 - 3ú ê 6 .7 ú é 4 8 15 ù
ê ú [1 2 3 4] ê ú ê16 23 42ú
êë 2 0 6 úû êë1.2 úû ë û
10/18/22 22
} The important matrix operations for this
course are:
◦ Scalar multiplication
◦ Matrix addition
◦ Matrix multiplication
◦ Matrix transpose
◦ Determinant of a matrix
◦ Matrix inverse
10/18/22 23
} To multiply the elements of a matrix by a
scalar simply multiply each one by the scalar
éa b c ù és *a s *b s *c ù
s * êêd e f úú = êê s * d s * e s * f úú
êë g h i úû êë s * g s * h s * i úû
} Example:
é 2 4 6 ù é 6 12 18 ù
3 * êê 8 10 12úú = êê24 30 36úú
êë14 16 18úû êë42 48 54úû
10/18/22 24
} To add two matrices simply add together all
corresponding elements
éa b c ù ér s t ù éa + r b + s c+t ù
êd e f úú + êêu v wúú = êêd + u e + v f + wúú
ê
êë g h i úû êë x y z úû êë g + x h + y i + z úû
} Example:
é 2 4 6 ù é 3 5 7 ù é 5 9 13 ù
ê 8 10 12ú + ê 9 11 13ú = ê17 21 25ú
ê ú ê ú ê ú
êë14 16 18úû êë15 17 19úû êë29 33 37 úû
10/18/22 28
} The transpose of a matrix M, written as MT
is obtained by simply interchanging the rows
and columns of the matrix
} For example:
Té1 4 ù
é1 2 3 ù ê2 5ú
ê 4 5 6ú = ê ú
ë û êë3 6úû
10/18/22 29
} There are some other important matrix
operations that we will explain as we need
them
} These include:
◦ Determinant of a matrix
◦ Matrix inverse
10/18/22 30
} In this lecture we have taken a brief tour
through the following:
• Basic idea
• The mathematics of points, lines and vectors
• The mathematics of matrices
} These tools will equip us to deal with the
computer graphics
10/18/22 31
} Plot the line y = ½x + 2 from x = 1 to x = 9
y
0 1 2 3 4 5 6 7 8 9 10 x
10/18/22 32
} Perform the following matrix additions:
[- 11 - 19 - 15 5] + [- 1 - 14 - 5 1] = [__ __ __ __ ]
é 3 20 - 11 0 ù é16 10 - 12 - 11ù é __ __ __ __ ù
ê- 14 5 - 3 6 ú ê10 - 15 15 5 ú ê __ __ __ __ úú
ê ú+ê ú=ê
ê 15 2 9 - 18ú ê- 1 14 -9 0 ú ê __ __ __ __ ú
ê ú ê ú ê ú
ë - 19 4 - 15 10 û ë 3 - 3 - 16 - 5 û ë __ __ __ __ û
é13 - 3 - 4ù é - 1 - 15 - 7 ù é __ __ __ ù
ê19 9 ú +ê ú =ê
ë 8 û ë- 14 5 17 û ë __ __ __ úû
10/18/22 33
} Perform the following matrix multiplications:
é - 15 19 ù
ê ú
é8 15 19 4ù ê- 12 - 19ú é __________ __________ ù é __ __ ù
ê7 - 4 12 3ú * ê 0 =ê ú =ê
ë û - 13ú ë __________ __________ û ë __ __ úû
ê ú
ë 10 7 û
10/18/22 34
} Perform the following multiplication of a matrix by
a scalar
é15 19 ù é __ __ ù
ê 2 5 ú ê __ __ ú
6* ê ú=ê ú
ê 0 - 1ú ê __ __ ú
ê ú ê ú
ë 1 7 û ë __ __ û
} Calculate the transpose of the following matrix
T
é 3 11ù
ê 6 4 ú = é __ __ __ ù
ê ú ê __ __ __ úû
êë23 7 úû ë
10/18/22 35