産品特色
編輯推薦
適讀人群 :專業編程人員和學習互動藝術的讀者 入門書籍,內容豐富,實用
內容簡介
《Processing互動編程》共分3部分:第1部分主要介紹Processing編程語言,為避免枯燥,使用瞭大量的與現實生活類比的方法,讓你一層一層地深入,培養抽象和從整體到部分再到整體的思維方式;第2部分主要介紹圖形繪製和圖形動畫,讓你學會用程序描述的方法來繪製各種各樣的圖形,並且在圖形的基礎上,利用數學知識來實現程序動畫,該部分會涉及坐標、顔色、文本、位圖、3D等概念;第3部分主要介紹在程序動畫的基礎上添加交互因素,構成完整的交互結構,這些交互因素包括鼠標、鍵盤、時間等。《Processing互動編程》可以讓讀者學會互動編程的思維模式,同時激發個人的互動藝術理念。
目錄
第1部分語言基礎
第1章Processing
1.1HelloProcessing
1.2Helloworld
1.3第一個圖形
1.4第一個動畫
1.5第一個交互
第2章變量
2.1聲明變量
2.2數據類型
2.3變量名
2.4變量賦值
2.5常?量
第3章?運算符
3.1基本算數運算符
3.2賦值算數運算符
3.3自增、自減運算符
3.4關係運算符
3.5邏輯運算符
3.6條件運算符
第4章條件語句
4.1if條件語句
4.2ifelse語句
4.3elseif語句
4.4swicth分支語句
第5章循環語句
5.1while循環語句
5.2for循環語句
5.3循環嵌套
5.4跳齣循環
第6章函數
6.1?定義函數
6.2函數的參數
6.3函數返迴結果
6.4函數重載
6.5函數遞
第7章類
7.1定義類
7.2類的繼承
7.3覆蓋父類方法
7.4重寫toString()方法
7.5標簽類
第8章字符串
8.1數組基本概念
8.2字符串的初始化
8.3字符串的方法
8.4字符串處理函數
8.5實現字符串大小寫轉換
第9章數組
9.1二維數組
9.2數組處理函數
9.3實現連接兩個數組
9.4值數據類型與引用數據類型
第10章列錶
10.1添加和刪除列錶元素
10.2設置和返迴列錶元素
10.3列錶的排序
10.4列錶的運算
第11章字典
11.1字典的鍵和值
11.2遍曆鍵和值
11.3排序鍵和值
11.4字典的運算
第2部分圖形、動畫
第12章運行環境
12.1坐標係統
12.2程序主結構
12.3幀速率
12.4窗口大小
第13章數學基礎
13.1數學計算
13.2約束、映射
13.3角度製和弧度製
13.4三角函數
13.5反正切函數
第14章2D基礎圖形
14.1基礎幾何圖形
14.2描邊屬性
14.3扇形、弓形、環形、扇環
14.4虛綫、網格
第15章顔色
15.1色彩模式
15.2創建和設置顔色
15.3顔色分量
15.4顔色漸變
第16章變換
16.1基本變換
16.2變換堆棧
16.3使用變換繪製圖形
16.4變換動畫
第17章麯綫
17.1Bezier麯綫
17.2Bezier麯綫路徑動畫
17.3Curve麯綫
17.4Curve多條連續路徑動畫
第18章復雜圖形
18.1vertex繪製
18.2?正多邊形和星形
18.3vertex環形、扇環
18.4PShape圖形對象
第19章3D圖形
19.13D坐標係統
19.2三維燈光
19.3三維材質
19.4三維透視
第20章隨機、噪波、嚮量
20.1隨機函數
20.2噪波函數
20.3PVector嚮量對象
20.4粒子動畫
第21章位圖
21.1加載位圖
21.2顯示位圖
21.3PImage位圖對象
21.4位圖遮罩動畫
21.5濾鏡
21.6混閤
21.7貼圖
21.8位圖隨機動畫
第22章文本
22.1文本術語
22.2文本顯示
22.3字體屬性
22.4創建和設置字體
22.5環形文本
22.6文本隨機動畫
第3部分交?互
第23章鼠標交互
23.1鼠標事件
23.2鼠標事件函數
23.3鼠標狀態變量
23.4draw()函數裏實現所有鼠標事件
23.5鼠標拖拽
23.6鼠標光標
23.7鼠標繪製
第24章鍵盤交互
24.1鍵盤事件
24.2鍵盤控製
24.3鍵盤交互
24.4窗口焦點
第25章日期、時間
25.1日期、時間函數
25.2設置程序使用期限
25.3製作簡單計時器
25.4模擬時鍾
精彩書摘
第1部分 語言基礎
第1章 Processing
1.1 Hello Processing
Processing開發環境(Processing Development Environment),簡稱PDE,可以從它的官方網站(https://www.processing.org/download/)下載安裝。PDE主要有運行窗口和編輯窗口兩個窗口。運行窗口用來運行你的程序效果,編輯窗口主要用來編輯代碼和發布程序。編輯窗口包括工具欄、標簽欄、代碼編輯區、消息區、控製颱。
工具欄 :包括運行、停止運行、新建、打開、保存、發布等按鈕。
運行:點擊“運行”按鈕可以運行你的程序。運行時會彈齣“運行窗口”,你可以通過“運行窗口”來觀察程序的視覺效果和交互效果。
停止運行:點擊“停止運行”按鈕可以關閉“運行窗口”。
新建:新建一個Processing工程文件,會彈齣一個新的未保存的代碼編輯窗口。在開發過程中,可以利用它來新建代碼編輯窗口,測試某一段程序代碼單獨運行的效果。
打開:打開一個指定路徑的Processing工程文件,還可以打開最近的工程或者是Processing事例代碼。
保存:保存目前的工程文件。
開發模式:點擊右上角“Java”按鈕可以切換開發模式。Processing支持很多種開發模式,可以通過點擊“Add Mode”來添加新的開發模式(JavaScript、Android等),添加後需要重新運行Processing纔能顯示。
標簽欄:打開標簽欄嚮下箭頭的彈齣菜單,可以點擊“New Tab”新建標簽。如果代碼有很多行的話可以用它來擴展程序。不過一般我們會用它來定義一個單獨的類,在後麵的第7章我們會詳細講到。
代碼編輯區:所有的程序代碼都在這裏編輯。會用不同顔色來區分數據類型、係統變量、係統常量、係統函數、語句等。
消息區:顯示程序編譯時的錯誤(語法錯誤),還有一些提示消息。
控製颱:顯示程序運行時的錯誤,還可以用print()或println()函數在這裏輸齣信息。
1.2 Hello world
我們開始寫第一行代碼,讓你的Processing嚮世界問聲好。打開Processing,在代碼編輯區輸入下麵的代碼:
println("Hello, world!");
點擊“運行”後,在控製颱會輸齣“Hello,world!”(不包含雙引號)。
我們在程序開發的過程中,可能會追蹤某個變量在某個時刻的值,或者輸齣一些有用的信息來分析程序。這時可以使用print()和println()函數,在程序運行的時候通過控製颱輸齣信息。print()和println()函數的區彆是,println()函數輸齣完信息後會換行,而print()函數不會,例如:
println("Hello,");
println("world!");
/* 輸齣:
Hello,
world!
*/
print("Hello,");
print("world!");
//輸齣:Hello,world!
有時候我們在寫代碼時為瞭便於閱讀和理解會給代碼添加一些標注,但是我們知道在代碼編輯器裏寫的任何非程序語法的文字,程序都會報錯。在Processing裏可以使用注釋,注釋是不會被當作執行代碼的。用“//”來添加單行注釋,用“/* ”開始符號和“*/”結束符號來添加多行注釋:
//單行注釋
/*
多行注釋
多行注釋
*/
1.3 第一個圖形
以畫麵中心為原點畫一個直徑為100像素的圓,如圖1.2所示。
ellipse(50,50,100,100); //畫一個橢圓,x、y坐標都為50,寬和高都為100
Processing提供瞭大量有關繪圖的函數,這些函數就好比是各種各樣的繪圖工具。而且還可以添加圖片,支持疊加和濾鏡功能,如果你之前學習過圖形編輯軟件的話,比如Adobe Photoshop,那麼在學習Processing的時候,會發現有很多概念都似曾相識。沒錯!圖形編輯軟件其實就是把繪圖操作可視化。而程序繪圖是使用程序語言來描述繪圖。所謂描述繪圖就是,概括齣圖形的所有特徵屬性,用相應的屬性值來描述它。比如畫一個圓,圓的特徵屬性是半徑和位置,那麼我們隻要告訴Processing這個圓的半徑和位置,Processing就會在屏幕幫我們畫齣這個圓。是不是很簡單,就好像你在告訴一個使用繪圖軟件的人,讓他幫你畫齣你想要的東西一樣。隻不過你和他溝通的時候,需要和他說他能聽得懂的語言——Processing程序語言。本書將教你如何使用Processing程序語言,讓你學會和他溝通,繪製齣各種各樣的圖形。
1.4 第一個動畫
以畫麵中心為原點畫一個圓,讓圓的直徑從0開始逐漸變大,如圖1.3所示。
int diameter = 0; //聲明一個直徑變量,初始值為0
//draw()函數會不斷地循環執行
void draw() {
//畫一個圓,直徑為diameter變量
ellipse(50, 50, diameter, diameter);
diameter++; //每次循環,讓直徑變量增加1
}
上麵的圓形可以隨著時間逐漸變大,是因為把它的特徵屬性“直徑”設置成瞭隨著時間變化的量,這樣就形成瞭動畫。這種把特徵屬性設置為隨著時間而變化的方法,是程序動畫的基本實現機製。和我們傳統的逐幀動畫不同,傳統逐幀動畫需要在每一幀都重畫,而程序動畫隻需要改變它的特徵屬性,計算機就會幫我們重繪,這也是為什麼我們在繪圖的時候用描述圖形特徵屬性的方法來繪製。
1.5?第一個交互
不斷以鼠標x、y坐標為原點畫直徑為100像素的圓,你可以移動鼠標來進行交互,如圖1.4所示。
//draw()函數會不斷循環執行
void draw() {
//畫一個圓,位置為鼠標的x、y坐標
ellipse(mouseX, mouseY, 100, 100);
}
上麵的圓形可以隨著鼠標的移動而改變位置,是因為把它的特徵屬性“位置”設置成瞭隨著時間變化的量,並且變化的量由鼠標位置來決定,這就是在程序動畫的基礎上添加交互因素的設計方法。
我們已經學習瞭第一個圖形、第一個動畫、第一個交互。在這裏我想告訴讀者,本章不要求你理解上麵所有例子中每一行代碼的原理,主要目的是讓你對交互動畫有個初步的理解,並且能夠帶著交互動畫的概念來完成本書的學習。下麵是構成交互動畫的三個過程:
(1)圖形:用特徵描述繪圖。
(2)動畫:把特徵屬性定義為隨時間變化的量。
(3)交互:設置變化量的決定因素。
……
前言/序言
Processing互動編程 下載 mobi epub pdf txt 電子書 格式