You are not limited to integer values when specifying coordinates for drawing commands (
rect,
ellipse,
strokeWeight etc.). This means you could always specify coordinates as a fraction of
width and
height to ensure that even the largest shapes get shrunk down to fit in the display space. Many of the pretty sketches you see around will use non-integer coordinates, especially when determining line thickness.
Alternatively, as you suggest, the
scale command can be used to shrink coordinates into the display space (see my posting on
zooming and panning for an example of this).
One thing to watch out for when scaling down coordinates is that you don't inadvertently perform an integer divide. If the numerator and denominator of a division are both integers, the result is also an integer. So, for example, if
width is 450,
width/100 will be evaluated as 5, not 4.5. To ensure decimal division use
(float)width/100 instead.