Vector Tools for Computer Graphics
Vector Tools for Computer Graphics Two branches of Mathematics Vector Analysis Transformation Why Vectors?
Basic Definitions Points specify location in space (or in the plane). Vectors have magnitude and direction (like velocity). Points Vectors
Basics of Vectors v Vector as displacement: v is a vector from point P to point Q. P v Q The difference between two points is a vector: v = Q - P Another way: The sum of a point and a vector is a point : P + v = Q v Q P
Multiplication be scalars Operations on Vectors Two operations Addition a + b a = (3,5,8), b = (-1,2,-4) a + b = (2,7,4) Multiplication be scalars sa a = (3,-5,8), s = 5 5a = (15,-25,40) operations are done componentwise
Multiplication by scalar Operations on vectors Addition a b a+ b a b a+ b Multiplication by scalar a 2a -a
Operations on vectors Subtraction a c -c a-c
Linear Combination of Vectors Definition Linear combination of m vectors v1, v2, …, vm: w = a1v1 + a2 v2 + …+ amvm where a1,a2,…am are scalars. Types Affine Combination a1 + a2 + …+ am = 1 Examples: 3a + 2b - 4c (1- t)a + (t)b Convex Combination a1 + a2 + …+ am = 1 and ai ≥ 0, for i = 1,…m. Example: .3a + .2b + .5c
Convex Combination of Vectors a(v2-v1) v3 v v1 v2 v1
The standard unit vectors: i = (1,0,0), j = (0,1,0) and k = (0,0,1) Properties of vectors Length or size w = (w1,w2,…,wn) Unit vector The process is called normalizing Used to refer direction The standard unit vectors: i = (1,0,0), j = (0,1,0) and k = (0,0,1)
Dot Product The dot product d of two vectors v = (v1,v2,…,vn) and w = (w1,w2,…wn): Properties Symmetry: a·b = b·a Linearity: (a+c) ·b = a·b + c·b Homogeneity: (sa) ·b = s(a·b) |b|2 = b·b
Application of Dot Product Angle between two vectors: y c b θ Φc Φb x Two vectors b and c are perpendicular (orthogonal/normal) if b·c = 0
is the counterclockwise perpendicular to a. 2D “perp” Vector Which vector is perpendicular to the 2D vector a = (ax,ay)? Let a = (ax,ay). Then a┴ = (-ay,ax) is the counterclockwise perpendicular to a. a┴ -a┴ a a What about 3D case?
Applications: Orthogonal Projection Mv┴ c c L v┴ A Kv v v A
Applications: Reflections m -m e a n r θ1 θ2 r = a - 2 ( a . n) n
Cross Product Also called vector product. Defined for 3D vectors only. Properties Antisymmetry: a Χ b = - b Χ a Linearity: (a +c) Χ b = a Χ b + c Χ b Homogeneity: (sa) Χ b = s(a Χ b)
Geometric Interpretation of Cross Product axb a b x y z P2 P1 P3 aXb is perpendicular to both a and b | aXb | = area of the parallelogram defined by a and b
Representation of Vectors and Points
Coordinate Frame b P v O a c
Homogeneous Representation Basic objects: a,b,c,O Represent points and vectors using these objects
Homogeneous Representation To go from ordinary to homogeneous If point append 1 as the last coordinate. If vector append 0 as the last coordinate. To go from homogeneous to ordinary The last coordinate must be made 1 and then delete it The last coordinate must be made 0 and then delete it
Linear Combinations of vectors The difference of two points is a vector The sum of a point and vector is a point The sum of two vectors is a vector The scaling of a vector is a vector Any linear combination of vectors is a vector
any affine combination of points is a legitimate point Affine Combinations of Points Two points P=(P1,P2,P3,1) and R=(R1,R2,R3,1): E = fP + gR=(fP1+gR1, fP2+gR2, fP3+gR3, f+g) Since affine combination so f+g=1 So, E is a valid point in homogeneous representation NOT a valid point, unless f + g = 1 Example: 0.3P+0.7R is a valid point, but P + R is not. any affine combination of points is a legitimate point
Linear Combinations of Points Linear combination of two points P and R: E = fP + gR If the system is shifter by U P’ = P + U R’ = R + U E’ should be equal to E+U i.e E’=E+U E should also be shifted by U But, E’ = fP’ + gR’ = fP + gR + (f+g)U NOT, unless f + g = 1
Affine Combinations of Points [contd] P1+P2 P2 P1 P1+P2 (P1+P2)/2
Point + Vector = Affine Comb of Points Let, P = A + t v and v = B – A Therefore, P = A + t (B – A) => P = t B + (1 – t) A. “Tweening” See Hill 4.5.4 Linear Interpolation
Representing Lines 3 types of representations: Ray Line Line segment Two point form Parametric representation Point normal form
Parametric Representation of a Line y t > 1 B b t = 1 C t = 0 t < 0 x
Point Normal Form of a Line B R C
All in One : Representations of Line B = C - n┴ Point Normal Two Point {C, n} {C, B} n = (B – C) ┴ b = - n┴ B = C + b n = b┴ b = B – C Parametric {C, b}
Planes in 3D 3 fundamental forms Three-point form Parametric representation Point normal form
Parametric Representation of Plane b
Point Normal Form of a Plane B
All in One : Representations of Plane A=(0,0,n.C/ nz) C=(C-0) B=(0,n.C/ ny,0) Point Normal Three Point {C, n} n = (A-C)x(B – C) {A,C,B} a= (0,0,1)xn A = C + a B = C + b b = nxa n = axb Parametric a= A – C b = B – C {C, a, b}
Readings Hill 4.1 – 4.6