具體描述
The visual arts are rapidly changing as media moves into the web, mobile devices, and architecture. When designers and artists learn the basics of writing software, they develop a new form of literacy that enables them to create new media for the present, and to imagine future media that are beyond the capacities of current software tools. This book introduces this new literacy by teaching computer programming within the context of the visual arts. It offers a comprehensive reference and text for Processing (www.processing.org), an open-source programming language that can be used by students, artists, designers, architects, researchers, and anyone who wants to program images, animation, and interactivity. Written by Processing’s cofounders, the book offers a definitive reference for students and professionals. Tutorial chapters make up the bulk of the book; advanced professional projects from such domains as animation, performance, and installation are discussed in interviews with their creators.This second edition has been thoroughly updated. It is the first book to offer in-depth coverage of Processing 2.0 and 3.0, and all examples have been updated for the new syntax. Every chapter has been revised, and new chapters introduce new ways to work with data and geometry. New “synthesis” chapters offer discussion and worked examples of such topics as sketching with code, modularity, and algorithms. New interviews have been added that cover a wider range of projects. “Extension” chapters are now offered online so they can be updated to keep pace with technological developments in such fields as computer vision and electronics.
現代編程思維與創意實踐的深度探索 《數字媒介中的邏輯與美學:麵嚮創作者的編程基礎與應用》 圖書簡介 本書旨在為數字藝術、平麵設計、交互媒體以及跨學科創意領域的實踐者提供一套全麵且深入的編程思維訓練與技術實踐指南。我們相信,在當今高度數字化的創作環境中,理解底層邏輯的運作機製,是實現突破性創意的關鍵。本書並非傳統意義上的技術手冊,而是一本緻力於培養“代碼即錶達工具”這一觀念的深度讀物。 全書結構圍繞“邏輯構建”、“數據可視化與形態生成”、“交互與響應式係統設計”三大核心闆塊展開,輔以大量的案例分析與項目實戰,引導讀者從零開始,係統地掌握編程在創意領域中的應用潛力。 --- 第一部分:構建數字世界的基石——編程思維與基礎結構 本部分著重於打磨創作者的底層邏輯框架,幫助讀者建立起與機器有效溝通的思維模式。我們摒棄瞭冗長枯燥的計算機科學術語,轉而使用與視覺感知和空間想象高度相關的比喻來闡述核心概念。 1. 邏輯的顆粒度:從概念到指令 本章深入探討瞭“算法”在創意流程中的角色。我們不將算法視為抽象公式,而是將其視為“可重復的、精確的、受控的創造步驟”。內容涵蓋: 布爾代數與決策樹在布局控製中的應用: 如何利用“是/否”邏輯來控製元素的齣現、消失與狀態切換,例如,根據鼠標位置動態改變圖形的透明度或色彩飽和度。 流程控製的敘事性: 講解 `if/else`、`for` 循環和 `while` 循環如何被應用於敘事結構,創建具有節奏感和層次感的視覺序列,如同電影的分鏡腳本。 函數作為“微型引擎”: 將函數視為可封裝、可復用的“創意模塊”。重點解析如何封裝復雜的幾何變換(如螺鏇綫、斐波那契數列麯綫)為一個簡潔的調用,從而解放設計思考,專注於更高層麵的結構設計。 2. 數據結構:組織視覺的內在骨架 對於視覺創作者而言,數據不僅僅是數字,它們是點、綫、麵、顔色和運動的載體。本章強調數據結構的組織方式對最終視覺效果的決定性影響。 數組與矩陣: 如何利用一維和二維數組來高效管理像素網格、顔色闆以及多層次的結構疊加。重點分析矩陣變換(平移、鏇轉、縮放)在三維或僞三維空間構建中的效率優勢。 對象與類的抽象化: 引導讀者使用麵嚮對象的方法來定義“設計實體”。例如,定義一個名為“畫筆”的對象,它包含顔色、粗細、紋理等屬性,並擁有“繪製”、“擦除”等行為。這使得復雜的組件管理變得清晰可控。 棧與隊列在時間軸上的應用: 探討如何利用棧(後進先齣)和隊列(先進先齣)來管理曆史狀態或動畫幀的序列,實現精準的“撤銷/重做”功能或時間步進模擬。 --- 第二部分:形態的生成與動態的模擬 本部分是本書的核心實踐區域,專注於如何利用代碼來超越傳統工具的限製,生成復雜、有機或數學驅動的視覺形態。 3. 數學與形態學:從公式到美感 本章側重於介紹驅動當代數字藝術和生成設計(Generative Design)的核心數學工具。 三角函數與周期性運動: 深入解析 `sin()` 和 `cos()` 如何被用於模擬自然界中的波動、漣漪、擺動和有機生長模式。案例涉及參數化波浪網格和復眼結構。 噪點函數與有機紋理的誕生: 詳細介紹 Perlin Noise 或 Simplex Noise 等連續噪點函數的原理及其在生成僞隨機但視覺上連貫的紋理、地形和流體模擬中的應用。重點討論如何通過調整頻率和振幅來控製“粗糙度”和“細節層次”。 分形幾何與自相似性: 探索基於迭代的幾何結構(如曼德布羅特集、謝爾賓斯基三角形),展示如何通過簡單的迭代規則來創建無限復雜的視覺結構,體現大自然中的尺度不變性。 4. 物理世界的代碼模擬:運動與力場的控製 本章超越瞭靜態圖像,進入動態模擬領域,使創作者能夠“設計物理定律”。 粒子係統: 係統的構建與參數調優。如何定義粒子的生命周期、速度、加速度、顔色衰減,以及碰撞檢測,用於模擬火焰、煙霧、星塵或群體行為。 力場與嚮量場: 引入嚮量(Vector)的概念,將其視為空間中的“方嚮和強度指示器”。通過定義引力場、斥力場或渦流場,引導粒子進行復雜的、非綫性的運動路徑,實現“牽引”或“排斥”效果。 反應擴散係統基礎: 簡要介紹基於化學反應的模擬基礎,例如圖靈模式(Turing Patterns),用於生成類似生物斑點、條紋或不規則晶體結構,探討其在錶麵紋理設計中的應用。 --- 第三部分:構建沉浸式體驗——交互、數據與環境集成 本書的最後一部分將焦點從單屏創作轉嚮更廣泛的“環境”與“反饋”係統,探討代碼在構建真實世界中的連接和響應能力。 5. 實時反饋與用戶驅動的界麵 本章關注如何讓作品“感知”並“迴應”外部輸入,從而創造齣動態和個性化的體驗。 事件驅動編程模型: 徹底理解“監聽器”的概念,即程序如何被動等待外部事件(如鼠標點擊、鍵盤輸入、觸摸、傳感器數據)的發生,並立即執行相應的響應代碼。 數據流與狀態管理: 探討如何有效地追蹤和管理程序在不同時間點的“狀態”,並確保狀態的改變能平滑、邏輯清晰地反映在視覺輸齣上。 傳感器輸入與環境交互(基礎篇): 簡要介紹如何接收來自網絡、音頻輸入(如麥剋風的音量或頻率分析)作為參數,驅動視覺元素的實時變化,實現“聲音可視化”或“環境數據映射”。 6. 創意項目的高級組織與部署 本章側重於將零散的知識點整閤到可維護、可擴展的創意項目中。 模塊化與代碼重用: 強調在大型項目中拆分功能模塊的重要性,避免“意大利麵條式代碼”。學習如何創建自己的“創意工具庫”。 性能考量與優化: 介紹在處理大量圖形元素或復雜計算時,如何識彆性能瓶頸(如不必要的重繪或冗餘計算),並應用基本的優化策略,以確保作品在不同設備上都能流暢運行。 跨平颱思維: 討論將創意代碼從單一環境遷移到不同輸齣媒介(如網頁、桌麵應用或投影係統)時需要考慮的適配性問題和兼容性策略。 目標讀者: 本書麵嚮所有希望超越傳統軟件預設功能、掌握生成式藝術(Generative Art)、數據驅動設計(Data-Driven Design)或創造高度定製化數字體驗的設計師、藝術傢、建築師、互動媒體專業學生及從業者。它要求讀者具備基礎的邏輯推理能力,但無需任何預先的編程經驗。通過本書的學習,讀者將獲得的不隻是技術知識,更是一種駕馭復雜性、將抽象概念轉化為具象美學的強大能力。