Transformation Boonas::zt(float x, Transformation matrix) { return matrix * translate_by(0, 0, x); }
point2d<T> translate_by(point2d<T> p, point2d<U> d) { return translate_by(p, d.x, d.y); }
Transformation Boonas::xt(float x, Transformation matrix) { return matrix * translate_by(x, 0, 0); }