[cairo] Extracting The Scaling Component Of A Matrix
Behdad Esfahbod
behdad.esfahbod at gmail.com
Sat Dec 12 03:15:17 PST 2015
On 15-12-11 01:51 AM, Lawrence D'Oliveiro wrote:
> I construct a matrix that implements just the scaling component of the
> CTM in the Cairo context “ctx”:
>
> scaling = Matrix.scale(ctx.user_to_device_distance(Vector(1, 1)))
This wouldn't do what you think it does for general matrices. Or maybe I
don't understand what you are trying to do. Are you only interested in
non-skewed matrices?
> This can be easily adapted to extracting the scaling component of a
> given matrix “mat”:
>
> scaling = Matrix.scale(mat.mapdelta(Vector(1, 1)))
>
> Exercise: can you come up with a similarly simple expression for
> extracting the angle of the rotation component of a matrix?
>
More information about the cairo
mailing list