i18n/zh-TW/algorithmic-art/SKILL.md
使用 p5.js 透過種子亂數與互動式參數探索來建立演算法藝術。當使用者要求使用程式碼建立藝術、生成藝術、演算法藝術、流體場或粒子系統時使用。建立原創的演算法藝術,而非複製現有藝術家的作品以避免侵犯版權。
npx skillsauth add tai-ch0802/skills-bundle algorithmic-artInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
演算法哲學是一種透過程式碼表達的計算美學運動。輸出 .md 檔案(哲學)、.html 檔案(互動式檢視器)以及 .js 檔案(生成演算法)。
分兩步完成:
首先,執行此任務:
開始時,建立一個演算法哲學(非靜態圖像或範本),將透過以下方式詮釋:
考慮此方法:
哲學必須強調:演算法表達。突現行為。計算之美。種子變化。
命名運動(1-2 個詞):「有機亂流」/「量子諧波」/「突現靜寂」
闡述哲學(4-6 段 — 簡潔但完整):
要捕捉演算法的本質,表達此哲學如何透過以下方式體現:
關鍵指南:
哲學必須引導下一版本透過演算法來表達想法,而非靜態圖像。美感存在於過程,而非最終畫面。
「有機亂流」 哲學:受限於自然法則的混沌,從無序中突現的秩序。 演算法表達:由分層柏林雜訊驅動的流體場域。數千個粒子遵循向量力量,它們的軌跡累積成有機的密度圖。多個雜訊八度音階創造亂流區和靜寂區。色彩從速度和密度中浮现 — 快速粒子燃燒明亮,緩慢粒子漸褪成影。演算法運行直至達到平衡 — 這是一種經過精心調校的平衡,其中每個參數都由計算美學大師透過無數次迭代精煉而成。
「量子諧波」 哲學:離散實體展現波狀干涉模式。 演算法表達:初始化在網格上的粒子,每個都帶有一個透過正弦波演變的相位值。當粒子靠近時,它們的相位發生干涉 — 建設性干涉創造明亮節點,破壞性干涉創造虛空。簡單的簡諧運動生成複雜的突現曼陀羅。這是一個煞費苦心校準頻率的結果,每個比例都經過精挑細選以產生共鳴之美。
「遞迴低語」 哲學:跨尺度的自相似性,在有限空間中的無限深度。 演算法表達:遞迴細分的分支結構。每個分支具有輕微隨機性但受限於黃金比例。L 系統或遞迴細分生成感覺既數學又有機的樹狀形態。微妙的雜訊擾動打破了完美的對稱。線條粗細隨遞迴層級遞減。每個分支角度都是深入數學探索的產物。
「場域動態」 哲學:無形力量透過其對物質的影響而顯現。 演算法表達:由數學函數或雜訊建構的向量場。粒子在邊緣誕生,沿著場域線流動,當達到平衡或邊界時消亡。多個場域可以吸引、排斥或旋轉粒子。視覺化僅顯示軌跡 — 無形力量如幽靈般的證據。一場透過力量平衡精心編排的計算之舞。
「隨機結晶」 哲學:結晶成有序結構的隨機過程。 演算法表達:隨機的圓形堆疊或 Voronoi 鑲嵌。從隨機點開始,透過鬆弛演算法演化。細胞互相推擠直至平衡。色彩基於細胞大小、鄰居數量或與中心的距離。湧現出的有機平鋪感覺既隨機又必然。每個種子都產生獨特的晶體之美 — 這是大師級生成演算法的標誌。
這些是精簡範例。實際演算法哲學應為 4-6 段實質內容。
演算法哲學應有 4-6 段長。 以充滿詩意的計算哲學來填充,整合所欲呈現的願景。避免重複相同論點。將此演算法哲學輸出為 .md 檔案。
關鍵步驟:在實作演算法前,從原始請求中提取出細微的概念線索。
基本原則: 此概念是一個嵌入演算法本身中的細微、小眾參考 — 不見得是字面上的,但始終精緻。熟悉該主題的人應能直覺感受到,而其他人則僅體驗到一幅大師級的生成構圖。演算法哲學提供了計算語言。推演出來的概念提供了靈魂 — 將無形的概念 DNA 悄然編織至參數、行為與突現的模式中。
這非常重要:這個參考必須非常純粹精練,能增添作品的深度卻不喧賓奪主。想像爵士樂手在演算法和聲中引用另一首曲子 — 只有內行人聽得出來,但每個人都能欣賞其生成之美。
當哲學和概念框架都確立後,透過程式碼表達它。在繼續之前先暫停整理思緒。僅使用建立的演算法哲學與以下的說明。
關鍵:在撰寫任何 HTML 之前:
templates/viewer.html避免:
遵循以下實踐:
該範本即為基石。在其上建構,而不是重新建立它。
要建立具有生命氣息的畫廊級計算藝術,請以演算法哲學為基礎。
種子亂數 (Art Blocks 模式):
// 永遠使用種子來確保再現性
let seed = 12345; // 或是從使用者輸入產生的 hash
randomSeed(seed);
noiseSeed(seed);
參數結構 - 遵循哲學:
為建立自然從演算法哲學中湧現的參數,請考慮:「這個系統有哪些屬性可以被調整?」
let params = {
seed: 12345, // 始終包含作爲重現基礎的 seed
// 色彩
// 新增用來控制你的演算法的參數:
// - 數量 (多少?)
// - 比例 (多大?多快?)
// - 機率 (有多可能?)
// - 比例 (什麼比例?)
// - 角度 (什麼方向?)
// - 閾值 (行為何時改變?)
};
為了設計有效的參數,專注於系統需要可被微調的屬性,而非從「模式類型」來思考。
核心演算法 - 表達哲學:
關鍵:演算法哲學應決定要建造什麼。
為了透過程式碼表達此哲學,避免思考「我該使用哪種模式?」,而是思考「如何透過程式碼表達此哲學?」
如果哲學關於有機突現,考慮使用:
如果哲學關於數學之美,考慮使用:
如果哲學關於受控混沌,考慮使用:
演算法是由哲學自然流露,而不是從選項選單挑選。
為引導實作,讓概念的本質啟發創意與原創的決定。為這個特定的請求建構能表達其願景的產物。
畫布設定: 標準 p5.js 結構:
function setup() {
createCanvas(1200, 1200);
// 初始化系統
}
function draw() {
// 你的生成演算法
// 此可為靜態 (noLoop) 或動畫的
}
關鍵:為達到大師境界,創造出感覺是經由生成藝術大師無數次迭代而出現的演算法。細心調校每一個參數。確保每一個模式都是有目的地湧現出來的。這不是隨機的雜訊 — 這是透過深刻專業經驗精煉過後的受控混沌。
輸出:
templates/viewer.html 建構出來自成一體的互動式生成藝術 (請見步驟 0 和下一章節)這個 HTML 產出物包含了一切所需:p5.js (透過 CDN 載入)、演算法、參數控制面板以及 UI - 全都在這個單一檔案裡,立即可在 claude.ai 或任何瀏覽器中運作。從範本檔案開始,不要從頭開始。
備忘提示: templates/viewer.html 應該被讀取過 (請見步驟 0)。使用這個檔案當作起點。
為了能夠探索這個生成藝術,創建單一且自成一體的 HTML 產出物。確保這個產出物能立即在 claude.ai 或者是任何的網頁瀏覽器上執行 - 不需要任何的事前準備。把所有的東西都以行內 (inline) 方式嵌入。
templates/viewer.html 檔案即是其基礎。它包含了所需要的確切結構與樣式設計。
固定 (請務必完全如其所示納入其中):
可改變 (針對每個插圖與作品可客製化):
每一個藝術品都應該要有一組專屬獨特的演算法與參數。 固定部分維持了一致的使用者體驗 - 其他所有東西則是傳達著這獨特的美感。
1. Parameter Controls (參數控制器)
2. Seed Navigation (種子控制區塊導覽)
3. Single Artifact Structure (產出物結構設定)
<!DOCTYPE html>
<html>
<head>
<!-- p5.js 的來源位置是來自 Content Delivery Network (CDN) - 只要有網路就可以使用這個資源 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.7.0/p5.min.js"></script>
<style>
/* 在 HTML 檔案建立風格與設定設計。確保乾淨、精準的架構風格設計,這能把介面中任何的不乾淨去除。*/
/* 在這裡畫布會被建構在上方,而操作的控制器將於下方展示 */
</style>
</head>
<body>
<div id="canvas-container"></div>
<div id="controls">
<!-- 下面這區塊放上所有可以用來幫助操作它的控制器 -->
</div>
<script>
// 在這裡填下所有需要的 p5.js 原始碼並執行它們
// 將其建構 Parameter 物件、Class 然後建構所有使用的 functions。這包含:
// setup() 以及 draw()
// 然後設計使用者可操作使用介面的設計功能處理
// 全部這些都是自行可以獨立封閉運行的
</script>
</body>
</html>
關鍵點: 這是單一一個完整產出物。不包含外加檔案。除了 p5.js 以外,不需要把其他的任何檔案使用匯入方式處理。全部的所有開發都該包在一起。
4. Implementation Details - BUILD THE SIDEBAR (建置以及實踐側邊攔上的實行設定)
側邊攔架構:
1. Seed (FIXED) / 固定部分 - 確保完全的複製這些資訊:
2. Parameters (VARIABLE) / 可調整改變區塊 - 會產生相對應的控制來使用在美術設定:
<div class="control-group">
<label>Parameter Name (也就是它的名字)</label>
<input type="range" id="param" min="..." max="..." step="..." value="..." oninput="updateParam('param', this.value)">
<span class="value-display" id="param-value">...</span>
</div>
在加入更多你要使用的控制元素,像是參數等時,請把它們多加入 div 來使用。
3. Colors (OPTIONAL/VARIABLE) - 當藝術有需要色彩之變色或是可以改變的功能,這個也是被需要的:
4. Actions (FIXED) / 固定動作 - 如同這裡的一模一樣,這必須要在場:
開發需求清單:
這 HTML 在製作完這一步時應立刻有辦法:
該產出物本身就帶有一系列的在不用建立許多獨立檔案時仍舊探索了它的豐富,包含可尋著順序或者隨機去找尋設計的介面設定(前 / 下一歩或隨機會跑動出來種子按鍵),來看到變化中的樂趣與無窮可能性。如果使用者對於去將其中特有些變化要做聚焦的討論和凸顯:
這是如同你要運用同樣的方式,但是建立出一系列版畫一樣的感受。整個設定或設計也是前後呼應著一致性。這是同一款演算法生成它。然而每一格所設定和給出的不同的 Seed 可以用來說明這些能去顯出可以探索更多種發展變形的有趣。由於它是可以進行互有反應與討論,這可以去讓人隨機隨處走走,尋找到讓人覺得最滿意、覺得最好看的最喜歡的那些不同種子發展出不一樣設計的展現並收藏與之討論之美學。
使用者的請求指示 → 建立去打造美感哲學 → 著手執行
每一個新的需求會是獨立。而你的執行操作中,包含的為:
The constants (維持與保留不能異動之處):
Everything else is variable (其他在此以外的事就是皆有能夠變造的地方之可能空間的運用):
為達到最好成績。這你得信任自己有創造性的那獨特本質,透過你對它的美的哲學來設定打造和發展這這藝術品。
這一個設定它本身能具有的一些參考的文件與那可以用於幫忙這過程時能給予一些實作之初能夠有建立模板設計與建構在開始動手之前的起手基礎。
templates/viewer.html: 它是被要求強制規定用做為所以要展示所發展這所有相關所要做成一個互動可產出這能看能操作之 HTML 產出它的唯一且必要的起始檔案設定
templates/generator_template.js: 指南提供在實踐使用這 p5.js 去建立出最好的與可以去這做出最好的架構去寫和這些寫作它的架構的最好的方法和設定。
Critical reminder (務必不能忽略之關鍵這需你了解和切實記下這事項):
development
Unified testing skill — TDD workflow, unit/integration patterns, E2E/Playwright strategies. Replaces tdd-workflow + testing-patterns + webapp-testing.
testing
Security-first skill vetting for AI agents. Use before installing any skill from ClawdHub, GitHub, or other sources. Checks for red flags, permission scope, and suspicious patterns.
development
Spec-Driven Development (SDD): A structured workflow (Requirement -> Analysis -> Implementation) enforcing explicit documentation before coding.
development
Methodologies for System Analysis (SA), focusing on technical architecture, data flow modeling, and API design.