Creative Coding
-
全てのコードはクリエイティブと言えるが、ひとまず「プログラムを組んで芸術的な表現をすること」とする
- そこでまた「芸術的とは何なのか」という疑問が起きる
- 芸術の歴史と接続可能なもの
- 現状そこまでシリアスでもなく、プログラムで絵や音や映像を作る、くらいの使われ方
- 芸術の歴史と接続可能なもの
- Creativeという言葉に引っかかる人が多い
- 単なる言葉でそれだけのこと
- 他のプログラムがクリエイティブでないとかそういう訳じゃない
- 英語の受け取り方にも齟齬があるかも
-
クリエイションとは本来、キリスト教の基本的なんか教儀である「無からの創造」を示す概念
-
- 「表現のための仕組み(道具)を作ること」と定義するのはどうだろうか
- コンピュータに泥臭さを持ち込む
- リベラルアーツのためのプログラミング
- そこでまた「芸術的とは何なのか」という疑問が起きる
-
Creative Codingと呼ばれる前にもそのようなジャンルは存在した
- Software Art, Artist-designed Software
- グラフィックに限らず、電子工作やデバイスも含む
- コンピュータで作るものの中に、美術的な要素が入ったもの
- 実用性とは異なる目的のもの
- 使う言語も表現に特化しているか、非エンジニア向けに簡略化されている印象がある
- ゲームとの違い
- インタラクティブである点は共通する
- 視覚効果も技術的な面で共通する部分は多い
-
NO FIGHT, NO TIME LIMIT, NO HIGH SCORE, NO MONSTERS, NO WINNER, NO LOSER, JUST PLAY – LIA
- 文芸的プログラミングとの違い
- 文芸的プログラミングはスタイル
- 本を書くようにプログラムを書く
- 趣味のプログラミングとの違い
- 単にコードを書くのが好きというのであれば、エンジニアは仕事でコードを書き、息抜きでコードを書いている
- Software Art, Artist-designed Software
-
いつからか(2010年代前半?)Designer NewsなどでCreative Coderの募集が出るようになった
- Googleの検索結果を見ていると2012年くらいに募集が出ている感じ
- 既に自分でCreative Coderと名乗っている人はいた
- Creative Technologistという人もいる
- 既に自分でCreative Coderと名乗っている人はいた
- 内容的にはプログラミングでインタラクティブなWebコンテンツとかアプリ、インスタレーションを作る
- Processing, openFrameworks, Three.jsなどが使える人材
- 無目的にコードで何か表現を行う、というのとは違う
- もともとの意味からは変わって、商業的な狭い範囲を意味するものになってしまった感がある
- こういうのが単体で仕事になる時代になったんだなぁと思った記憶がある
- 学生時代にこういうのをやってた人は広告業界でWebやインスタレーションを作るか、教員になっていた
- あとは単発で美術館などで作品の開発
- 意外とGoogleに居たり(辞めてたり)する
- Ken Frederick
- Reza Ali
- Google Data Arts Team https://github.com/dataarts
- Experiments https://experiments.withgoogle.com/
- Google Creative Lab https://github.com/googlecreativelab
- Google Zoo
- Google ATAP http://atap.google.com/
- 2019年にInstagramで求人があった
- GLSLとJavaScript、Spark AR Studio
- OpenGL/GLSL shaderとJavaScriptを1年以上書いていることが最低条件、メディアアートの学士、openFrameworks, Processing, Cinder, Max/MSP, Unity3d, After Effectsなどの経験があると良い
- デザイン会社
- Hudson Powell
- Pentagram
- Universal Everything
- The Barbarian Group
- Hudson Powell
- 学生時代にこういうのをやってた人は広告業界でWebやインスタレーションを作るか、教員になっていた
- 世代交代というか、ある程度ジャンルとして認知されてからと、その前で目立つ人の指向性や作品の質が変わった気がしている
- Creative Codingを見てCreative Codingをやりたくなった世代?
- 自分もそうといえばそうなのだが、ジャンルの外の要素をいかに取り込むかという意識があるかないか?
- 歴史との接続をしようとしているか否か
- 接続の仕方、語り方の問題
- 権威を借りようとしたり、価値を吊り上げようとしたりしているように見える
- こじつけ
- 接続の仕方、語り方の問題
- 歴史や思想が継承されておらず、作るものや参照点に偏りがある
- Generative Art, Algorithmic Artと呼ぶ方が近い
- オンスクリーンに閉じている
- それはそれで別にいいのだが、自分の興味とは少しずれている
- Processingは元々Macromedia mindというように、Flash的なものをコードでという意識があった
- そういう意味では美術やデザインの延長で、コードを使うという方向は納得できる
- 自分の場合はコンピュータやプログラミングの根源的な部分に遡って、音やグラフィックを考えたい
- 幾何学図形を使うから美術で、三角関数を使うから数学で、美術と数学の組み合わせであるというのではなく、どちらがどちらであるかがわからなくなる領域
- あるいは、コンピュータである以上はどこまで行っても数学であることを認め、そこから新たに視覚的な効果を立ち上げる
- 同じようなことを繰り返しており、深まっていかない
- 手法の共有、ライブラリ化
- コンピュータサイエンスに近づき過ぎると、見えなくなるものが出てくる
- コンピュータで動作する以上は、全く無視することもできない
- Poetic Computing
- poeticの意味を真剣に考える
- アルゴリズムは効率化が目的だが、それ以外に面白さや美しさという指標を導入してみる
- あるいは原理を理解しやすくするためにあえて最適化しない、など
- 絵作りの質感に対する実践は進んでいる
- コードによる試行錯誤
- パラメータの調整
- よりフィジカルにコードと向き合う
- 目で結果を確かめて調整、の繰り返し
- 他のジャンルからの刺激
- Creative Codingを見てCreative Codingをやりたくなった世代?
- コードによる表現それ自体ではなく、何かしらの演出など副次的な存在になってしまっている
- 他に楽に実現可能な代替手段があればコードを書かなくてもよい
- かといって単に隙間を探し続けるのも不毛
- Processing以前のBASICなどでグラフィックプログラミングを教える書籍に数学的な概念を応用した例がある
- 逆にプロトタイプやすぐに絵を出すために作られたはずのProcessing以降にAPIから外に出るようなものが少ない印象
- Googleの検索結果を見ていると2012年くらいに募集が出ている感じ
-
HowではなくWhyについて考えたい
- 我々の世界に対する眼差しをいかに変えたか
- 道具やメディアによって人間が外部化するもの
- そしてそれを足がかりにして思考や技術を深めること
- 今まで自分たちが創造性だと思っていたものがどう変わるか
- ある手続きに従って自動的に絵なり音響を作るにはプログラミングが適している
- 人間の力では有限の時間内に終わらないような膨大な手続きを可能にする
- 人間の身体能力を超えた出力
- 高速、巨大、極小、正確
- 元々は自動化が目的だった
- 大量生産、複製
- 人間にとって正確に描くことは難しいが、コンピュータにとってはラフに描くことが難しい
- コンピュータは幾何学が苦手
- コンピュータにとって円や四角は何なのか
- 数値の羅列
- 関数の定義
- APIを使うことと、自ら定義することの違い
- 美術における素材やメディウムと向き合うこと
- コンピュータアーキテクチャへの理解
- 数値の羅列
- 開発環境の違いによるメンタルモデルの違い
- OpenGL(API)とGLSL(シェーディング言語)
- 画家視点とキャンバス視点
- PixelとVector
- 印象派、キュビズム、新表現主義などのような括りになる時は来るのか
- ディスプレイ派
- 線をどのように引くか
- line(0, 0, 100, 100);
- vertex(0, 0); vertex(100, 100);
- point(0, 0); point(1, 1); ... point(99, 99); point(100, 100);
- 数学的には
- 陰関数(The Implicit Form)
- 陽関数(The Explicit Form)
- パラメータ形式(The Parametric Form)
- 数学において、陽関数より陰関数の方が表現力が高いとされる
- 陽関数で表せない陰関数がある
- y軸に平行な直線を表現できない
- 陽関数で表せない陰関数がある
- 陰関数(The Implicit Form)
- シンタックスの解釈と人間の目の解釈の違い
- 可塑性
- 途中で色を変えたい、点線にしたい、曲げたい
- OpenGL(API)とGLSL(シェーディング言語)
- 個人的なモチベーションとしては、色や形をもっと自由に扱いたい
- ProcessingなどのAPIでは円や四角が既に定義されており、それの描画を組み合わせる
- あくまで描画だけであり、重なった点を抽出したり領域を塗りたかったりしても、別途形状を定義して計算しなくてはならない
- 実体があるオブジェのように扱うにはさまざまなプログラムを書く必要がある
- ProcessingなどのAPIでは円や四角が既に定義されており、それの描画を組み合わせる
- 我々の世界に対する眼差しをいかに変えたか
-
Creative Codingを支える技術
- ProcessingやopenFrameworksなどはOpenGLの糖衣構文なり、すぐに視覚的表現が使えるような環境
- 言語としてメンタルモデルを作るようなものではない
- グラフィックプログラミング一般的なアルゴリズムに即したもの
- Design By Numbersは紙とペンというメタファー
- Paper.jsはデザイナーのメンタルモデルに合わせて作っている
- 博士論文で自分なりのモデルや計算系を作り、人の認知変容を起こすことを目的にする
- Pts.jsは線形代数
- Pts.pyもできた。AI-friendlyとのこと。
- William NganはSoftware Structuresにも関わっている
- Context Free Art
- 言語としてメンタルモデルを作るようなものではない
- ProcessingやopenFrameworksなどはOpenGLの糖衣構文なり、すぐに視覚的表現が使えるような環境
-
Generative Art
- 解析的に作られているか数値的(実験的)に作られているかで何らかの分類は可能か
- この言葉選びが正確かどうかがわからないが、言いたいことを具体例で挙げると
- 幅100px、高さ100pxの描画領域に、x=0, y=0に1px四方の正方形を描く
- 毎フレームx座標に+1、y座標に+1動かす
- というものがあったとして、初期値を与えて指定フレーム分進め、結果を観察することもできるが、これはx=yという式の変数に値を入れてプロットしたものと同じである
- 逐次実行して結果を表示するものと、すでに結果を知った上でコードにすることの違い
- データビジュアライゼーションでもexplanatory(説明的)なものとexplorately(探求的)なものがある
- explanatoryは分かりやすく伝えるために視覚化する
- exploratelyは何か洞察を得るために視覚化する
- データビジュアライゼーションでもexplanatory(説明的)なものとexplorately(探求的)なものがある
- 逐次実行して結果を表示するものと、すでに結果を知った上でコードにすることの違い
- オブジェクト指向と関数型
- 決定論
- 解析的解法と数値的解法
- 解析的解法が数学的に綺麗とはどういうことか
- 数値的解法
- モンテカルロ法など
- この言葉選びが正確かどうかがわからないが、言いたいことを具体例で挙げると
- 生成という言葉を簡単に使いがち
- 何を持って生成とするか
- 数学における生成
- R・トム『構造安定性と形態形成』
- 群における生成元
- 線形代数の生成系
- 美術における生成
- 生命っぽいものを感じるかどうか?
- 向井周太郎『生とデザイン』
- 生命っぽいものを感じるかどうか?
- これは六角形の各辺の中点を繋いで形を作っていて生成っぽい
- アルゴリズムの可視化、美術的な技法のシミュレーションの先にある計算された自然さ
- 未知なる生き物の柄、形態
- 自己組織化
- 最適化
- 画像編集ソフトの機能や効果を使うこととグラフィックライブラリのAPIを使うことの違い
- 結局は数学に回収されるのか
- アルゴリズムの選択、考案
- データ構造
- 2分木など
- C言語であれば構造体に2つの変数を持たせて繋いでいく構造で、メンタルモデルとして木をイメージする
- 2分木など
- デジタル・マテリアリズム
- 直接対象に触れず、コードを介して行う
- WYSIWYGでない
- 美術、美学との接点があるもの
- 点・線・面の定義とその構成
- 例えば画面や紙に線を引くとすると、次にどこにどんな線を引くかは前の状態に引きずられる
- 繰り返し処理で一括処理するとそこが考慮されない
- コンピュータや機械はそのようにプログラムしない限りは以前の状態に引きずられない
- コンピュータ上でどうモデリングするか
- そこに作家性が表れるのではないか
- 例えば画面や紙に線を引くとすると、次にどこにどんな線を引くかは前の状態に引きずられる
- ソクラテス「形の美」
- 「何かとのかかわりで美しい」ものと対比「それ自体で美しい」
- 幾何学図形
- 「何かとのかかわりで美しい」ものと対比「それ自体で美しい」
- プラトン「学びに伴う快」
- 最も重視されるべきは「正しさ」という規準であって「快」という規準ではない
- アリストテレス「すべての人間的事柄」は「疲労する」ゆえに「持続的ではありえない」
- 快も持続的でないが、固有の快は活動を促進する
- 活動は減退せざるをえないとはいえ、活動に伴う快はかえって活動の持続を促す
- 好きこそものの上手なれ
- 快も持続的でないが、固有の快は活動を促進する
- 遠近法など世界の見方を反映したもの
- キュビズム、印象派、表現主義などの主義や形式による分類
- 美術においては写実表現の時代が長い
- 幾何学形態を描くのは事件だった
- 中西夏之
-
似たような画面上の現象が一定の規則の中で新たに新たに繰り返されている。一定でありながら何かが新たに、新たになっている。滝のかたちは一定のかたちを保ちながら水はいつも新しい水が流れているように。
-
- ファインアートなど、コンピュータを使用しない美術制作においては、目と手と作品が直結している
- 油絵であればキャンバスに絵の具を塗ること
- 彫刻であれば石や木を彫ること
- 素直に対応させれば、エディタに書いたプログラムが作品ということになる
- しかしそのように考える人は稀だと思う
- 通常のプログラミングにおいては、コードの品質が重視される
- ディスプレイに表示されたグラフィック、出力されたものが作品
- そう考えると写真や映像に近い
- 特定の媒体、手順を守らなければ存在しえない
- そう考えると写真や映像に近い
- 指示書、あるいはテキストが作品
- コンセプチュアルアート
- Vito Acconci
- Sol LeWitt
- Casey Readsがコードと映像を同時に見せるのはこの辺りを意識しているはず
- しかしそのように考える人は稀だと思う
- 造形とアプローチが同義であるデザイン
- Wim Crouwel
- 点・線・面の定義とその構成
- Golan Levinは紙からコードで作っている
- https://twitter.com/golan/status/1472819559791013891
- 現実の紙を模する必要はないと思うが、要素を自ら定義し構築するのは重要だと思う
- 古堅真彦は「展覧会を開くとして、その一部をプログラムによって作る」という課題を出す
- Philip Galanter
- 長い時間をかけて形づくられていくもの
- バスの車掌「時間」が溶けこんだ「工藝的なる声」柳宗悦
- 解析的に作られているか数値的(実験的)に作られているかで何らかの分類は可能か
語源は?
- ジョン前田『Creative Code』2004年
- これに対するリスペクト?
- Ira Greenberg『Processing: Creative Coding and Computational Art』 2007年
批評
- あまり見かけないのは何故か
- できる人が少ない
- 技術が分からない
- ツール一発でできることやクリシェと新奇性がある部分の見分けがつかない
- 大量の作品を見るか、細かくシーンを追っていれば分かる部分もある
- 松浦亜弥の『Yeah!めっちゃホリディ』をユリイカか何かで批評していた人が、「../」から「階層を上がる」という意味を全く受け取れていなくて、的外れな論を展開していた
- それはそれで面白い誤読とも言えるが、間違いは間違い
- ツール一発でできることやクリシェと新奇性がある部分の見分けがつかない
- どう評価するかの基準が不明
- 単に目立つ人の名前が挙がるだけで批評性がない
- 何を古典とするか
- Computer Graphics and Art などのテキストを読む
- アウトプットの美的な判断はできる
- コードの善し悪しや実装の難易度は評価に含まれるのか
- 美術における技法や技巧はどれくらい評価の対象になっているか
- あるいはコード自体に詩的な要素が入っていたり、機知に富んでいたりすることが評価に値するのか
- コードが読める人にしか評価できない
- 詩が批評できるか
- 動画における撮影や編集技術に近い感覚かも知れない
- 良いアルゴリズム
- 人間が読みやすい・理解しやすい
- 未知の結果を、手順に従えば、誰でも得ることができる
- たくさんのメモリを消費しない
- 結果を得るまでの時間が短い
- どんな入力に対しても必ず停止する
- GRAPHIC DESIGN MANUALのThe dotをコード化
- グリッドを設定し、その内部でランダムに点を打ったもの
- Poisson Disc Samplingを利用したもの
- 美的にも技術的にもこちらの方が高いと言える
- 人間の目や感覚を基準とした場合
- アルゴリズムの選び方、その実装、パラメータの調整はそのまま絵を描く際の技術力と言えるのではないか
- 技術が高いから良い訳でもない
- 美的にも技術的にもこちらの方が高いと言える
- アルゴリズムのネタ的消費
- 技術が分からない
- そもそも美術の文脈で批評に耐えうる強度を持っていない
- そんなことはないはず
- generative art magazine ARTCODE
- Marius Watz
- 民藝運動のような既存の美術に対するオルタナティブになる可能性
- というようなことを博士論文で書けると良いね
- できる人が少ない
参考
- Johm Maeda, Creative Code
- Margit Rosen, A Little-Known Story about a Movement, a Magazine, and the Computer's Arrival in Art
- Herbert W. Franke, Computer Graphics-Computer Art
- 気になって調べていたタイミングでTwitter始めた
- The MIT Press Software Studies
- Critical Code Studies
- Coding Literacy
- The Software Arts
- Nick Montfort, Exploratory Programming For the Arts and Humanities
- 今の興味に合致している
- 大泉和文, コンピュータ・アートの創生:CTGの軌跡と思想 1966–1969
- Golan Levin and Tega Brain, Code as Creative Medium
- Carl Lostritto, Computational Drawing
- Lillian F. Schwartz, The Computer Artist's Handbook
- Lillian Schwartzの仕事を調べたい
- 自分でシェーダーを書く必要性を直観した理由
- https://computerhistory.org/blog/lillian-schwartz-pushing-the-medium/
- Billy Klüverも調べたい
- E.A.T.について存在は知っていたが、具体的にどうすごいのかを知らなかった
- Lillian Schwartzの仕事を調べたい
- Kate Vass Galarie
- Art and technologyに特化したスイスの画廊
- 四半期ごとにコレクター向けの教育的な資料を公開
- Computational Design 東京都立産業技術大学 松井実
- Creative coding algorithms & techniques
- Unconventional Computing Lab
- Opt Art
- Linear Optimization (Linear Programming)
- 線型計画法を視覚芸術に応用
- ReCode Project
- Conditional Studio: Art and Software 2000 – 2020
- Aesthetic Programming
- runme.org
- Georg Nees, Generative Computergraphik
- Joan Shogren Computer Art Pioneer
- Weird Drawing Software
- How To Draw a Line
- 自然計算
- 計算美学
- 計算幾何学
- 数理工学
- プログラム意味論
バックリンク 5
Blender
フリーの3Dモデリングソフト 2.8で大きな変更があって、使い始めた 2Dもいける モーショングラフィックもいける スクリプト(Python)での操作もできて、…
Processing
Processing 設計やロジックを組み上げてからコードを書くのではなく、スケッチ感覚で実行しながら確認する方法を重視したことで、自分のような人間にとって敷居…
仕事
経験から思うこと 出会った人を大事にする その人が偉くなって仕事をくれる それが可能かどうかは職種による 自分の場合はかつてのディレクターから開発、エンジニアか…
数学と芸術
from 数学 もともと数学は直感的なものだった 長方形を90度回転させても面積が変わらないことを「眼で見て」積の可換性を説明する 理解を進めていくと、抽象的に…
森川幸人『マッチ箱の脳(AI)』
from 読んでる本森川幸人『マッチ箱の脳(AI)』 2000年に書かれた本 2013年に電子書籍化 この時点で最新ではないが、基本的な原理は同じであると主張し…