1 Processing
1.1 Processing簡介
Processing是一種具有革命前瞻性的新興計算機語言,它的概念是在電子藝術的環境下介紹程序語言,並將電子藝術的概念介紹給程序設計師。它是 Java 語言的延伸,並支持許多現有的 Java 語言架構,不過在語法 (syntax) 上簡易許多,並具有許多貼心及人性化的設計。Processing 可以在 Windows、MAC OS X、MAC OS 9 、Linux 等操作系統上使用。目前最新版本為Processing 3。以 Processing 完成的作品可在個人本機端作用,或以Java Applets 的模式外輸至網絡上發布。
上面這段是粘貼百度百科的,哈哈!雖然說Processing是一種新興語言,但我卻不這么認為,什么原因呢?如果你了解Java,那你肯定會覺得processing的語法與Java幾乎沒有區別。從結構上講,processing是支持全局變量,但是Java不支持,表面上看起來這點是Java和Processing之間的區別,其實不然,不信的話繼續往下看。
2.2 Processing下載與安裝
進入processing官方網站點這里:https://processing.org/。你也可以直接點擊https://processing.org/download/鏈接進行下載。詳情見下圖:
圖1.1 Processing官方網站 圖1.2 Processing下載頁面
選中No Donation單選按鈕,單擊Download跳轉到下面頁面。
圖1.3 下載頁面
選擇符合你當前電腦系統的安裝包進行下載,這里我選擇的是Windows (64bit)版,從該頁面也可以發現,Processing最新版已經是3.1.1了。
Processing的安裝非常簡單,雙擊剛剛下載的安裝包,如下圖所示,一路Next,直到結束安裝就行了。
2.2 Processing語法介紹
雙擊桌面Processing快捷方式打開Processing開發環境(客戶端)。如下圖所示:
關於上述開發環境,目前你只需要知道下面信息就行了:
- 菜單欄下方是工具欄,目前這里有兩個按鈕,第一個按鈕
用於啟動運行,第二個按鈕
用於強制終止執行 - 中間空白區域用於輸入processing代碼
- 空白區域下方的一行灰色區域用於輸出錯誤信息
- 最下方黑色區域用於顯示調試信息和程序輸出
接下來我們嘗試創建一個非常簡單的Demo,主要用於講解Processing的語法和組織結構。首先在中間空白區域輸入下面代碼:
int x1 = 10;
int y1 = 10;
int x2 = 100;
int y2 = 100;void setup () {
stroke(255);
size(200, 200);
}void draw () {
line(x1, y1, x2, y2);
}
完成之后單擊File->Save菜單將項目保存到桌面,項目名稱為Demo。接下來單擊工具欄的運行按鈕,稍等片刻,彈出如下窗口:
從代碼和窗口都可以發現,我們在窗口上畫一條白色的線。
接下來我們解釋上述代碼。正如我們前面說的,Processing是支持全局變量的。上述代碼的x1,y1,x2,y2都是全局變量。setUp()和draw()方法都是Processing的預定義方法,每次程序啟動時,setUp()方法都會被調用一次,所以這里是初始化程序配置的最佳位置。然而,程序運行期間將不斷調用draw(),根據命名也可以想象的到,draw()方法用於繪制(渲染)圖形。
stroke(int gray)和size(int w, int h)都是Processing為我們提供的配置方法。其中,stroke()用於設置繪制圖形時線條的顏色,參數gray表示將要設置的灰度,取值范圍應該位於0到255之間,gray等於0,意味着接下來繪制的線條以黑色顯示;顯而易見的,當gray等於255表示以白色繪制線條。size()方法用於設置窗口的尺寸,單位為像素。類似於上述兩種配置方法,Processing還為我們提供了下面方法:
- stroke(int r, int g, int b):設置線條的RGB顏色
- stroke(int r, int g, int b, int a):設置線條的RGBA顏色
- fill(int gray):以灰度值設置圖形的填充色
- fill(int r, int g, int b):設置圖像的RGB填充色
- fill(int r, int g, int b, int a):設置圖形的RGBA填充色
- noFill():設置不填充閉合區域(如矩形、橢圓)。
- noStroke():設置取消線條,即所有繪制的圖形將不再包含邊框。
- frameCount:表示當前幀的計數。
- radians(float angle):將角度轉換為弧度。
接下來看一個更加復雜的實例:





