The workstation transformation is a uniform projection of the x and y (and possibly z) coordinates of NPC space into DC space. It thus carries out a translation and an equal scaling with a positive scale factor for the two axes. It allows composite images with different aspect ratios to be visualized on different workstations. For example, we can plot on a plotter with the correct scale factor and at the same time display part of the image on the whole display space of a terminal.
A workstation transformation is defined by the limits of the workstation window, a volume in NPC space inside the domain [0, 1] * [0, 1] * [0, 1], which must be projected onto the workstation viewport, a volume specified in DC space. The workstation window and workstation viewport are rectangular parallelepipeds with sides parallel to the axes of the NPC system and the DC system respectively. The volume limits are included in these. To be sure that no image outside the window is displayed, the output is clipped according to the limits of the window, and this clipping cannot be disabled.
Since the workstation window is defined in limits [0, 1] * [0, 1] * [0, 1] of NPC space, it is ensured that the only part of NPC space that is visible, whatever the workstation, is in the domain [0, 1] * [0, 1] * [0, 1]. If the workstation window and the workstation viewport have different aspect ratios in x, y and z, the scale specified will be different on each axis if the window is projected on the viewport in its totality. The workstation transformation projects the window on the largest parallelepiped which can be contained inside the viewport so that: