Processing图形变换与自定义绘图全解析
1. 图形变换基础
在计算机图形学领域,变换是一个通用术语,它涵盖了平移、旋转、缩放或倾斜等操作,这些操作主要针对由顶点构成的几何图形。这些变换的内部计算可能相当复杂,常常依赖于向量和矩阵等数学结构,尤其是在处理3D图形时。
1.1 3D渲染与平移示例
Processing提供了一些强大的功能来实现这些变换。例如,通过将渲染器从默认的JAVA2D切换到P3D,可以引入z轴,从而实现3D效果。以下是一个展示z轴平移的示例代码:
/**
* Translation along the Z-axis,
* By Ira Greenberg <br />
* The Essential Guide to Processing for Flash Developers
* Friends of ED, 2009
*/
void setup(){
size(400, 200, P3D);
background(175);
noStroke();
fill(255);
lights();
// sphere 1
translate(100, height/2, 0);
sphere(50);
// sphere 2
translate(150, 0, 50);
sphere(50);
}
在这个示例中,当右侧的球体沿z轴平移50像素时,它看起来会朝着观察者靠近,同时可能会出现一些轻微的透视变形。这是因为P3D和其他