2019の6日目の記事です。私自身は男性なのでPyladiesに参加したことはありませんが、色々な分野のテーマで開催されていて、楽しそうで羨ましく感じています。connpass主催プライベートでは最近はRustを書いたりしています。Artとは「ジェネラティブ・アートとは、コンピュータを使い、創造のプロセスの一部に意図的に偶然性を取り入れたプログラムで作られたアートのことである。lab.sugimototatsuo.com)どんなものかピンと来ない場合はGoogle画像検索で作品をみてみましょう。感じがつかめると思います。Modeで作品を作ってみます。Processingは電子アートとビジュアルデザインのための統合開発環境です。簡単にいえば、プログラミングでお絵かきができるソフトウェアと考えてください。デフォルトではJavaを単純化した言語を使用しますが、プラグインをインストールすることによってPython2.7でProcessingを使用できるようになります。ん、Python2系はもうすぐお亡くなりになるはずでは。Modeが裏側でJythonを使っているためです。最近はJythonはあまり活発に開発されていません......。Processingで簡単なプログラムを書くのには特に困ることはありません(たぶん)。Processingをインストールしてみましょう。Processingのインストール以下のページからインストーラをダウンロードしてインストール。OSXに対応しています。ProcessingのインストールProcessingを起動して、画面右上のメニュー「モードの追加」をクリック。3」を選択してinstallボタンをクリック。実行モードを「Python」に変更、エディタ部にプログラムを書いて実行すると、実行結果が別ウインドウで表示されます。雪の結晶を描いてみようクリスマスっぽいので雪の結晶を描いてみます。Referenceを参照してください。軸を6本描いてみる以下をProcessingのエディタ部に入力して実行してみてください。座標の回転6本の軸が表示されました。ポイントはtranslateとrotateです。translateで原点を画面中央に移動し、rotateで30°ずつ座標を回転させ、lineを呼び出すことで、放射状に線を引いています。軸から枝を生やしてみる6本の軸から枝を生やしてみましょう。3)ポイントはpushMatrixとpopMatrixです。pushMatrixは座標の状態をマトリックススタックにプッシュし、popMatrixは座標の状態をマトリックススタックからポップして復元します。簡単に言うと、popMatrixを呼び出すと、translateやrotateで変形した座標系をpushMatrixした状態まで戻すことができます。draw_branch関数では座標を60°(または-60°)回転させて枝を書き、座標系を復元して復帰しています。Artとは意図的に偶然性を取り入れた作品なのでした。私たちの雪の結晶は今のところ偶然性がありません。偶然性(ランダム)を取り入れた完成形のソースが以下です。軸から枝を生やす位置と、枝の長さをランダムにしました。実行するたびに微妙に異なった形の雪の結晶が表示されるはずです。何度か実行させてみると、枝の角度を変えてみたり、枝が重ならないように制限をかけるなど、改良をしてみたくなるかもしれません。Artの入門の次の一歩を踏み出しています。Artに入門することができました。この記事では言及していませんが、Processingでは図形をアニメーションすることも簡単にできます。AI系のWebサイトの背景とかで見かけたりするパターンです。みていると複雑なパターンを描いていて飽きませんが、仕組みは単純です。円周上を動く点をランダムに配置し、点と点が近くなったら線を引いています。Processingではアイディアをすぐ形にしてみることができます。あなただけの作品を作ってみてください。Artに興味を持たれた方は以下の書籍も当たってみてください。calendarmeganehouserExcelおじさんを卒業したPythonおじさん。ハウスとよさこい踊る。すごいHaskell本読んでく。