主要内容
缩放
最后要学习的坐标系转换就是缩放了。这个操作会改变网格的大小。让我们看看下面这个程序,它先画了一个正方形,接着将坐标系放大了两倍,接着又画了一遍。
首先,你可以看到正方形似乎动了。但是其实它并没有。它的左上角仍然在放大的坐标系中的 (20, 20),但该点现在距离原点的距离却是原始坐标系中的两倍。
如果你想要大正方形的顶角与小正方形一样,那你应该先平移一下,再进行缩放:
你可能也会从两个程序中注意到,大正方形的边框线也更加粗了。这并不是错觉——边框线确实也变成了原来的两倍粗,这是因为坐标系已经被缩放到原来的两倍打消了。你也可以更改
strokeWeight()
来说明这一点,或避免与 scale()
一起使用。scale()
命令可选择接受两个参数,而不是仅接受一个参数,因此你可以分别缩放 x 轴和 y 轴。尝试在上述程序中使用 scale(3.0, 0.5)
来使得 x 轴变为原来的三倍,而y 轴变为原来的一半。本文改编自 J David Eisenberg 的 2D Transformations,在 Creative Commons Attribution-NonCommercial-ShareAlike 许可证下使用。