Download Vectors - Lecture`s of computer graphics

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

2.5D wikipedia , lookup

Quaternions and spatial rotation wikipedia , lookup

Tensor operator wikipedia , lookup

Transcript
VECTORS
Computer Graphics
A REVIEW OF VECTORS:
 Scalar
Quantity
 Vector
Quantity
 2D
vectors
 Graphical
Representation of Vectors
 Magnitude
 Direction
of a vector
of a Vector
3D VECTORS
A
vector in 3D have three
Components along x, y and
Z axis. Its magnitude and
Direction can be measured
Using Pythagorean theorem
For 3D.
3D VECTORS
 Calculation
of a vector.
of magnitude
VECTOR MANIPULATION
As
vectors are different to scalars, there are
rules to control how the two mathematical
entities interact with one another.
We
need to consider vector addition,
subtraction and products, and how a vector is
scaled.
SCALING A VECTOR
Given
a vector n, 2n means that the vector’s
components are scaled by a factor of 2.
For
example,
Similarly,
if we divide
Vector n by 2 then all of
Its components have halved
VECTOR ADDITION AND SUBTRACTION
 For
vectors r and s, the
Addition and subtraction of
Is done as;
a+b= b+a
a-b ≠ b-a
VECTOR ADDITION AND SUBTRACTION
The tail of vector s is
attached to the head of
vector r. The resultant vector
t = r + s is defined by
adding the corresponding
components of r and s
together. In subtraction ,
the components of vector s
are reversed to produce an
equal and opposite vector
GRAPHICAL REPRESENTATION FOR
ADDITION AND SUBTRACTION OF VECTORS
EXAMPLE: ADDITION OF VECTORS
 The
most common way is to break up a vector into x
and y pieces, like this:
 The
vector a is broken up into
the two vectors ax and ay
EXAMPLE: ADDITION OF VECTORS
 And
here is how to add two vectors after breaking
them into x and y parts:
 The
vector (8,13) and the vector (26,7) add up to the
vector (34,20)
EXAMPLE: ADD THE VECTORS A = (8,13)
AND B = (26,7)
UNIT VECTOR
A
unit vector has a magnitude of 1.
i= [1 0 0] where |i|= 1
 in
computer graphics software, vectors are used to
control the orientation of surfaces, light sources and
the virtual camera
 Unit
vectors reduce the computation time in
computer graphics software.
CONVERSION OF A VECTOR INTO UNIT
VECTOR: NORMALIZING
 Normalizing
is achieved by dividing the components of a
vector by its magnitude. For a vector r,

when r = [x y z] and magnitude of r is
 Then,
unit vector of r can be
 calculated
as
NORMALIZING EXAMPLE:
r
= [1 2 3]
 |r|


= √ 1^2+ 2^2 +3^2 = √14
ˆr = 1
√ 14
[1 2 3] ≈ [0.267 0.535 0.802]
MULTIPLICATION OF VECTORS
 These
 They
are vectors:
can be multiplied using the
•
"Dot Product"
•
“Cross Product”
DOT PRODUCT (SCALAR PRODECT)
a
· b = |a| × |b| × cos(θ)
a
· b = ax × bx + ay × by
OR
Where:
 |a|
is the magnitude (length) of vector a
 |b|
is the magnitude (length) of vector b
θ
is the angle between a and b
 So
we multiply the length of a times the length of b, then
multiply by the cosine of the angle between a and b
EXAMPLE: CALCULATE THE DOT PRODUCT
 r=
[2 -1 3]
 s=
[3 7 5]
SCALAR PRODUCT IN LIGHTING
CALCULATIONS
Lambert’s law states that the
intensity of illumination on a
diffuse surface is proportional to
the cosine of the angle between
the surface normal vector and the
lightsource direction.
SCALAR PRODUCT IN LIGHTING
CALCULATIONS
Figure
shows a scenario where a light source is
located at (20, 20, 40), and the illuminated
point is (0, 10, 0). In this situation, incident light
intensity on surface can be calculated by
multiplying cosβ with the light source intensity.
To begin with, we are given the normal vector
ˆn to the surface. In this case ˆn is a unit
vector: i.e. | ˆn| = 1:
SCALAR PRODUCT IN LIGHTING
CALCULATIONS
Unit vector n = [0 1 0]
The direction of the light source from the surface
is defined by the vector s:
SCALAR PRODUCT IN BACK-FACE
DETECTION
The angle between the surface normal and the
camera’s line of sight determines the polygon’s
visibility
SCALAR PRODUCT IN BACK-FACE
DETECTION
The
virtual camera is located at (0, 0, 0) and
the polygon’s vertex is (10, 10, 40). The normal
vector is
n
= [5 5 −2].
SCALAR PRODUCT IN BACK-FACE
DETECTION
angle greater than 90 shows that the polygon is invisible for the camera.
CROSS PRODUCT (VECTOR PRODUCT)
 The
Cross Product a × b of two vectors is another
vector that is at right angles to both. And it all
happens in 3 dimensions!
CROSS PRODUCT (VECTOR PRODUCT)
a
× b = |a| |b| sin(θ) n
 |a|
is the magnitude (length) of vector a
 |b|
is the magnitude (length) of vector b
θ
is the angle between a and b
n
is the unit vector at right angles to both a and b
FIND THE ANGLE BETWEEN VECTORS
 r=
[2 0 3]
 s=
[2 4 5]