Processing從入門到精通

歷時半年時間,把 Daniel Shiffman 的 《The nature of code》 通讀2遍,第一遍快速瀏覽,第二遍編碼實操,極大了提升了自己實際問題代碼抽象化的能力,遂做此小結(jié)。

為什么要學(xué)Processing

Processing是一款所編即所得的軟件,使用語言是Java,軟件內(nèi)置各種圖像工具,可以很快的編碼出圖像類的交互形態(tài),非常合適新手入門代碼,或編碼展示交互原型。

可以學(xué)到什么

1.偽碼的邏輯性

不同語言有不同的語法,但其背后的邏輯是相通的。因此編碼前,注重鍛煉自己的偽碼思考能力。當偽碼邏輯順暢后,編碼只是將邏輯語言轉(zhuǎn)化成代碼語言。碰到問題,先從偽碼思考邏輯,能極大的提高自己的實際問題代碼抽象化的能力。

2.面向?qū)ο缶幊趟枷?/b>

面向?qū)ο缶幊趟枷敫拍畋旧韺W(xué)起來不難。將某個任務(wù)抽象成幾個對象,對象有其自身的屬性,對象間通過方法發(fā)生交互。難點在于如何抽象對象這一步,抽象的好,代碼邏輯清晰,復(fù)雜度小。抽象的差,邏輯冗余,復(fù)雜度高。這一點在于多實操,多實踐能打通腦回路中的閉塞模塊。

3.死磕BUG的毅力

古人云:“寫代碼一半的時間都在寫B(tài)UG,剩下的一半是在修BUG”。筆者深以為然。當偽碼邏輯整理通順后,自信流暢的書寫完代碼,按下Run鍵,滿心期待著跑通效果,一堆 Error 讓你懷疑人生。沒有選擇,挨個Debug,直至跑通。人生何嘗不是如此呢,道理皆知,實操問題頻出,不死磕,便不能克服這個難點,咬咬牙,Print error。

學(xué)習(xí)成果展示

1.隨機漫步

結(jié)合隨機函數(shù)形成隨機漫步的效果

2.向量

結(jié)合向量熟悉平面中位置,速度,加速度的二維屬性

3.力

利用物理學(xué)基礎(chǔ)原理模擬物體在現(xiàn)實世界中的運動

4.波形

結(jié)合弧度制,sin,cos,實現(xiàn)波形效果

5.粒子

結(jié)合繼承和多態(tài),實現(xiàn)粒子效果

6.自動代理

確定目標情況下,感知外界環(huán)境,做出判斷

7.固定進化

根據(jù)固定規(guī)律進行迭代進化


8.遞歸

結(jié)合遞歸,進行規(guī)則圖形的繪制


9.隨機進化

根據(jù)優(yōu)勝劣汰進化算法進行迭代進化

10.神經(jīng)網(wǎng)絡(luò)

通過測試集訓(xùn)練算法

展望

人工智能相關(guān)的技術(shù)不斷前進著,作為技術(shù)迭代的見證者,還是要利用業(yè)余時間多關(guān)注相關(guān)領(lǐng)域的知識。希望下一次能跟大家分享學(xué)習(xí) Android 或 Fullter 的感受。

附件

1.The nature of code 下載地址(提取碼:6yqw)

2.Github 筆者代碼地址

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容