Addendum
On the page Some Theorems on Rotation and Translation, there it covers the product of rotations.
I have learned, that with Complex Numbers, these theorems become trivial to prove, and one can obtain the equivalent rotation or translation much easily. (from Visual Complex Analysis , by Tristan Needham. p.17. Buy at amazon )
Complex Numbers have interesting history. Here we will only give a formal style definition, but with some explanations on why they are so defined.
Complex Number is defined as a pair {a,b}, where a and b are real numbers.
Addition of complex number is defined as: {a,b} ⊕ {c,d} := {a + c, b + d}
Multiplication is defined as: {a, b}⊗{c, d} := {a*c - b*d, b*c + a*d}
This definition of multiplication has important meaning when interpreted geometrically. Complex numbers can be thought as vectors, with a multiplication rule.
Here's a explanation: Suppose the distance from {c,d} to {0,0} is r, and suppose it makes an angle θ with the positive x-axis. Then, a complex number {a,b} multipied by {c,d} by the definition {a*c - b*d, b*c + a*d}, is geometrically equivalent of rotating the point {a,b} by θ, then scale it by r.
If A and B are complex numbers, than A⊗B == B⊗A. The order does not matter.
A rotation of θ around origin is expressed in complex number as multiplication by {Cos[θ],Sin[θ]}. In other words, a point {a,b} rotated by θ around the origin can be written as {a,b}⊗{Cos[θ],Sin[θ]}.
A translation by {a,b} is expressed as adding a complex number {a,b}.
Here's how to find products of rotation, using complex numbers.
A rotation of θ centered on A can be done by a sequence of:
1. translation of -A, 2. rotation of θ on origin, 3. translate it back by A. In formulas, we have: r[A,θ] == t[A]^-1 * r[0,θ] * t[A]. Expressed as complex numbers, the right hand side is R (Z - A) + A where Z is the complex number to be acted on, and R is {Cos[θ],Sin[θ]}. Expand and collect we have R Z + (-R+1) A The R Z term is a rotation of Z, while the other term is a translation. So, we have shown that a rotation on arbitrary center is equivalent to a rotation on origin followed by a translation. Similarly, a translation followed by a rotation on origin: t[A] * r[0,θ] written in complex numbers (Z + A) R is equal to Z R + A R meaning that it is equivalent to a rotation on origin followed by a translation. A rotation θ on a point B followed by a translation is also equivalent to a rotation on origin followed by a translation. Witness: r[B,θ] * t[A] Since rotation on a arbitrary point B is equivalent to rotation on origin followed by a translation, as show above, so we can rewrite the r[B,θ] to be r[{0,0},α] * t[C] for some α and C. Thus r[B,θ] * t[A] == r[{0,0},α] * t[C] * t[A] This shows that a rotation on a point followed by a translation is just a rotation on origin followed by a translation. The exact coordinate any product of symmetry can be easily calculated by complex numbers. The sequence of rotations r[{a1,a2},α] * r[{b1,b2},β] applied to the point {x,y} in complex numbers is then: ( ( ({x,y} - {a1,a2}) * {Cos[α],Sin[α]} + {a1,a2} ) - {a1,a2} ) * {Cos[β],Sin[β]} + {b1,b2} In Mathematica, if we define the complex multiplication as cTimes, and addition as cPlus: cPlus[{a_, b_}, {c_, d_}] := {a + c, b + d} cTimes[{a_, b_}, {c_, d_}] := {a*c - b*d, b*c + a*d} then our sequence of rotations: cPlus[cTimes[cPlus[cPlus[cTimes[cPlus[{x, y}, -{a1, a2}], {Cos[α], Sin[α]}], {a1, a2}], -{b1, b2}], {Cos[β], Sin[β]}], {b1, b2}] Expands to: {b1 + Cos[β]*(a1 - b1 + (-a1 + x)*Cos[α] - (-a2 + y)*Sin[α]) - (a2 - b2 + (-a2 + y)*Cos[α] + (-a1 + x)*Sin[α])*Sin[β], b2 + Cos[β]*(a2 - b2 + (-a2 + y)*Cos[α] + (-a1 + x)*Sin[α]) + (a1 - b1 + (-a1 + x)*Cos[α] - (-a2 + y)*Sin[α])*Sin[β]}