vector tools for computer graphics computer graphics
TRANSCRIPT
Vector Tools forComputer Graphics
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
v
Q
PVector as displacement:
v is a vector from point P to point 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
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
Operations on vectors
Addition
a
b
a+ b
ab
a+ b
Multiplication by scalar
a2a
-a
Operations on vectors
Subtraction
a
c
a
-c
a-ca
c
a-c
Linear Combination of Vectors
Linear combination of m vectors v1, v2, …, vm:
w = a1v1 + a2 v2 + …+ amvm
where a1,a2,…am are scalars.
Definition
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
v1
v2
v
a(v2-v1)
v1v2
v3
Properties of vectors
Length or size
222
21 ... nwww |w|
w = (w1,w2,…,wn)
Unit vector
aa
a
• 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
1. Symmetry: a·b = b·a
2. Linearity: (a+c) ·b = a·b + c·b
3. Homogeneity: (sa) ·b = s(a·b)
4. |b|2 = b·b
Application of Dot Product
Angle between two vectors:
c
b
y
xΦb
Φc
θ^^
)cos( cb
Two vectors b and c are perpendicular (orthogonal/normal) ifb·c = 0
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
A
C
v
cL
A
C
v
c
v┴
Mv┴
Kv
Applications: Reflections
a
n
r
m -m
e e
a
n
r
θ1 θ2
r = a - 2 ( a . n) n
Cross Product
Also called vector product. Defined for 3D vectors only.
zyx
zyx
bbb
aaa
kji
ba
Properties
1. Antisymmetry: a Χ b = - b Χ a
2. Linearity: (a +c) Χ b = a Χ b + c Χ b
3. Homogeneity: (sa) Χ b = s(a Χ b)
Geometric Interpretation of Cross Product
axb
a
b
x
y
z
P2
P1P3
1. aXb is perpendicular to both a and b 2. | aXb | = area of the parallelogram defined by a and b
Representation of Vectors and Points
Coordinate Frame
P
v
c
a
b
O
Homogeneous Representation
Basic objects: a,b,c,O Represent points and vectors using these objects
Homogeneous Representation
To go from ordinary to homogeneous
1.If point append 1 as the last coordinate.2.If vector append 0 as the last coordinate.
To go from homogeneous to ordinary
1.The last coordinate must be made 1 and then delete it2.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
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)UNOT, unless f + g = 1
Affine Combinations of Points [contd]
P2
P1 P1+P2
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.
Linear Interpolation
“Tweening”
See Hill 4.5.4
Representing Lines
Line Line segment Ray
3 types of representations:1. Two point form
2. Parametric representation
3. Point normal form
Parametric Representation of a Line
y
x
t = 1
B
Cb
t = 0
t < 0
t > 1
Point Normal Form of a Line
n
B
R
C
All in One : Representations of Line
Two PointPoint
Normal
Parametric
B = C - n┴
n = (B – C) ┴
n =
b┴
b =
- n┴B = C + bb
= B – C
{C, B}{C, n}
{C, b}
Planes in 3D
3 fundamental forms Three-point form Parametric representation Point normal form
Parametric Representation of Plane
C
a
b
Point Normal Form of a Plane
B
n
All in One : Representations of Plane
Three PointPoint
Normal
Parametric
A=(0,0,n.C/ nz) C=(C-0) B=(0,n.C/ ny,0)
n = (A-C)x(B – C)
n =
axbb =
nxa
A = C + a
B = C + ba=
A – C
b = B
– C
{A,C,B}
{C, n}
{C, a, b}
a= (0
,0,1
)xn
Readings
Hill 4.1 – 4.6