這個演講是在Clojure/conj2018上進行的,重點是關于實踐生成藝術的一些有趣的問題,這些技術已經運用在NFT上進行了。
歡迎大家。謝謝你。非常感謝你們的到來。我很高興能談論一個我真正喜歡的話題,那就是藝術作品,具體來說,我將談論通過編程創作的藝術作品:你可以稱之為生成藝術作品。本次演講不會像制作生成藝術作品那樣提供技術實踐指南,而是對圍繞實踐出現的一些有趣哲學問題的探索。生成藝術是一種相對較新的媒介,它與之前的一些傳統藝術形式有很大的不同,所以有很多我認為非常有趣的新問題,它們與我們程序員特別相關,我將花一些時間談論我的實際軟件設置,以及我使用的工具。
我制作的藝術品通常沒有輸入。它不是任何類型的數據可視化或圖像處理。生成圖像所需的一切都包含在程序本身中,無論程序輸出什么,都是最終產品。通常,我將數字圖像作為最終產品,但我并不嚴格這樣做。有時我闖入物理世界,我會創造這樣的東西,這是一幅繪圖儀畫。這是一幅真正的畫,但它是用繪圖儀創作的,這是一個簡單的機器人,我稍后會講到。我主要使用抽象圖像,但最近我一直在嘗試集成手繪組件,所以我編寫了一個自定義界面,允許我使用通過Wacom平板電腦進行數字繪制的輸入作為算法的起點。在這種情況下,我繪制了一個圖形的輪廓,并將其傳遞給從那里接管的算法,并將其分解為不同的形狀,并分配所有顏色和細節,但主要是這個是我在過去五年左右的時間里一直在做的東西。
以下是我正在使用的工具:我正在使用Quil,它是一個Clojure庫。它是另一個名為Processing的Java庫的包裝器,我認為它已經存在了10或15年。處理是一種基本的圖形庫。它有一個相對簡單的API來處理形狀、線條和圖像。Processing最初是作為一種Java庫編寫的,它有自己奇怪的IDE,但您可以使用Quil用Clojure包裝它。處理也被移植到JavaScript,而Quil也通過ClojureScript包裝了它。您可以選擇要使用的平臺。
ORC20協議索引器已完整開源,代碼由20scan團隊開發和提供:7月12日消息,據官方消息,ORC20協議索引器宣布其已完整開源,已成為Ordinals中除BRC20外,提供完整索引及開源代碼的代幣協議。[2023/7/12 10:50:19]
這只是一個非常簡單的程序,可以讓您了解設置它的樣子。鍋爐板很少。這個程序不會畫任何特別有趣的東西。這只是圖像周圍的一堆亂七八糟的線條,但這樣做的好處是您可以直接開始創建圖像,而且API相對簡單。
在底部,我得到了(begin-shape)、一堆對(vertex)的調用,然后是(end-shape),這就是我使用這些API的方式的90%。偶爾,我會做一些更高級的東西,比如圖層和蒙版,但這是它的核心。您可以將系統用作矢量圖形或光柵圖形,因此您可以訪問實際的像素陣列。您可以選擇要使用的不同渲染器。您可以在2D或3D中工作,盡管我自己更喜歡在2D中工作。你可以用這個做動畫,所以最重要的是我有一個調用來阻止它這樣做,但通常它會為每一幀重復調用一次繪制,所以你可以刷新和重繪,所以人們創建動畫那樣。他們還以這種方式創建交互式軟件。你可以接受鍵盤輸入、鼠標輸入、Wacom數位板,它那么為什么我為此選擇了Clojure?
一旦我發現實際上有用于此的工具,它就會變得更好。不幸的是,我從Matplotlib開始,它使用起來和你想象的一樣痛苦,但Clojure好得多,我認為主要原因是創建視覺圖像實際上是一種數據處理。您正在處理這些形狀、曲線、點、像素。所有這些都非常方便地表示為簡單的數據結構,因此它非常好地映射到在簡單數據結構上設置這些數據轉換管道的典型Clojure風格的操作。它非常適用于這個領域,它也非常適用于音頻,所以有像Overtone這樣的Clojure庫可以讓你制作生成音頻,而且它們也能很好地工作。
當然,在座的所有人都知道Clojure編寫速度很快,這就是我認為我們都喜歡它的原因之一,但尤其是對于藝術品,你們并沒有真正預先規劃這種架構。你更像是一種探索性的實驗模式,只是把東西塞進去,然后運行它看看它的樣子。因此,尤其是與REPL集成后,您可以在其中重新加載模塊并重新運行代碼,從而形成一個非常緊密的反饋循環,非常適合此類探索性工作。當然,與其他Lisp方言相比,Clojure的一大優勢是您可以訪問JVM,這既是一項出色的工程,也是一個出色的生態系統。那里有您隨機需要的所有這些Java庫,而且不必每次都從頭開始編寫所有內容,這很好。當然,JVM的性能相對較高。它適用于大堆大小。
Aave V3將選擇Business License代碼許可:12月14日,AaveV3代碼許可投票已結束,Business License獲得55.44%投票率,MIT獲得44.28%投票率,GPL獲得0.29%投票率,因此AaveV3將選擇Business License代碼許可。
Defiance Capital Goh YeouJie表示,擁有Business License與UniswapV3類似,將有助于防止分叉,如果可以延遲2-3年過渡到MITLicense將會給Aave更多時間來建立他們的生態。鑒于Aave生態系統是高度分散和去中心化的,Aave此前決定通過治理投票手段來敲定哪種類型的許可(如果有)適用于Aave協議V3代碼,這也是DeFi領域里第一次采用這種方式。[2021/12/14 7:39:23]
如果您發現自己需要優化一堆數組操作,您可以使用Java,并且非常容易地做到這一點,盡管我發現這非常不常見。當然,如果你真的想部署到瀏覽器,你可以通過ClojureScript來實現。如果您正在制作交互式軟件,您開始必須處理可能并發操作的共享狀態,因此原子和代理的標準Clojure工具包,尤其是代理,往往對這種工作方式很有用,您還要小心不要阻塞動畫線程,所以像core.async這樣的工具對于做這種風格的工作非常方便。最后一點有點推測性,但我覺得擁有更靈活的語言會讓你在做這類創造性工作時有更好的心態。
所以,在我從事生成藝術作品的這幾年里,有一些大問題,我花了很多時間思考,而這些問題的答案并不是那么簡單。也許這并不奇怪,但我認為它們會產生一些有趣的東西。所以,我想說的第一個是如何通過編程制作有趣的藝術品。我的意思是,這真的是生成藝術作品的關鍵。但是,我需要小心我在這里所說的話:“有趣的藝術”是一個沉重的術語。這究竟是什么意思?它可能意味著很多事情。藝術可以有很多有趣的方式,但我認為這里的一個相對屬性是好的藝術以某種方式做我們沒有預料到的事情。它有能力給我們帶來驚喜或教給我們一些新的東西,或者從不同的角度看待事物。這就是好的藝術與工藝的區別。但是,我們也有理解藝術品的需要。
我們真的不喜歡它,如果我們不能把我們的頭環繞在它周圍。有些藝術品可能難以消化,這沒關系,但最終我們希望感覺這幅藝術品背后有某種意義、結構或組織。它不能只是隨意地捆綁在一起。即使我們不能對它形成理性的理解,我們也必須對藝術品有某種直觀的理解才能欣賞它。那么,如果我們欣賞未曾預料到的藝術,這是否會讓我們在編程時陷入困境?編程是使其成為有用工具的優勢之一,它是非常可預測的。我們可以編寫這些系統,讓我們了解在任何給定狀態下會發生什么,并且除非出現任何類型的錯誤,否則這是一種非常可預測的工作方式。
“萬維網之父”稱源代碼NFT拍賣完全符合網絡價值:6月23日消息,“萬維網之父”蒂姆·伯納斯·李(TimBerners-Lee)回應了對其出售代表網絡源代碼NFT的決定的批評,伯納斯-李在接受《衛報》采訪時稱,今天在蘇富比開始的NFT拍賣“完全符合網絡的價值”。此前消息,Berners-Lee在蘇富比拍賣的名為“這改變了一切”的NFT,其中包含HTML、HTTP和URI的源代碼。(decrypt)[2021/6/23 0:01:00]
這似乎與我們制作不可預測的藝術品的愿望相沖突,但是很多生成藝術家已經非常成功地解決了這個問題,所以我將討論一些解決方法。我自己的方法,以及我遵循的幾位藝術家似乎也使用的方法,實際上是一種編程風格,它更像是一種指導方針,而不是對應該創建什么的準確描述。在這里給你一個直觀的例子,這些是從同一個程序創建的兩個圖像:
沒有任何代碼更改,只需多次運行它,我就會得到兩個完全不同的結果,但它們在某些方面似乎仍然在美學上非常相關。幾乎沒有一個像素匹配,但不知何故它們綁在一起。實現這一點的方法是非常有選擇地、非常小心地使用隨機性,從高級結構到精細細節,以及顏色選擇等元素。
該算法主要基于一種遞歸三角形細分,隨機性用于做一些事情,例如不是完美地分割每個三角形,它可能會稍微偏離中心或使用曲線而不是直線。它可能會在某些區域遞歸到一個深度,而在其他區域則不會,并且它試圖以一種有趣的方式保持這些分布。顏色可能會從一個父三角形繼承到它的子三角形,但它也可能以各種概率隨機切換到另一種顏色,所以這真的是......程序是我在朝著某個方向推進,但沒有明確地布置需要什么發生。我仍在努力為程序留出空間,以讓我感到意外的結果,這只是一種引導隨機性。
我非常喜歡另一位藝術家。他的名字對我來說很難發音,所以我會避免對其進行屠殺,但我在這里有兩張圖片,我相信它們來自同一個程序:
動態 | EOS近一個月代碼提交不足500次:據第三方大數據機構RatingToken-公鏈平臺監測數據顯示,EOS近一年在GitHub上提交代碼次數為10750,近一個月代碼提交498次,占比不到5%。反觀ETH近一年代碼提交15680次,近一個月提交1299次,占比達8.28%。[2019/4/3]
同樣,您可以看到,即使它們完全不同,它們也保持了這種美學一致性,因此這是一種流行的工作方式。您可以找到其他藝術家似乎采用這種方法。還有一些非常不同的方法往往依賴于更多的涌現屬性和涌現結構,所以我在這種情況下所說的涌現是指你有一套非常簡單的規則,看起來不會做任何有趣的事情,但是如果你隨著時間的推移反復運行它,這些大型超級結構開始出現,你無法僅通過查看規則來預測。
其基礎確實與混沌理論有關,混沌系統的一個非常簡單的例子是三重擺。這基本上是三個相互連接的鐘擺。盡管這些對象本身是非常可預測的對象,但當您將它們組合起來時,您最終會得到混亂的系統,這意味著初始狀態的任何微小差異都會導致最終結果的巨大差異。
所以,我在這里欣賞JonathanMcCabe的一些非常好的藝術品。他正在研究一種高級形式的元胞自動機。很多人可能知道那是什么,但對于那些不知道的人,也許你聽說過康威的生命游戲,這是一種元胞自動機。本質上,您有一個包含單元格的網格,這些單元格可以打開或關閉,并且您可以逐步執行,并且有一些簡單的規則來控制單元格何時打開和關閉,就像它們有一定數量的鄰居打開一樣,它們“將在下一步。
這是一個更復雜的系統。這就是他所說的多尺度圖靈模式,所以他使用元胞自動機,一種用于宏觀尺度特征,一種用于更詳細的特征,但這里的輸出種類繁多,每一個這個程序的輸出看起來完全不同。它真的很狂野,但它仍然具有我們仍然以某種方式理解的這種連貫結構。這是非常了不起的。
另一種常見的方法有點像元胞自動機,但沒有網格,還有一些比細胞更復雜的東西,所以在這種情況下,我們有我所說的在系統內移動的代理或演員,并在某些方面影響它大大地。而且這些也往往相互交互,所以如果兩個代理發生碰撞,也許他們會改變他們正在繪制的顏色。你可以用簡單的規則來設置這些,就像使用元胞自動機一樣,你運行很多步驟,它構建了這個復雜的圖像。這對于動畫也非常有效,但這只是一個靜止的。
韓國安博士(ahnlab)殺軟件公司提醒網友注意在線社區中傳播的惡意代碼:7日韓國安博士(ahnlab)殺軟件公司表示最近發現了在在線社區中傳播的惡意代碼,提醒大家注意警惕。根據安博士(ahnlab)殺軟件公司的描述,攻擊者在在線社區中虛擬貨幣相關主題公告牌上安裝了惡意腳本,當用戶打開帖子時,通過驅動下載的方式感染惡意代碼。 驅動下載不需要用戶安裝,而是用一種利用系統安全漏洞,對用戶電腦感染惡意代碼并進行攻擊的方法。[2018/2/7]
最近的發展之一是機器學習。我認為神經學是一個很好的術語。這是馬里奧·克林格曼(MarioKlingemann)制作的藝術品,我這里有他的一些作品。這件藝術品是用一種叫做GAN的東西制作的,一種生成對抗網絡。它是一種神經網絡,并以特定的風格進行訓練,但實際上藝術家在使用這些時所擁有的兩個杠桿是,首先是訓練集,因此是訓練網絡所針對的圖像集合。他們的另一個真正的控制點是目標函數。所以這就是網絡如何給自己打分或給自己打分來判斷它是否做得很好,以及它應該如何改變以做得更好,但是這些變化非常多。這只是他所做的最小的一瞥。我絕對建議檢查更多。
這些藝術作品風格都大不相同,但我認為將它們聯系在一起的共同點是它們在混合隨機性和結構方面做得非常出色。他們能夠在兩者之間保持這種平衡,直到它仍然令人驚訝和不可預測,但他們仍然有某種類型的秩序,即使只是憑直覺我們也能理解。有一張圖片對我來說非常清楚地表明了這一點,這是JohnGreene的作品,他制作了瓷磚藝術品:
顯然,像這樣的平鋪系統是非常有序的,但他還設法以創造出許多非常漂亮的多樣性的方式引入了隨機性。所以,我認為我們可以滿意地回答“你如何用編程制作有趣的藝術?”的問題。我們可以說這是可能的。通過編程創造令人驚訝的結果有不同的方法。
所以,我猜下一個真正有趣的問題更多地與生成藝術的哲學以及它的未來發展方向有關。我們可以將我們的美學轉化為代碼,對吧。當我編寫這個程序時,我試圖做的是以某種方式將我喜歡的東西編碼到程序中,而不是讓它變得非常精確,但藝術是一種非常直觀的實踐。它由很多直覺和直覺指導,您可能會做出關于該做什么的虛假決定,而編程幾乎與此相反。這是非常明確的。它非常有序。它很有條理。所以,這是一個非常不尋常的嘗試混合,加入這些東西。因此,許多生成藝術家開始懷疑:
我要把這個問題縮小到顏色。想象一下,您的任務是創建一個程序,為圖像中的每個形狀挑選顏色以產生令人愉悅的效果。這似乎是一項可行的任務。顏色是一個三維空間,非常簡單。但是當你深入研究時,會發現這種顏色是極其相關的。任何一種顏色都會受到周圍所有顏色的影響,并且會受到這些顏色的接近程度的影響,并且會受到它們大小的影響。不僅如此,顏色對我們來說還具有所有這些文化內涵。我們將顏色與不同的情緒聯系起來。我們將顏色附加到對象、位置甚至時間段上。真正優秀的藝術家會以意想不到的方式或諷刺的方式使用顏色,所以很明顯顏色實際上不僅僅是一個三維空間。
我的意思是,真正做到這一點只需要強大的人工智能,在這一點上,藝術的定義變得比現在更加模糊。馬特·皮爾森有一個有趣的短篇小說,它談到有人在寫一個AI藝術家。我建議檢查一下。所以,我認為,這個問題的答案,我們是否可以將我們的美學轉化為代碼,我們是否可以做到這一點,但不是全部。它必須是藝術家和節目之間的合作,這沒關系。
所以,最后一個問題,也許是最重要的問題,為什么要這樣做?為什么用代碼做藝術?我認為最直接的答案基本上就是它很有趣。我們將所有時間都花在使用功能非常強大的工具來開發這些極其復雜的技能上,但我們很少以有趣的方式使用它。
你們中有多少人真正坐下來,沒有預定目標地編寫代碼?是的......就像你們五個人一樣,對于你們中的少數人來說可能非常罕見。這不是我們通常會做的事情,我認為我們真的應該這樣做。不時不時用這些技能做有趣的事情是一種浪費。除了藝術上的挑戰之外,做這種類型的工作還有很多有趣的工程挑戰。
如果你想寫出非常快的代碼,你可以編寫一個實時GPU著色器,這些東西的吞吐量非常高。如果您喜歡高效的緊湊代碼,那么可以使用演示場景藝術作品,這些作品都是關于從難以置信的小可執行文件中生成內容的。這是一個適合4KB可執行文件的整個世界。這只是一個視頻的靜止圖像。這是一個完整的地形,有山,有氣味,有云,有海洋,非常令人興奮。
如果你喜歡機器人,我們有機器人。有些人拿到了這些瘋狂的九軸工業東西,并畫了肖像。我必須用一個簡單的三入口機器人來滿足自己。
這是一個AxiDraw。它是由加利福尼亞州的一家小公司制造的。我將它用于素描和繪畫,但有時能夠在物理世界中做一些事情真的很棒。這確實是一個未被充分探索的空間,所以如果你喜歡做某事,成為第一個做某事的人,這里真的很容易。您幾乎可以在很短的時間內向任何方向行走,并且您處于新的肥沃土壤中。就動機而言,這真的很棒。只需幾個小時的工作,您就可以獲得一些即時的視覺反饋。l這可能是糟糕的反饋,但并非總是如此。您通常會享受您所創造的東西,因此這不是一個需要數月或數年才能達到滿意效果的項目。至少對于我這種性格來說,擁有這種動機是有用的。
我認為不言而喻:你根本不會做這些。
我稍微談到了這一點,但老實說,我們應該能夠享受我們開發的這些技能的樂趣。我們真的沒有充分的理由不這樣做。我認為我們應該養成經常放松一點的習慣。但是,更嚴肅地說,我確實覺得我們實際上應該為社會花一些時間和精力在這些事情上。我們對技術和編程有一定的了解,而世界上大多數人都沒有。我的意思是,對大多數人來說,這對他們來說完全是個謎,而藝術品有時可以彌合這種差距。
例如,考慮最先進的機器學習。如果我去街上找人,問他們“最先進的機器學習算法的優點和缺點是什么?”,他們不知道。對這里的一些人來說,這甚至可能很難回答。但是,如果我讓他們聽一小段由機器學習算法創作的音樂,或者讓他們閱讀由這些算法生成的一首詩,或者看一件藝術品,他們會很快并直觀地了解它發生了什么。他們將能夠聽到。好吧,也許它可以得到正確的細節。它可以以令人愉悅的方式將這些簡短的音符序列串在一起,但它忽略了更大的圖景。它沒有任何戲劇性。沒有故事。沒有緊張。
我認為同樣的直覺理解不僅可以發生在這個機器學習案例中,還可以發生在通過編程創建的各種藝術作品中。我認為有一個教育方面,一個很重要的溝通方面。生成藝術也傾向于向我們解釋關于世界的事物,因為宇宙本身是生成的,它基于定律和概率。這些導致某些模式、涌現模式和生成藝術作品大量處理模式。因此,無論有意與否,生成性藝術作品經常會偶然發現我們在世界上發現的一些相同模式。所以,一個很酷的例子是貝殼。我不知道它是什么物種,但外殼恰好,那里的圖案恰好非常,非常類似于StephenWolfram創建稱為Rule30的元胞自動機,只是它有一些小故障。但這些東西如何反映在自然界中真的很了不起。
為了深入探討哲學的深層次,我認為生成性藝術作品也說明了我們作為人類的一些重要信息。藝術從根本上來說是關于在很多方面做人。當我們嘗試編寫關于藝術作品的規則時,我們試圖做出更明確的嘗試來描述我們欣賞藝術作品的內容。而這種方法很快就暴露了其自身的局限性。藝術作品的復雜性和高維度變得非常清晰,程序工作方式與人類工作方式之間的差距變得更加明顯。我們開始看到,也許這些程序可以解決制作藝術品的“方式”,但它們不能真正解決“為什么”,因此它強調了“為什么”在藝術品中的重要性,以及我們如何作為人類。
所以,我認為這種生成藝術的方法,至少對我來說,揭示了很多關于人類生活的本質。我想說的最后一部分是,任何沒有藝術品的文化都是反烏托邦。您希望藝術品屬于任何健康的文化。藝術鼓勵發現。它鼓勵反思、交流和對生活的欣賞。鑒于編程基本上正在吞噬世界——它每天都變得越來越重要,我們的生活越來越多地被技術所包圍——我們需要確保我們接受藝術的重要性,我們投入一些如果我們想確保在邁向未來時為我們所有人建立一種健康的文化,我們將花費我們的時間和精力來享受它并創造它。
這就是我對這些問題的最佳答案。我希望你們中的一些人會想更多地了解生成藝術品或自己制作一些藝術品。有了這個,我會說謝謝。
最近,隨著以太坊EIP-1559的升級完成,以太坊的價格迎來了突破,從1700美金附近連續上漲并突破3100美金,漲幅超過80%。以太坊的上漲也帶動了整個加密貨幣市場的回暖.
1900/1/1 0:00:00大概一個月前,波卡測試網Kusama完成了第一次插槽拍賣,此次拍賣被外界視為是波卡主網插槽拍賣的一次預演和測試,因此吸引到了許多波卡以及跨鏈技術關注者的目光.
1900/1/1 0:00:00收錄于話題 #每日期權播報播報數據由Greeks.live格致數據實驗室DataLab和Deribit官網提供.
1900/1/1 0:00:00交易計劃是一份清單,它能幫助我們更好的執行既定的交易,更有原則,如果沒有計劃,那么我們很容易在價格的反復波動中出現提前離場、賺不到該有的錢、不止損導致爆虧等問題.
1900/1/1 0:00:00鏈集市·讓區塊鏈落地更簡單 《區塊鏈行業觀察》專欄·第35篇作者丨RafiaRaji 圖片丨來源于網絡 使用Crypto進行跨境支付隨著移動支付在非洲主要市場的鞏固.
1900/1/1 0:00:002021年8?2?,亞洲領先的加密貨幣金融服務平臺Matrixport,在成立兩年后以超過十億美元的估值完成了C輪融資。ForesightVentures作為長期合作伙伴參與了本輪融資.
1900/1/1 0:00:00