改变画布上的图形的位置和形状可以通过以下两种方式实现:
- 转换对象:对具体对象进行转换操作
- 转换窗口(坐标系):对坐标系进行转换操作,间接实现图形的转换
视窗转换和对象转换是等价的。
http://math.hws.edu/graphicsbook/c2/s3.html
在实际开发中,建议对视窗进行转换。一般图形项目中的对象非常多,对对象转换需要进行多次计算。而对视窗转换只需进行一次计算。
还要记住,你不需要自己计算坐标变换。您只需指定对象的原始坐标(即对象坐标) ,并指定要应用的转换或转换。计算机负责将转换应用到坐标系中。你甚至不需要知道用于变换的方程; 你只需要知道它的几何意义。
在图像中显示对象之前,应用到对象的最后一个转换是 window-to-viewport 转换,该转换将 xy 平面中包含场景的矩形视窗映射到将显示图像的矩形像素网格。