+void
+scale (Array<Offset>* arr_p, Real x , Real y)
+{
+ for (int i = 0; i < arr_p->size (); i++)
+ {
+ (*arr_p)[i][X_AXIS] = x* (*arr_p)[i][X_AXIS];
+ (*arr_p)[i][Y_AXIS] = y* (*arr_p)[i][Y_AXIS];
+ }
+}
+
+void
+rotate (Array<Offset>* arr_p, Real phi)
+{
+ Offset rot (complex_exp (Offset (0, phi)));
+ for (int i = 0; i < arr_p->size (); i++)
+ (*arr_p)[i] = complex_multiply (rot, (*arr_p)[i]);
+}
+
+void
+translate (Array<Offset>* arr_p, Offset o)