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

9} V=Q-P  Vector v : with length and direction. physical entities. seen as points displacement y y z Right-hand system Left-hand system x x z . 3. Vector has no fixed location.Basic Entities  Coordinate system: has an origin and some mutually perpendicular axes emanating from the origin. such as force. and velocity. Q  Point P: a location in space V P {2.

5v -v . multiply them with real number  Multiplication gives a vector  v  Has the same direction as that of v v 2. Vector-scalar multiplication  Vector permits two fundamental operations: add them.

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 convex combination poses a further restriction on affine combination.  A linear combination is affine combination of vectors if the sum of all coefficients add up to unity. Not only must the coefficients sum to unit. but each must also be non-negative .

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 .Linear Combination of Vectors  The combination is Convex if the coefficients sum to 1.

v2. unit vector ~ v v v .  vn 1 2 2 2  Normalization: Scale a vector to have a unity length.…vn)  Magnitude (length): the distance from the tail to the head.Normalize a vector  v is represented by n-tuple ( v1... v  v  v2  .

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 .

b2) = a1xb1 + a2xb2 The most important application of the dot product is to find the angle between two vectors or between two intersecting lines.a2) dot (b1. the dot product equals zero.  (a1.Dot product  Dot product between vector v and vector u gives a scalar  If u and v are orthogonal. v u v u .

The Angle between Two Vectors  Hence. u gv  u v cos  v  vgv v u gv  0 u v v u u gv  0  u v u u gv  0 . dot product varies as the cosine of the angle from u to v.

(a1b2 – a2b1) . b3)  a x b = ( a2b3 –a3b2). (a3b1-a1b3). b2.Cross Product  a = (a1. a2. b=(b1. a3).

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 vu  0 uxv  The length of the cross product equals the area of the parallelogram determined by u and v .

Operation Calculation .

Operation Calculation .

but with direction and size. no direction and size. they are quite different. Homogeneous representation  Revisit coordinate frame system  Ordinary coordinate system. points and vectors are represented the same. However. . Vector has no location.  Points have location.

b. Homogeneous representation cont  Represent both points and vector using the same set of  v1 basic underlying objects. c.    v2 v  av1  bv2  cv3   a. b. )  p3    We view point’s location as an  1 offset from the origin by a certain amount  a. c. b. keep   straight the distinction between  0 points and vectors with a  p1 compact notation. Easy to   program…  p2 P  ap1  bp2  cp3    (a.   .    One of the hallmarks of  v3 computer graphics. c.

1) Vector: (x. append a 1.0)  To go from ordinary to homogenous coordinates.y. Point: (x.z.Homogeneous representation  OpenGL uses 4D homogeneous . if the object is a point.z. . if the object is a vector.y. append a 0. coordinates for all its vertices.

B B B C C C .  A ray is semi-infinite.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. specified by a starting point and a direction.

b  B C t>1 B L t=1 C t=0 t<0 .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.

planes seem to appear everywhere.  Three point form  Parametric representation  Point normal form .Parametric Plane  Heavy use of polygons in 3D graphics.

we can identify the corresponding point on the plane. b = B-C a C A  Given any values of s and t.Parametric form  Equation P(s. .t) = C + as + bt b B a = A-C.

t) = sA+tB+(1-s-t)C .Three point form of Plane  Given three points A. and C. B. We rewrite the parametric form:  P(s.t) = C + s (A-C) + t(B-C)  Affine combination of points: P(s.

normal to the plane. it satisfies: ng( R  B )  0 . B  Normal n is perpendicular to any line lying in the plane.  R is any point on the plane.Point Normal form  Plane can be specified by n a single point B. that lies within it and direction n.

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

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