- C++ Game Development By Example
- Siddharth Shekar
- 527字
- 2021-06-24 14:26:15
Vector operations
Just like scalar information, vectors can also be added, subtracted and multiplied with each other. Suppose you have two vectors: and and
, with
= (ax, ay, az) and
= (bx, by, bz). In this case, let us see how you will add and subtract these vectors with each other.
When adding the vectors, we add the components individually to give a new vector:
=
+
= ((ax + bx) , (ay + by) , (az + bz ))
Let's now visualize the addition of two vectors in a graph as shown in the following image.
The Z value is kept as 0.0 for convenience:
Here, =(1.0, 0.4, 0.0 ) and
=(0.6, 2.0, 0.0)
So the resultant vector =
+
= (1.0 + 0.6 , 0.4 + 2.0, 0.0 + 0.0)
= (1.6, 2.4 , 0.0)

Vectors are also commutative meaning +
will give the same result as
+
But if we add
to
then in the diagram above the dotted line will go from the tip of the blue arrow to the tip of the red arrow.
Furthermore, in vector subtraction, we subtract the individual components of the vectors to give a new vector:
=
-
= ((ax - bx) , (ay - by) , (az - bz ))
Now let's visualize the subtraction of 2 vectors in a graph as shown in the following image:
Here = (1.0, 0.4, 0.0 ) and
= (0.6, 2.0, 0.0)
So the resultant vector =
-
= (1.0 - 0.6, 0.4 - 2.0, 0.0 - 0.0)
= (0.4, -1.6, 0.0)

If vectors A and B are equal, the result will be a zero vector with all three components being zero.
If =
. This means ax = bx , ay = by , az = bz, then
=
-
= (0, 0, 0)
We can multiply a scalar with a vector. The result is again a vector with each component of the vector multiplied by the scalar.
For example, if A is multiplied by a single value of s we will have the following result:


= s ×(ax, ay, az)
= (s × ax, s × ay, s × az)
If = (3, -5, 7) and s = 0.5 then
= s
is
= (3 × 0.5, -5 × 0.5, 7 × 0.5)
= (1.5, -2.5. 3.5)
- Arduino入門(mén)基礎(chǔ)教程
- Python GUI Programming:A Complete Reference Guide
- Applied Unsupervised Learning with R
- 現(xiàn)代辦公設(shè)備使用與維護(hù)
- Getting Started with Qt 5
- 面向?qū)ο蠓治雠c設(shè)計(jì)(第3版)(修訂版)
- OpenGL Game Development By Example
- Machine Learning with Go Quick Start Guide
- Source SDK Game Development Essentials
- Blender Quick Start Guide
- 基于PROTEUS的電路設(shè)計(jì)、仿真與制板
- LPC1100系列處理器原理及應(yīng)用
- Spring Cloud實(shí)戰(zhàn)
- 筆記本電腦維修技能實(shí)訓(xùn)
- Raspberry Pi Home Automation with Arduino