• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
03 vector calculus

03 vector calculus






Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    03 vector calculus 03 vector calculus Presentation Transcript

    • Vector CalculusMengxia ZhuFall 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-v2v1 v1 v2 v2 v2
    • Linear Combination and AffineCombination 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 =∑ i vi a v=a1v1 + a2v2 +(1-a1-a2)v3 i=1 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 + a2xb2The most important application of the dot product is to find the angle between two vectors or between two intersecting lines. v u θv θu
    • The Angle between Two Vectors Hence, dot product varies as the cosine of the angle from u to v. u g = u v cos θ v v = vgv v ug > 0 v u v v u ug = 0 v θ u v u ug < 0 v
    • 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 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
    • 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,  v1   ÷ v = av1 + bv2 + cv3 = ( a, b, c, ϑ )  v2 ÷ 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… P = ap1 + bp2 + cp3 + ϑ = (a, b, c,ϑ )  p2 ÷  p3 ÷ We view point’s location as an  ÷ offset from the origin by a 1  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 ng R − B ) = 0 plane, it satisfies: (
    • 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.
    • Tweeningvoid 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); }}