初識 Processing

看公開課時接觸到Processing,因而花了些時間把官方的文字教學看了遍,發現挺有趣。這裏做一個初學總結。windows


官方教程:Processing Tutorials
當前最新版本3.3.6,下載解壓後運行processing.exe就能夠直接編寫程序。api

基本結構

void setup(){
    //只運行一次,負責初始化
}

void draw(){
    //反覆運行,用於處理動畫
}

座標系

原點(0,0)默認在左上角
圖片描述函數

有兩個方法能夠改變座標系:動畫

改變原點位置

//原點向右移動x像素,遠點位置向下移動y像素。生效後的(0,0)是以前的(x,y)
translate(x, y);

座標系旋轉

//座標系旋轉45度
rotate(radians(45));

旋轉示意圖:
圖片描述spa

旋轉角度的說明(x軸正方向默認於3點鐘方向):
圖片描述code

對於座標系的補充

translate()和rotate()以後,座標系打亂,能夠用一對方法(S/L打法)恢復。
(ps:每次draw()執行都會重置座標系)視頻

//壓入(存檔)
pushMatrix();

...//各類translate()和rotate()

//彈出(讀檔),座標系恢復
popMatrix();

PShape

Processing提供了line()、rect()等函數生成基礎圖形。
一些複雜的組合圖形,能夠經過PShape組合生成。教程

PShape s = createShape();
s.beginShape();
//...各類圖形定義
s.endShape(CLOSE);

shape(s);//顯示圖形

PGraphic

與PShape相似,區別在於:PGraphic能夠定義背景色,且內部自帶座標系,減小了座標轉換的麻煩。圖片

PGraphics g = createGraphics(width, height);//初始化長爲width高爲height的Graphic
g.beginDraw();
g.background(color);//定義背景色
//...定義其餘形狀
g.endDraw();

image(g, x, y);//於(x,y)顯示Graphic

後記:
先寫這麼多。其實筆記作了很多,但基礎的知識永遠比api重要。
官方教程的最後幾篇很詳細地介紹了視頻、音頻等我未掌握的知識,因精力有限,只能之後再補。ip

相關文章
相關標籤/搜索