# What are the advantages of using matrices over matrices for translations

In Animation Node, there are many ways to control an object's location. The most commonly used ways are using vectors and matrices. Anyway, I do not understand clearly how one might be more advantageous than the other. I want to understand in what situations one should use matrices over vectors and vise versa.

Matrices---Or Transformation Matrices in this context---are advantageous if other types of transformations are used. A transformation matrix hold much more information that a simple 3D vector. To understand what I mean, lets look at some examples.

If one wants to translate an object along a circle whose center is $(1,1,0)$ using only vectors, one would use a parametric equation as follows.

As one might expect, artists will find this solution rather complicated for its outcome. In order to translate an object in a circular path, one has to use trigonometry. Had the translation been along a linear path, using vectors would be most appropriate.

Now lets look at how matrices handle this problem.

The combine matrix node multiply the input matrix list, so the node tree can be read as follows. Move the object one unit along the x axis (First Matrix) then rotate it around the origin (Second Matrix) then move it one unit in both the x and y direction (Third Matrix). Which is very intuitive from the perspective of artists and no explicit math or trigonometry had to be done.

If you still can't understand how the transformation was done, add a cube at the center of the world, set the cursor at its location, and set the pivot to the cursor. Now perform the same instructions we explain above for any angle, you will see that the the object end up in the same location.

In conclusion, use matrices if rotations and scaling is required, if not, then vector should be used.