mathematics for graphics. 1 objectives introduce the elements of geometry scalars vectors points...
TRANSCRIPT
2
Objectives Introduce the elements of geometry
Scalars Vectors Points
Develop mathematical operations among them in a coordinate-free manner
Define basic primitives Line segments Polygons
4
Basic Elements Geometry is the study of the relationships among objects in an n-dimensional space
In computer graphics, we are interested in objects that exist in three dimensions
Want a minimum set of primitives from which we can build more sophisticated objects
We will need three basic elements Scalars Vectors Points
5
Scalars Need three basic elements in geometry
Scalars, Vectors, Points Scalars can be defined as members of sets which can be combined by two operations (addition and multiplication) obeying some fundamental axioms (associativity, commutivity, inverses)
Examples include the real and complex number systems under the ordinary rules with which we are familiar
Scalars alone have no geometric properties
6
Vectors And Point We commonly use vectors to represent:
Points in space (i.e., location) Displacements from point to point Direction (i.e., orientation)
But we want points and directions to behave differently Ex: To translate something means to move it
without changing its orientation Translation of a point = different point Translation of a direction = same direction
7
Vectors Physical definition: a vector is a quantity with two
attributes Direction Magnitude
Examples include Force Velocity Directed line segments
Most important example for graphics Can map to other types
v
8
Vector A quantity characterized by a magnitude and direction Can be represented by an arrow, where magnitude is the
length of the arrow and the direction is given by slope of the line
1
2v
2
1
v
Y
X
A vector in 2D
2
2
2
Y
X
Z
v
2
2
2
v
A vector in 3D
P (2, 1)
O (0, 0)
v = OP = จุ�ดปลาย จุ�ดต้น – = P-O
9
Vector Operations Every vector has an inverse
Same magnitude but points in opposite direction Every vector can be multiplied by a scalar There is a zero vector
Zero magnitude, undefined orientation The sum of any two vectors is a vector
Use head-to-tail axiom
v -v vv
u
w
10
Vectors Lack Position These vectors are identical
Same direction and magnitude
Vectors spaces insufficient for geometry Need points
11
Vector Addition Addition of vectors follows the parallelogram law
in 2D and the parallelepiped law in higher dimensions:
vuvu
9
7
5
6
5
4
3
2
1
12
Vector Multiplication by a Scalar Multiplication by a scalar scales the vectors
length appropriately (but does not affect direction):
1.5v
v
5.1
3
15.1
25.1
1
25.1
4
6
4
2
3
2
2
13
Subtraction
u
-v
u
-v
-v
Can be seen as an addition of
u + (-1v)
vuvu
2
4
2
5
4
1
v
Inverse vector?
14
Vector Magnitude The magnitude or “norm” of a
vector of dimension 3 is given by the standard Euclidean distance metric:
How about dimension n?
222212
212
212 321
vvvzzyyxx v
11131
1
3
1222 v
525434
3 22 v2
1
3
1
v
5
3
4
4
3v
2D example 3D example
3
2
1
12
12
12
1
1
1
2
2
2
1221
v
v
v
zz
yy
xx
z
y
x
z
y
x
PPPPv
P2
P1
v
15
Unit Vectors Vectors of length 1 are often termed unit vectors (a.k.a.
normalised vectors). When we only wish to describe direction we use normalised
vectors – often to avoid redundancy For this and other reasons, we often need to normalise a
vector:
e.g.v
v
vv
222
21
1ˆ
nvvv
3015.
9045.
3015.
11
111
311
1
11
1
1
3
1
11
1
11
1ˆ v
v
vv
1
3
1
vv̂v
16
Examples Suppose point P1(-1,-3) and P2(2,-7). Find
Vector v obtained from these two points Norm of vector v Unit vector
17
Dot Product Dot product (inner product) is defined as:
Note: Therefore we can redefine magnitude in terms of
the dot-product operator:
The dot product operator is commutative and associative.
332211
3
2
1
3
2
1
vuvuvu
v
v
v
u
u
u
vu
223
22
21 uuu uuu uuu
i
iivuvu
22112
1
2
1 vuvuv
v
u
u
vu
18
The Dot Product can also be obtained from the following equation:
where is the angle between the two vectors
So, if we know the vectors u and v, then the dot product is useful for finding the angle between two vectors.
Note that if we had already normalised the vectors u and v then it would simply be:
Dot Product
cosvuvu
vu
vuvuvu 1coscos
vu ˆˆcos 1
vu
20
Additional Properties For any three vectors u, v, w and scalars a, b
uv = vu u(v+w) = uv + uw (u+v)w = uw + vw If uv = 0 then u and v are orthogonal or
perpendicular, where u and v are not zero vector
21
Cross Product Used for defining orientation and constructing co-ordinate
axes. Cross product defined as:
The result is a vector, perpendicular to the plane defined by u and v:
Magnitude :
1221
3113
2332
3
2
1
3
2
1
vuvu
vuvu
vuvu
v
v
v
u
u
u
vu
n̂sinvuvu
sin|||||||||||| vuvu
23
Cross product is anti-commutative: It is not associative:
Direction of resulting vector defined by operand order:
uvvu wvuwvu
R.H.S.
Cross Product
25
Vector Spaces A linear combination of vectors results in a new
vector:v = 1v1 + 2v2 + … + nvn
where is any scalar If the only set of scalars such that
1v1 + 2v2 + … + nvn = 0 is 1 = 2 = … = 3 = 0 then we say the vectors are linearly independent The dimension of a space is the greatest number of
linearly independent vectors possible in a vector set For a vector space of dimension n, any set of n linearly
independent vectors form a basis
26
Coordinate Systems
3D vector space
scalar component : 1, 2, 3
basis vector : v1, v2, v3
define a coordinate system the origin : fixed reference point
column matrix
3
2
1
v
332211 vvvv
v2
v1
v3
Coordinate System
origin
27
Points Location in space Operations allowed between points and vectors
Point-point subtraction yields a vector Equivalent to point-vector addition
P = v + Q
v = P - Q
28
Affine Spaces Point + a vector space Operations
Vector-vector addition Scalar-vector multiplication Point-vector addition Scalar-scalar operations
For any point define 1 • P = P 0 • P = 0 (zero vector)
29
Lines (in Affine Space) Consider all points of the form
P(a)=P0 + a d
Set of all points that pass through P0 in the direction of the vector d
Affine addition
d
P
QRP 21 Q
vR
1
0
QR
QRQP
QRv
vQP
1
30
Parametric Form This form is known as the parametric form of the line
More robust and general than other forms Extends to curves and surfaces
Two-dimensional forms Explicit: y = mx +h Implicit: ax + by +c =0 Parametric:
x() = x0 + (1-)x1
y() = y0 + (1-)y1
31
Rays and Line Segments If >= 0, then P() is the ray leaving P0 in the direction d
If we use two points to define v, then
P( ) = Q+v = Q + (R-Q) = R + (1-)Q For 0<=<=1 we get all the
points on the line segment
joining R and Q
32
Convexity An object is convex iff for any two points in the object all points on the line segment between these points are also in the object
P
Q Q
P
convex not convex
= concave
33
Affine Sums Consider the “sum”
P=1P1+2P2+…..+nPn
Can show by induction that this sum makes sense iff
1+2+…..n=1
in which case we have the affine sum of the points P1P2,…..Pn
If, in addition, i>=0, we have the convex hull of P1P2,…..Pn
35
Curves and Surfaces Curves are one parameter entities of the form P() where the function is nonlinear
Surfaces are formed from two-parameter functions P(, )
Linear functions give planes and polygons
P() P(, )
36
Planes A plane be determined by a point and two vectors or by three points
P(,)=R+u+v P(,)=R+(Q-R)+(P-Q)
R
P
37
Triangles
convex sum of P and Q
convex sum of S() and R
for 0<=,<=1, we get all points in triangle