, , , (x0, y0). , s, (u, v). ,
(x',y') = s (x,y) + (u,v)
(x0, y0) ,
(x0,y0) = s * (x0,y0) + (u,v)
(u,v) = (1 - s) (x0, y0)
psudocode
double s= scale_factor;
double x0 = center_point_x;
double y0 = center_point_y;
canvas.scale(s);
double u = (1-s) * x0;
double v = (1-s) * y0;
canvas.translate(u,v);