static Vec2D transformMat2D(Vec2D o, Vec2D a, Mat2D m) { double x = a[0]; double y = a[1]; o[0] = m[0] * x + m[2] * y + m[4]; o[1] = m[1] * x + m[3] * y + m[5]; return o; }