In our previous post, we have explained rotation matrices. In this post, we explain how to perform rotation and translation as a single matrix operation.
A YouTube video accompanying this post is given below.
Consider the figure below.

The coordinate system
is translated from the coordinate system
, and after that it has been rotated for the angle
. The location of the coordinate system
with respect to the coordinate system
is represented by the vector
. The notation
means that the vector
is represented in the coordinate system
. That is, its components (projections) are represented in the coordinate system
. Similarly, the notation
means that the vector
is represented in the coordinate system
. Let the coordinates of the vector
expressed in the coordinate system
be given as follows:
(1) ![]()
where
and
are the coordinates of the vector
expressed in the coordinate system
.
Problem 1: Given the coordinates of the vector
, translation vector
, and the angle of rotation
, find the coordinates of the vector
.
Solution:
(2) ![]()
where
is the rotation matrix that transforms vectors from
to
coordinate systems.
That is
(3) ![]()
If you do not remember how the rotation matrix
(4) ![]()
is constructed, see our previous post.
By multiplying vectors and matrices, and by adding the results, from (3), we have
(5) ![]()
The tranformation (3), can be written as a single vector matrix multiplications. Namely, we can formally write
(6) ![]()
where
is 2 times 1 matrix of zeros. By expanding the last equation, we obtain
(7) 
The matrix
(8) 
is called a homogeneous transform.
In the next post, we we will see how to use this transform to solve the forward kinematics problem of robotic manipulators.