When we build a homogeneous transformation matrix , we build it by multiplying two kinds of blocks together, and . It is worth being clear on how these relate to the plain rotation matrix that sits in the top left corner of , since the two are easy to mix up.

The 3x3 rotation

is a 3x3 pure rotation. It rotates by angle about axis , where means the axes. It only carries orientation and knows nothing about position. This is the exact block that lives in the top left corner of .

The 4x4 operator

is the 4x4 homogeneous version of that same rotation. It is just dropped into the top left corner, padded with a zero translation column on the right and a bottom row of :

The 4x4 operator

is the matching pure translation, an identity rotation in the corner with the displacement sitting in the right column:

Why there are two sizes

To combine a rotation and a translation in one matrix multiply, both have to be , because we cannot multiply a by a . So we promote the small into a padded , and that padded thing is what means. Think of as the ingredient and as the ingredient cut to the right size for the chain.

is not "the one we use when there is no translation". carries the rotation and carries the translation. Each is pure on its own, but we multiply them to get a that has both.

Putting them together

This rotates about by and translates by . The rotations sitting in its top left corner is exactly the that came from the operator, and the right column is the that came from the operator.

The in the top left of a general is whatever rotation comes out of all the steps chained together. A single rotation gives one , while several rotations (like yaw pitch roll) give a product such as . The D-H matrix is this same pattern, , multiplied out, which is why its top left block is a product of two rotations and its right column is a translation. See Composite Homogeneous Transformations for how we chain these to build a full transform.