Vector Calculus: Mengxia Zhu Fall 2007

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 26

Vector Calculus

Mengxia Zhu
Fall 2007

Objective
Review vector arithmetic
Distinguish points and vectors
Relate geometric concepts to their
algebraic representation
Describe point, line, and planes
Exploit the dot product and cross product
and their applications in Graphics

Basic Entities

Coordinate system: has an origin and some mutually


perpendicular axes emanating from the origin.
Q

Point P: a location in space

{2, 3, 9}

P
V=Q-P

Vector v : with length and direction, physical entities,


such as force, and velocity. Vector has no fixed location,
seen as points displacement
y

y
Right-hand system

z
Left-hand system

Vector-scalar multiplication

Vector permits two fundamental operations: add them, multiply them


with real number

Multiplication gives a vector v


Has the same direction as that of
2.5v

-v

Vector addition

Sum of two vectors


Subtraction of two vectors
Adding and subtraction of
corresponding components of two
vectors gives a new vector
v1+v2

v1+v2

v1

v1

v1-v2

v2

v1

v1-v2

v1

v2
v2

v2

Linear Combination and Affine


Combination

A linear combination of vectors


W

= a1v1+a2v2 + a3v3 ++anvn: all weights are scalars.

A linear combination is affine combination of


vectors if the sum of all coefficients add up to
unity.
A convex combination poses a further restriction
on affine combination. Not only must the
coefficients sum to unit, but each must also be
non-negative

Linear Combination of Vectors

The combination is Convex if the coefficients sum


to 1, and are not negative. Partition of unit

a v
i 1

v=a1v1 + a2v2 +(1-a1-a2)v3


v3

v2 v=(1-a)v1 + av2
= V1+a(V2-V1)
a(V2-V1)

v1

v2

v1

Normalize a vector

v is represented by n-tuple ( v1,v2,vn)


Magnitude (length): the distance from the tail to the
head.

v v v2 ... vn
2
1

Normalization: Scale a vector to have a unity length,


~
unit vector

v
v
v

Point-vector addition
Subtraction of two points P and Q gives a
vector v: v=P-Q
Adding a vector v to point Q gives a point
K: K=Q+u
P

Dot product

Dot product between vector v and vector u gives a scalar


If u and v are orthogonal, the dot product equals zero.
(a1,a2) dot (b1,b2) = a1xb1 + a2xb2

The most important application of the dot product is to find


the angle between two vectors or between two
intersecting lines.

The Angle between Two Vectors

Hence, dot product varies as the cosine of


the angle from u to v.

v vgv

u gv u v cos
v
u
v

v
u

u gv 0

u
v

u gv 0

u gv 0

Cross Product

a = (a1, a2, a3), b=(b1, b2, b3)

a x b = ( a2b3 a3b2), (a3b1-a1b3), (a1b2


a2b1)

Cross Product

Cross product between vector v and u gives a


vector
~

v u n v u sin

n is a unit vector perpendicular to both u and v.


Follow the right-hand rule
u and v are parallel if

vu 0

vxu

The length of the cross product equals the area of


the parallelogram determined by u and v

v
uxv

Operation Calculation

Operation Calculation

Homogeneous representation

Revisit coordinate frame system

Ordinary coordinate system, points and vectors are represented the same. However, they
are quite different.

Points have location, no direction and size. Vector has no location, but with direction and
size.

Homogeneous representation cont

Represent both points and


vector using the same set of
basic underlying objects,
One of the hallmarks of
computer graphics, keep
straight the distinction between
points and vectors with a
compact notation. Easy to
program
We view points location as an
offset from the origin by a
certain amount a, b, c,

v1

v2

v av1 bv2 cv3 a, b, c,


v3

0
p1

p2

P ap1 bp2 cp3 (a, b, c, )


p3

1

Homogeneous representation
OpenGL uses 4D homogeneous
. coordinates for all its vertices.

Point: (x,y,z,1)

Vector: (x,y,z,0)

To go from ordinary to homogenous


coordinates, if the object is a point, append
a 1, if the object is a vector, append a 0.

Line

A line is defined by two points. It is infinite in


length and extending forever in both directions.
A line segment is defined by two endpoints.
A ray is semi-infinite, specified by a starting point
and a direction.
B

C
C

Parametric Representation Line

When t varies, the


point P trace out all of
the points on the line
defined by C and B.

L(t ) C bt
b B C
t>1

L
C
t=0
t<0

t=1

Parametric Plane

Heavy use of polygons in 3D graphics,


planes seem to appear everywhere.
Three

point form
Parametric representation
Point normal form

Parametric form

Equation

P(s,t) = C + as + bt
a = A-C, b = B-C

Given any values of s


and t, we can identify
the corresponding
point on the plane.

b
C

B
a

Three point form of Plane

Given three points A, B, and C. We rewrite


the parametric form:

P(s,t) = C + s (A-C) + t(B-C)

Affine combination of points:

P(s,t) = sA+tB+(1-s-t)C

Point Normal form

Plane can be specified by


a single point B, that lies
within it and direction n,
normal to the plane.
Normal n is perpendicular
to any line lying in the
plane.
R is any point on the
plane, it satisfies:

ng( R B ) 0

Tweening for Art and Animation


The affine combination of points
P = A(1-t) + Bt, performs a linear
interpolation between the points A and B.
Interesting animation can be created that
show one figure being tweened into
another. The procedure if simplest if the
two figures are polylines based on the
same number of points.

Tweening
void drawTween ( Point A[], Point B[], int n, float t)
{
for (int i= 0; i< n; i++)
{
Point p;
P = Tween(A[i], B[i], t);
if ( i == 0 ) moveTo (Px, Py);
else
lineTo (Px, Py);
}
}

You might also like