Course:114-2/台藝互動程式
台藝互動程式設計課 - 114-2
上課時間:週四 09:10 - 12:00
課程概述:技術物件的存在模式 Course Overview
本課程設定於一個假想的世界觀:「想像一個沒有人類、只有伺服器還在運作的世界」。 課程目標為 Creating Autonomous Kinetic Art (創造自主的動態藝術)。 學生將經歷從數位意識的建構到實體機械的轉譯,最終創造出具備「性格」與「變形能力」的機械物種。
AI 開發環境建構
本課程採用 Antigravity (Google Gemini) 作為 AI 助手。只需完成以下 2 個步驟,其餘全部交給 AI 處理。
---
Step 1|安裝 Docker Desktop(唯一需要手動做的事)
前往官網下載並安裝(選擇你的系統):
- Mac:https://www.docker.com/products/docker-desktop/
- Windows:https://www.docker.com/products/docker-desktop/
安裝後,開啟 Docker Desktop,確認畫面上的鯨魚圖示是綠色的(代表 Docker 正在執行)。
---
Step 2|把這段話複製貼給 Antigravity,讓 AI 接手所有設定
我是台藝大互動程式設計課的學生,需要幫助建立開發環境。 請幫我完成以下所有事情: # 確認 Docker Desktop 是否正在執行 # 安裝 Python 套件管理器 uv # 建立課程專案資料夾 my-kinetic-art # 安裝課程需要的套件:Python 3.12、gpiozero、RPi.GPIO、requests、ruff、pytest # 建立 Dockerfile 和 docker-compose.yml,讓我可以在 Docker 環境中開發 # 用一個 hello world 程式確認環境正常運作 請一步一步帶我完成,遇到問題直接幫我修復。
教學目標:技術器官生成研究 Objectives
- 數位意識建構:學習使用 Python 呼叫 AI 模型 (Local LLM 或 OpenAI API) 與 Prompt Engineering,賦予演算法性格。
- 虛擬模擬:使用 TouchDesigner 或 Processing 進行數值視覺化與生成式動態設計。
- 實體轉譯:掌握 Microcontroller (Arduino/Raspberry Pi Pico) 與馬達控制,將軟體指令轉化為物理動作。
- 自主變形機構:學習連桿、摺紙結構與感測器應用,設計能自主變形的機械生物。
- 生態系展演:整合軟硬體與外觀設計,完成沈浸式的「後人類世動物園」展演。
課程教材 Reading List
📚 書籍 Books
---
Vehicles: Experiments in Synthetic Psychology — Valentino Braitenberg,1984,MIT Press
想像一個只有兩個輪子、兩個感測器的小車。把光感測器和輪子交叉連接,它就會「追光」;直連,它就「逃離光源」。Braitenberg 用 14 種這樣的「Vehicles」,示範了「複雜行為不需要複雜的程式」——感知-行動迴路本身就能製造類似情緒、個性、甚至愛與恐饋的表現。本課程的機械物種設計哲學直接源於此書。
→ 課程重點:讀完第 1–6 章,試著用「Braitenberg Vehicle」的邏輯設計你的物種「性格」。
---
On the Mode of Existence of Technical Objects — Gilbert Simondon,1958 / 2017,University of Minnesota Press
Simondon 認為機械不只是工具——它有自己的「個體化過程」(individuation)。一個引擎有它的「共鳴點」和「邊界條件」,就像生命體有自己的生態位。理解機器的「存在方式」,是讓機械作品不止是工具的第一步。本課「機械物種有性格」的設定正是 Simondon 式的思考。
→ 課程重點:第一章「技術物件的誕生」是了解本課世界觀的理論基礎。
---
Dark Ecology: For a Logic of Future Coexistence — Timothy Morton,2016,Columbia University Press
Morton 提出「黑暗生態學」——生態不是美好的大自然,而是黏黏的、怪異的、難以脫離的「Mesh(網格)」。他的「陌生者」(Strange Strangers)概念:你無法完全理解的生命體,才是真正的「他者」。期末展「後人類世動物園」的設計概念——讓觀眾感受機械生物的「不完全可滲透性」——來自 Dark Ecology。
→ 課程重點:第 2 章「Strange Strangers」,思考你的機械物種對人類觀眾而言是什麼感受。
---
Systems Esthetics — Jack Burnham,1968,Artforum
Burnham 在 1968 年就預言:藝術的未來是「系統」而非「物件」。他說,未來藝術家關心的不是形式美感,而是「過程、資訊流、能量交換」。這篇文章比任何教科書更能說明為什麼本課做的是「系統」而非「雕塑」。
→ 課程重點:全文必讀,第 1 - 3 週完成,做為整個課程的思想框架。
---
Programming Interactivity — Joshua Noble,2012,O'Reilly Media
同時整合 Processing(視覺模擬)、Arduino(硬體控制)、openFrameworks(進階互動)的實務教材。每章都有完整範例程式碼。
→ 課程重點:第 6 章(Serial Communication)+ 第 10 章(Motor Control)是最重要的兩章。
---
Make: Getting Started with Raspberry Pi — Richardson & Wallace,2021,O'Reilly Media
Raspberry Pi 的入門標準教材。從 GPIO 接腳配置、Python 控制馬達,到網路設定都有。
→ 課程重點:第 4 章(Python on Pi)+ 第 5 章(GPIO Control)。
🎨 ARS Electronica / ISEA 經典作品
---
Strandbeest(沙灘獸) — Theo Jansen,1990–現在 | ARS Electronica 2005 特別獎
用 PVC 水管、纜線和寶特瓶製成、完全靠風力行走的巨型機械生物群。Jansen 用「進化演算法」計算出最有效率的連桿比例,讓沙灘獸能在沙灘上獨立移動。
→ 必看影片:YouTube|Strandbeest(沙灘獸)
---
The Helpless Robot — Norman T. White,1987–1996 |
一個固定在地板上、會旋轉的機械裝置。它用合成語音向靠近的人說:「能幫我轉一圈嗎?」。White 設計的不是一個服從人類的機器,而是一個懂得「利用人類」的機器。
→ 必看影片:YouTube|The Helpless Robot
---
Can't Help Myself — Sun Yuan & Peng Yu,2016 |
一隻 KUKA 工業機械臂被關在一個玻璃圍欄裡,不停地掃、掃、掃——但橙紅色液體永遠不受控地蔓延。機械臂的動作越來越快,最後看起來像是在「舞蹈」。
→ 必看影片:YouTube|Can't Help Myself
---
La Cour des Miracles — Bill Vorn & Louis-Philippe Demers,1997 |
15 台小型自走機器人佔據一條走廊。它們有薄薄的金屬肢體,移動方式像受傷的昆蟲。裝置的設計目標是製造「不安(unease)」而非「有趣」。
→ 必看影片:YouTube|La Cour des Miracles
---
Anima Machine(Ursula 系列) — Choe U-Ram,2000年代至今 |
Choe U-Ram 製作精密機械驅動的巨型有機體,每件作品都附有「生物說明書」——學名、棲息地、食性、天敵——以科學語言建構機械生物世界觀。
→ 必看影片:YouTube|Anima Machine(Ursula 系列)
課程進度 Schedule
Phase I: 喚醒幽靈 (The Ghost in the Machine) - 第 1-4 週
在碰觸硬體前,先在數位世界中建構出「會思考的 AI 意識」。
| 週次 | 主題 | 內容 |
|---|---|---|
| 第 1 週 (03-05) | 廢墟中的創世紀 (Course Intro & Concept) | 台藝大開學週。設定世界觀。介紹課程目標。作業:構思你的物種 (食性、棲息地)。 |
| 第 2 週 (03-12) | 演算法的性格 (Python & AI Logic) | 使用 Python 呼叫 AI 模型。透過 Prompt Engineering 設計性格。讓 AI 根據虛擬感測數據輸出情緒數值 (0-100)。 |
| 第 3 週 (03-19) | 虛擬模擬 (Simulation) | 軟體:TouchDesigner 或 Processing。將 AI 數值視覺化,模擬幾何圖形隨情緒改變形狀與顏色。 |
| 第 4 週 (03-26) | 生成式動態 (Generative Motion) | 探討 Perlin Noise 與 Randomness。讓 AI 決定運動的「質感」(Smooth, Glitchy, Breathing)。 |
Phase II: 建構軀體 (Fabrication of the Body) - 第 5-8 週
將數位意識導入實體機械。重點在於多關節的協調。
| 週次 | 主題 | 內容 |
|---|---|---|
| 第 5 週 (04-02) | 通用運動控制 | 介紹連桿/凸輪。控制 Servo (角度、速度、扭力),設計動作模式。 |
| 第 6 週 (04-09) | 神經傳導與運動學 | 硬體:Arduino Uno R4 / Raspberry Pi Pico。建立 Serial Communication (Python to Arduino)。 |
| 第 7 週 (04-16) | 期中發表——「初生」(The First Breath) I | 展示一個能動的「核心軀幹」。必須能透過電腦 AI 變數改變動作頻率。 |
| 第 8 週 (04-23) 台藝期中考週 | 期中發表——「初生」(The First Breath) II | 展示最終整合。 |
Phase III: 變形與演化 (Metamorphosis & Evolution) - 第 9-12 週
實體變形。
| 週次 | 主題 | 內容 |
|---|---|---|
| 第 9 週 (04-30) 北商期中考週 | 感知器官 (Sensors) | 感測器:環境光、超音波、聲音。建立「刺激 -> AI 判斷 -> 物理反應」迴路。 |
| 第 10 週 (05-07) | 自主變形機制 (Transformable Structures) | 摺紙結構 (Origami)、伸縮結構 (Scissor lift)。AI 決定變形的時機與程度。 |
| 第 11 週 (05-14) | 錯誤與突變 (Glitch as Evolution) | 引導接受物理限制 (摩擦力、重力)。將故障或延遲視為特徵。 |
| 第 12 週 (05-21) | 獨立製作週 (Studio Time I) | 解決結構強度與電源管理問題。 |
Phase IV: 生態系展演 (The Ecosystem) - 第 13-18 週
完成作品並營造沈浸式體驗。
| 週次 | 主題 | 內容 |
|---|---|---|
| 第 13 週 (05-28) | 壓力測試 (Survival Test) | 連續運作 3 小時測試。 |
| 第 14 週 (06-04) | 表皮與美學 (Skin & Texture) | 外觀設計。鼓勵使用異材質 (布料、回收物、生鏽塗裝)。 |
| 第 15 週 (06-11) | 展場佈置 (The Habitat) | 聚落營造。調整燈光與環境音。 |
| 第 16 週 (06-18) | 期末成果展——「後人類世動物園」 | 台藝大課程結束。學生擔任「導覽員」。觀眾觀察重點:機械是否有「自我意識」。 |
| 第 17 週 (06-25) | 彈性上課/作品精緻化 I | 彈性調整與成果製作。 |
| 第 18 週 (07-02) | 彈性上課/作品精緻化 II | 彈性調整與成果製作。 |
作業規劃 Assignments
| 週次 | 作業名稱 | 類型 | 截止日 |
|---|---|---|---|
| 第 7 週 | 期中發表 I(初生) | demo | 2026-04-16 |
| 第 8 週 | 期中發表 II(初生最終整合) | demo | 2026-04-23 |
| 第 16 週 | 期末成果展(後人類世動物園) | exhibition | 2026-06-18 |