zoom method works, within reason, although I think alpha should range
from -1 to 1, instead of -1 to almost 1