PMatrix3D invMatrix = new PMatrix3D();
invMatrix.apply(innerMatrix);
invMatrix.invert();
float originalCenterX = invMatrix.multX(innerTransformationCenter.x, innerTransformationCenter.y);
float originalCenterY = invMatrix.multY(innerTransformationCenter.x, innerTransformationCenter.y);
innerMatrix = new PMatrix3D();
innerMatrix.translate(innerTransformationCenter.x, innerTransformationCenter.y);
innerMatrix.scale(innerScale);
innerMatrix.rotateZ(innerAngle);