Win32-based applications use coordinate spaces and transformations to scale, rotate, translate, shear, and reflect graphics output. A coordinate space is a planar space based on the Cartesian coordinate system. This system requires two axes that are perpendicular and equal in length. There are four coordinate spaces: world, page, device, and physical device (client area, or desktop, or page of printer paper). A transformation is an algorithm that alters ("transforms") the size, orientation, and shape of objects.