艺术与科学研究中心
最新消息:【嘉宾风采】2016'IIDC武汉新媒体艺术国际研讨会 2016-12-07 11:16:30
[藏经阁]Processing连载——2
2014年09月06日

1. 指令和代码块
2.在Processing中创作是通过指令来完成的,我们可以在编辑区输入一条或者多条指令,而Processing则会从上至下依次执行每一条合法指令,然后将最终的图像呈现出来。
我们先来看看指令,指令由【指令名】+【参数】+【结束符】所构成:
Point( 10, 10 );

这是一条普通指令,意思是在坐标(10, 10)处绘制一个点,我们将它拆分一下:
Point  +  (10, 10 )  +  ;
Point                  – 指令名,Processing中提供了各种各样的指令来帮助我们进行艺术创作
( 10, 10 )          – 参数,必须写在一对半角小括号内,每个参数用逗号分开
;                           – 结束符,Processing中每个分号标志着一条指令的结束

一条指令意味着一个动作,例如画一根线、画一个圆等等,如果需要进行复杂绘画行为我们就需要多个动作,即我们需要多条指令。此时,我们可以使用【代码块】对指令进行归纳。我们来看看代码块是什么:
{
        第一条指令
        第二条指令
        第三条指令
       …………
        N 条指令
}
像上面这样用一对大括号包含多条指令的结构我们在Processing中就称其为【代码块】。
代码块之间是可以嵌套的,意味着代码块中某条指令本身也包含有多条指令,如:
{
        第一条指令
        第二条指令
        第三条指令 {
                  3 - 1 条指令
                  3 - 2 条指令
                  3 - 3 条指令
}
       …………
        N 条指令
}

2. 像素和坐标
在数字世界中,绘画的基本单位是【像素】,它指的是物理成像设备上的一个物理发光单元,例如我们经常见到的LED阵列广告,就是用这种概念制成的。
说明: IMG_256

坐标,顾名思义,即– 对坐位的标志。在Processing中“坐标”是指屏幕中某一个“像素”的绝对位置,我们通过它可以确定空间中唯一的一个点,从而获得对“像素”的精确控制能力。在Processing中坐标是以左上角作为原点(0,0)的。
说明: IMG_257


3. 常用指令
了解了“像素”和“坐标”的概念,现在可以开始试着在屏幕上绘画了。第1.5节中我们学习了指令的含义,现在我们将要接触更多的指令,在今后的创作中将会经常用到它们。

环境设定
画布尺寸         -        size( 400,400 );         // 设置画布大小为长400像素,宽400像素
画布颜色         -        background( 255 );  // 设置画布颜色为灰阶色(白色)

画笔设定
笔触大小         -        strokeWeight( 5 );             // 设定笔触宽度为5个像素
笔触颜色         -        stroke( 255,0,0 );              // 设定笔触为值为RGB色(红色)
隐藏笔触         -        noStroke();                          // 隐藏基本图形的轮廓线

颜色设定
填充颜色         -        fill( 0,255,0 );                      // 为基本图形内部填充RGB色(绿色)
隐藏颜色         -        noFill();                                 // 隐藏图像内部填充,呈现空心效果

基本图形
点              -        point( x, y );                       // 在坐标( x,y )处绘制一个点
直线           -        line( x0,y0, x1, y1 );           // 从点0( x0,y0 )至点1( x1,y1 )绘制一条直线
矩形           -        rect( x,y,w,h);                    // 在坐标( x,y )处绘制一个长w宽h的矩形
圆              -        ellipse( x,y,rx,ry );              // 在坐标( x,y )处绘制一个横轴直径为rx竖轴直径为ry的圆

void setup() {
size(480, 120);
}

void draw() {
if(mousePressed) {
fill(0);
}else {
fill(255);
}
ellipse(mouseX, mouseY, 80, 80);
}
当我们输入这段代码并运行,屏幕上会开启一个480 x 120大小的窗口,在窗口中移动鼠标,Processing将会不间断的画圆,当按下鼠标并移动的时候,圆会变成黑色,大家可以试着自己改变一下圆的填充颜色【fill()】和轮廓颜色【stroke()】。
说明: IMG_258