UPoint untransform(UPoint point, double? scale) { scale ??= 1.0; var x = (point.x / scale - b) / a; var y = (point.y / scale - d) / c; return UPoint(x, y); }