這是歷史版本頁面 — 看 Processing (32-bit) 最新版本

想用程式畫圖但不會寫程式?Processing 能幫你什麼

Processing (32-bit) 軟體圖示 Processing (32-bit) 3.3.5 (32-bit) 資料更新 2017-06-24 閱讀約 5 分鐘

寫程式這件事,最常卡住人的不是邏輯,而是「不知道寫出來會長什麼樣子」。你心裡想的是會動的圖、會變的形狀、按一下滑鼠就產生的視覺變化,但打開程式編輯器,面對的卻是一片空白,連從哪裡開始都不知道。尤其對畫畫、設計、做互動作品的人來說,程式語言像另一種外語,學了老半天還是不知道怎麼把它變成畫面。

一般人的做法是去學一門通用程式語言,但那些語言是為了處理資料、寫系統設計的,跟你想要的「畫出一個會動的圓」距離很遠。就算照著教學打,也常常卡在安裝環境、設定路徑這些跟創作無關的事情上。這類工具切入點是反過來的:先想好你要做什麼視覺作品,再用最少的語法把它做出來,而且打開就能看到畫布,寫一行就動一下,讓程式跟畫面直接對話。

01Processing 到底是做什麼用的?

它是一套開源的程式語言和開發環境,目標是讓沒有程式背景的視覺創作者也能寫程式。你可以在裡面寫簡單的指令,畫出 2D、3D 圖形,做動畫、互動作品,甚至輸出成 PDF。它把程式語法簡化,讓「畫一個圓」「讓它動起來」這種事變成幾行程式碼就能完成,而不是要你先學完一整本程式設計課本。

02完全沒寫過程式的人,學得會嗎?

它的設計出發點就是給初學者用的。語法比一般程式語言精簡,官方文件也寫得很清楚,還有大量範例可以參考。你不需要先懂變數、迴圈這些抽象概念,只要照著範例改數字,就能看到畫面變化,慢慢理解程式是怎麼控制視覺元素的。不過它畢竟還是程式語言,基本的邏輯概念還是要花時間熟悉。

03它能做出什麼樣的作品?

動態視覺、互動圖形、資料視覺化、動畫、數位藝術作品都可以。它內建 2D、3D 和 PDF 輸出功能,也有 OpenGL 加速,可以處理需要即時運算的圖形。超過 100 個擴充函式庫涵蓋影像處理、資料視覺化、互動設計等領域,等於你想要的功能大多有現成的工具可以接上去用。

04可以把我做的東西變成獨立的應用程式嗎?

可以。它允許你把寫好的草稿(sketch)匯出成可執行的檔案,拿去給別人執行,對方不需要安裝 Processing 就能跑。這對做互動裝置、展覽作品、或想發佈小工具給別人用的人來說很方便,不用擔心對方有沒有安裝開發環境。

05它支援 3D 圖形嗎?

支援。它內建 3D 圖形和動畫的函式庫,可以建立三維空間的物體、做旋轉、打光、貼材質等操作。不過要注意,複雜的 3D 動畫或模擬在效能上可能會有瓶頸,如果你的專案需要非常精細的 3D 渲染,可能要考慮其他更專門的 3D 工具。

06設計師或藝術家適合用嗎?

適合。它的官方定位就是給視覺藝術領域的人學習程式概念,設計師、藝術家、研究人員、業餘愛好者都在使用。它的介面很直覺,有程式編輯器、主控台和視覺輸出的畫布,編輯器還有語法標色、自動補齊和錯誤偵測,讓不習慣寫程式的人也能很快上手。

07我想做大型商業專案,用它合適嗎?

要謹慎評估。它常用於原型開發和實驗,但官方資料也提到它在大型專案的擴展性有限,複雜的動畫和模擬在效能上可能會有問題。如果你的目標是商業級的遊戲、高效能應用或大型系統,它可能不是最適合的選擇,可以考慮其他更專業的開發工具。

08它跟 Python 比起來,哪個比較適合我?

取決於你的目標。Python 是通用程式語言,用途廣泛,但它的視覺輸出需要另外安裝圖形函式庫,對初學者來說門檻較高。Processing 是專門為了視覺創作設計的,打開就有畫布,語法也更貼近繪圖需求。如果你主要想做視覺作品,Processing 的學習路徑比較直接;如果你還想寫其他類型的程式,Python 的通用性更高。

09我的電腦很舊,跑得動嗎?

它的系統需求很低,官方說法是在大多數現代電腦上都能順暢執行,包括資源有限的裝置。不過實際效能還是取決於你做的專案複雜度,簡單的 2D 圖形在舊電腦上沒問題,但複雜的 3D 動畫或大量即時運算就可能會卡。

10它跟 Arduino 有什麼不同?

rduino 是控制硬體的,寫的程式是讓微控制器去驅動感測器、馬達、燈泡這些實體元件。Processing 是純軟體,跑在電腦上,輸出的是螢幕上的視覺。兩者可以搭配使用,例如用 Arduino 讀取感測器數據,再傳給 Processing 做視覺化呈現,但如果你只想做螢幕上的作品,不需要碰硬體,Processing 就夠了。

下載與官方連結

前往官方網站 下載 Processing (32-bit)

processing-3.3.5-windows32.zip · 112 MB · 連結指向軟體原廠

版本紀錄

再看 5 筆

看完整版本清單

這一版改了什麼

What's new in this version:

- Fixes for a couple problems introduced in the last release [ everything that went bad ]
- Console window was only remembering two lines of text because of a name collision in the preferences handling.
- Something went wrong with the 64-bit Linux release: "libjli.so: cannot open shared object file: No such file or directory"
- "Could not parse -1 for --display" message on some Windows machines [ some new things hopefully going good ]
- Fix a NullPointerException that showed up with textWidth() and OpenGL
- Per request, use native file choosers by default on Linux. I'm told that the default Linux file choosers have grown up in the last decade. I'm trusting the person who is making that claim and making them default.
- To get the old behavior in the Editor, change preferences.txt to say: chooser.files.native = false
- Or in your code, add this line: useNativeSelect = false