Background knowledge for 3DM
Marc van Kreveld
• A vector is an ordered pair, triple, … of (real) numbers, often written as a column
• A vector (3, 4) can be interpreted as the point with
x-coordinate 3 and y-coordinate 4, so (3, 4) as well
• A vector like (2, 1, –4) can be interpreted as a point in 3-dimensional space
Three times the vector (3, 2), and once the point (3, 2)
• The length of a vector (a, b) is denoted |(a, b)| and is obtained by the Pythagoras Theorem: a 2 + 𝑏 2
• The length of a vector (a, b, c) is denoted |(a, b, c)| and is given by : a 2 + b
2
+ 𝑐 2
Be aware of length and dimensionality and their difference
• Two vectors of the same dimensionality can be added; just add the corresponding components:
(a,b) + (c,d) = (a+c, b+d)
• The result is a vector of the same dimensionality
• Geometric interpretation: place one arrow’s start at the end of the other, and take the resulting arrow purple + purple = blue
• A value is also called a scalar
• We can multiply a scalar k with a vector (a, b); this is defined to be the vector (ka, kb)
• Geometric interpretation where a vector is an arrow:
– k = – 1 : reverse the direction of an arrow
– k = 2 : double the length of an arrow; same as adding a vector to itself
• One type of vector multiplication is called the
dot product, it yields a scalar (a value)
• Example: (a, b, c)
(d, e, f) = ad + be + cf
• It works in all dimensions
• The dot product rule/equation for vectors u and v: u
v = |u|
|v| cos
• Perpendicular vectors have a dot product 0
• Another type of multiplication is the cross product, denoted by
• It applies only to two vectors in 3D and yields a vector in 3D
– the result is normal to the input vectors
– if the input vectors are parallel, we get the null vector (0, 0, 0) 𝑎
1 𝑎
2 𝑎
3
× 𝑏
1 𝑏
2 𝑏
3
= 𝑎
2 𝑎
3 𝑎
1 𝑏
3 𝑏
1 𝑏
2
− 𝑎
3
− 𝑎
1
− 𝑎
2 𝑏
2 𝑏
3 𝑏
1
• The length of the result vector of the cross product is related to the lengths of the input vectors and their angle
|a
b| = |a|
|b| sin
In words: the length of the result a
b is the area of the parallelogram with a and b as sides
• Other terms of importance:
– linear independence
– spanning a (sub)space
– basis
– orthogonal basis
– orthonormal basis
• Matrices are grids of values; an m-by-n (m
n) matrix consists of m rows and n columns
• An m
n matrix represents a linear transformation from m-space to n-space, but it could represent many other things
• A linear transformation:
– maps any point/vector to exactly one point/vector
– maps the origin/null vector to the origin/null vector
– preserves straightness: mapping a line segment (its points) yields a line segment (its points), which can degenerate to a single point
Example:
1 2 3
0 1 0
−1 0 1
1
2
3
=
14
2
2 point or vector
−1 0
0 1 mirror in y-axis
1 1.25
0 1 shear the x-coordinate
1.5
0
0 1.5
scale x and y by 1.5
cos 𝜃 −sin 𝜃 sin 𝜃 cos 𝜃 rotate by
=
/6 radians
• Matrix addition: entry-wise
• Multiplication with scalar: entry-wise
• Multiplication of two matrices A and B:
– #columns of A must match #rows of B
– not commutative
– AB represents the linear transformation where
B is applied first and A is applied second
• Other terms of importance:
– null matrix (m
n), identity matrix (n
n)
– rank of a matrix: number of independent rows (or columns)
– determinant: converts a square matrix to a scalar
Geometric interpretation: tells something about the area/volume enlargement (2D/3D) of a matrix
Det = 2 (in 2D): a transformed triangle has twice the area
Det = 0: the transformation is a projection
– matrix inversion: represents the transformation that is the reverse of what the matrix did
– Gaussian elimination: process (algorithm) that allows us to invert a matrix, or solve a set of linear equations
• A 3x3 matrix can represent any linear transformation from 3-space to 3-space, but no other transformation
• The most important missing transformation is
translation (which never maps the origin to the origin so it cannot be a linear transformation)
• Combinations of linear transformations and translations (one applied after the other) are called affine transformations
• Using homogeneous coordinates, we can use a 4x4 matrix to represent all 3-dim affine transformations
(generally: (d+1)x(d+1) matrix for d-dim affine tr.)
the homogeneous coordinates of the point
(a, b, c) are simply (a, b, c, 1)
• The matrix for translation by the vector (a, b, c) using homogeneous coordinates is:
1 0
0 1
0 0
0 0
0 𝑎
0 𝑏
1 𝑐
0 1
Just apply this matrix to the origin = (0, 0, 0, 1) and see where it ends up: (a, b, c, 1)
• It is possible to define and use vectors of points:
( (a, b), (c, d), (e,f) ) instead of vectors of scalars
• We can add two of these because vector addition is naturally defined
• We can also multiply such a thing by a scalar
( (a, b), (c, d), (e,f) ) + ( (g, h), (i, j), (k,l) ) =
( (a, b)+(g, h), (c, d)+(i, j), (e,f)+(k,l) ) =
( (a+g, b+h), (c+i, d+j), (e+k, f+l) )
3 ( (a, b), (c, d), (e,f) ) = ( 3(a, b), 3(c, d), 3(e,f) ) =
( (3a, 3b), (3c, 3d), (3e, 3f) )
• We can not add such a thing and a normal 3D vector because we cannot add a scalar and a vector/point
( (a, b), (c, d), (e,f) ) + ( g, h, i ) = undefined
• We can even apply (scalar) matrices to these things:
1
0
−1
2 3
1 0
0 1
(𝑎, 𝑏)
(𝑐, 𝑑)
(𝑒, 𝑓)
= 𝑎, 𝑏 + 2 𝑐, 𝑑 + 3(𝑒, 𝑓)
(𝑐, 𝑑)
− 𝑎, 𝑏 + (𝑒, 𝑓)
= 𝑎 + 2𝑐 + 3𝑒, 𝑏 + 2𝑑 + 3𝑓
(𝑐, 𝑑)
(−𝑎 + 𝑒, −𝑏 + 𝑓)
This works be cause we know how to add points and multiply scalars and points
1. Are the vectors (2, 4, 5), (5, – 1, 1), and (1, –9, –9) linearly independent?
2. Multiply
2 −1 3
2 2 −2
0 1
3 4
−1
0
2 1 −1
3. Find the matrix for the 3D affine transformation: mirror in the plane y – z = 3
4. Does the property that the determinant of a square matrix represents the change factor in area/volume of a shape also hold for matrices using homogeneous coordinates? Explain why or why not
5. Let S be the collection of all strings. Define
– addition of two strings as their concatenation
– multiplication of a string with a nonnegative integer by repeating the string as often as the value of the integer
Compute:
2 1
0 2
2 1 boe pf
2 1
0 3 us them