I don't understand your construction. How can the bottom triangle's adjacent horizontal be the same as its hypotenuse? I'm also not sure which leg is the adjacent horizontal and which is the adjacent. I've seen them referred to as the adjacent and the opposite with respect to an angle. In this case a or b.

With respect to the rotation matrices, you don't need the addition formulae. Just note that a rotation should be linear because it should preserve parallelograms and scaling a parallelogram before rotation should be the same as scaling it after a rotation. But a linear transformation is uniquely determined by its effect on a basis. So (1, 0) should get mapped to (cos a, sin a) and (0, 1) should get mapped to (-sin a, cos a). Transpose everything in site and put it in a matrix. We can then take this as the definition of a rotation.