Está en la página 1de 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 V P
{2, 3, 9}
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

z
Right-hand system
Left-hand system

x x
z
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 v
v 2.5v

-v
Vector addition v1 v1-v2
Sum of two vectors
Subtraction of two vectors
Adding and subtraction of v2
corresponding components of two
vectors gives a new vector
v1+v2 v1+v2
v1
v1-v2

v1 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
m
v a v
i 1
i i v=a1v1 + a2v2 +(1-a1-a2)v3
v3
v2 v=(1-a)v1 + av2

= V1+a(V2-V1)

a(V2-V1) v2 v1
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
1
2 2 2

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
v
Q
u
K
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.

u
v u
The Angle between Two Vectors
Hence, dot product varies as the cosine of
the angle from u to v.

u gv u v cos v vgv
v u gv 0
u

v v u u gv 0

u v u 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 vxu

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


Follow the right-hand rule
u and v are parallel if v
vu 0
uxv
The length of the cross product equals the area of
the parallelogram determined by u and v
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 v1
basic underlying objects,
v2
v av1 bv2 cv3 a, b, c,
One of the hallmarks of v3
computer graphics, keep
straight the distinction between 0
points and vectors with a p1
compact notation. Easy to
program p2
P ap1 bp2 cp3 (a, b, c, )
p3

We view points location as an 1
offset from the origin by a
certain amount a, b, c,
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 B
B
C C
C
Parametric Representation Line
When t varies, the
point P trace out all of L(t ) C bt
the points on the line
defined by C and B. b B C
t>1
B
L t=1
C
t=0
t<0
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
b B
a = A-C, b = B-C a
C A
Given any values of s
and t, we can identify
the corresponding
point on the plane.
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 n
a single point B, that lies
within it and direction n,
normal to the plane. B
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);
}
}

También podría gustarte