CSC 123 – Computational Art Points and Vectors Zoë Wood.
-
date post
19-Dec-2015 -
Category
Documents
-
view
223 -
download
3
Transcript of CSC 123 – Computational Art Points and Vectors Zoë Wood.
CSC 123 – Computational ArtPoints and Vectors
Zoë Wood
Representing Points and Vectors
• A 2D point:
– Represents a location with respect to some coordinate system
• A 2D vector:
– Represents a displacement from a position
y
xv
y
xp
Vectors
• Objects with length and direction.• Represent motion between points in space.
• We will think of a vector as a displacement from one point to another.
• We use bold typeface to indicate vectors.
v
Vectors as Displacements
• As a displacement, a vector has length and direction, but no inherent location.
• It doesn’t matter if you step one foot forward in Boston or in New York.
vv v
v
v
v
Vector Notation• We represent vectors as a list of components.• By convention, we write vectors as a column
matrix:
• We can also write them as row matrix, indicated by vT:vT = [x0, x1] or wT = [x0, x1 , x2]
• All components of the zero vector 0 are 0.
1
0
x
xv
2
1
0
x
x
x
wor
Vector Operations
• Addition and multiplication by a scalar:– a + b– s*a
• Examples:
_
_*6
_
_
2-
3;
5
2
a
b
ba
a
Vector Operations
• Addition and multiplication by a scalar:– a + b– s*a
• Examples:
30
12*6
3
5
2-
3;
5
2
a
b
b
a
a
Vector Scaling – geometric interpretation
• Multiplying a vector by a scalar multiplies the vector’s length without changing its direction:
v
2 * v3.5 * v
Vector scalar Multiplication
• Given wT = [x0, x1 , x2] and scalars s and t s * wT = [s * x0, s * x1 , s * x2]
• Properties of Vector multiplication– Associative: (st)V = s(tV)– Multiplicative Identity: 1V = V– Scalar Distribution: (s+t)V = sV+tV– Vector Distribution: s(V+W) = sV+sW
Vector addition – geometric interpretation
Paralleologram rule• To visualize what vector addition is
doing, here is a 2D example:
V
W
V+W
Vector Addition
• Head to tail: At the end of a, place the start of b.
a + b = b + a
• Components: a + b = [a0 + b0, a1 + b1]T
ba
a+b
Unary Minus
• Algebraically, -v = (-1) v.• The geometric interpretation of -v is a
vector in the opposite direction:
v
-v
Vector Subtraction
• b - a = -a + b
• Components: b - a = [b0 - a0, b1 - a1]T
b
ab-a
-a+b
Linear Combinations
• A linear combination of m vectors is a vector of the form:
where a1, a2, …, am are scalars.
• Example:
m21 ,,, vvv
,aaa mm2211 vvvw
_
_62
0
1-;
4
3
21
21
v
vv
v
Linear Combinations
• A linear combination of m vectors is a vector of the form:
where a1, a2, …, am are scalars.
• Example:
m21 ,,, vvv
,aaa mm2211 vvvw
8
062
0
1-;
4
3
21
21
v
v
v
v
Vector Addition
• Given vT = [x0, x1 , x2] and wT = [y0, y1 , y2]
– V+W = [x0 +y0, x1 + y1 , x2 + y2]
• Properties of Vector addition– Commutative: V+W=W+V– Associative (U+V)+W = U+(V+W)– Additive Identity: V+0 = V– Additive Inverse: V+W = 0, W=-V
Points and Vectors
• We normally say v = [3 2 7]T.• Similarly, for a point we say P = [3 2 7]T.
• But points and vectors are very different:– Points: have a location, but no direction.– Vectors: have direction, but no location.
• Point: A fixed location in a geometric world.• Vector: Displacement between points in the
world.
Vectors to Specify Locations
• Locations can be represented as displacements from another location.
• There is some understood origin location O from which all other locations are stored as offsets.
• Note that locations are not vectors!• Locations are described using points.
v
O
P
Operations on Vectors and Points•Linear operations on vectors make sense,
but the same operations do not make sense for points:
•Addition: –Vectors: concatenation of displacements.–Points: ?? (SLO + LA = ?)
•Multiplication by a scalar:–Vectors: increases displacement by a factor.–Points: ?? (What is 7 times the North Pole?)
•Zero element:–Vectors: The zero vector represents no displacement.
–Points: ?? (Is there a zero point?)
Operations on Points
• However, some operations with points make sense.
• We can subtract two points. The result is the motion from one point to the other:
P - Q = v
• We can also start with a point and move to another point:
Q + v = P
Other operations
• There are other operations on 3D vectors– dot product– cross product
• We won’t talk about these
Vector Basis
• Vectors which are linearly independent form a basis.
• The vectors are called basis vectors.• Any vector can be expressed as linear
combination of the basis vectors:
• Note that the coefficients ac and bc are unique.
bac cc ba
Orthogonal Basis
• If the two vectors are at right angles to each other, we call the it an orthogonal basis.
• If they are also vectors with length one, we call it an orthonormal basis.
• In 2D, we can use two such special vectors x and y to define the Cartesian basis vectors
• x = [1 0] y = [0 1] x
y
Cartisian
• Descarté• One reason why cartesian coordinates
are nice
x
y
2
0.5
yxc ).50(2
cBy Pythagorean theorem:
length of c is:
22aa yx c
Normalizing a vector
• In order to make a vector be a ‘normal’ vector it must be of unit length.
• We can normalize a vector by dividing each component by its length
€
ˆ v = v / v
How can we use these?
• When we want to control movement, we can use vectors
• For example if we want to have a faces’ eyeballs follow the mouse…
Problem
• Move eyeballs to the edge of a circle in a given direction– Compute the vector, which is a displacement
fromthe current position towhere the mouse wasclicked
– Scale the vector to only be aslong as the eye’s radius
– Displace the eyeball to rimof the eye