1 / 26

Vector Calculus

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.

Download Presentation

Vector Calculus

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Vector Calculus Mengxia Zhu Fall 2007

  2. 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

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

  4. Vector-scalar multiplication • Vector permits two fundamental operations: add them, multiply them with real number • Multiplication gives a vector • Has the same direction as that of 2.5v v -v

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

  6. 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

  7. Linear Combination of Vectors • The combination is Convex if the coefficients sum to 1, and are not negative. Partition of unit v=a1v1 + a2v2 +(1-a1-a2)v3 v3 v2 v=(1-a)v1 + av2 = V1+a(V2-V1) v2 a(V2-V1) v1 v1

  8. Normalize a vector • v is represented by n-tuple ( v1,v2,…vn) • Magnitude (length): the distance from the tail to the head. • Normalization: Scale a vector to have a unity length, unit vector

  9. 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

  10. 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. v u

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

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

  13. Cross Product • Cross product between vector v and u gives a vector • n is a unit vector perpendicular to both u and v. Follow the right-hand rule • u and v are parallel if • The length of the cross product equals the area of the parallelogram determined by u and v v x u u v u x v

  14. Operation Calculation

  15. Operation Calculation

  16. 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.

  17. 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 point’s location as an offset from the origin by a certain amount

  18. Homogeneous representation . Point: (x,y,z,1) Vector: (x,y,z,0) OpenGL uses 4D homogeneous coordinates for all its vertices. 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.

  19. 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

  20. Parametric Representation Line • When t varies, the point P trace out all of the points on the line defined by C and B. t>1 B L t=1 C t=0 t<0

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

  22. Parametric form • Equation • Given any values of s and t, we can identify the corresponding point on the plane. b B a C A

  23. Three point form of Plane • Given three points A, B, and C. We rewrite the parametric form: • Affine combination of points:

  24. Point Normal form n • 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: B

  25. 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.

  26. 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); } }

More Related