こんにちは、コンスキです。
今回は、アートを簡単に作ることができる「Processing」というプログラミング言語をご紹介します。
Processingのいいところ
Proccessingのいいところは、とってもシンプルなコードでアニメーションを作れるところです。
正直言ってProcessingというプログラミング言語は広く知られているとは言えないかもしれません。
しかしそれは、あることに特化しているプログラミング言語だからだと思います。
その「あること」とは、コマ送りです。コマ送りが簡単にできるのでアニメーションを作るのに適しているんです。
Processing以外のプログラミング言語でコマ送りをしようとすると、かなり複雑なコードを書く必要があります。
例えば、次のようなアニメーションを見てください。
このようなアニメーションをPythonを使って描こうとすると次のようになります。
import tkinter as tk
import random
root = tk.Tk()
root.geometry("700x400")
canvas = tk.Canvas(root, background="#fff")
canvas.pack(fill=tk.BOTH, expand=tk.YES)
fps = 60
def draw():
canvas.create_line(0, 0, random.randint(0, 700), random.randint(0, 400))
root.after(round(1000/fps), draw)
draw()
root.mainloop()
なんか、ぱっと見で理解できない感がすごいですよね。
Javaであっても、C言語でもあっても大体こんな感じの複雑なコードになってしまいます。
ましてや、コードがシンプルで有名なPythonであってもこんなに複雑であるということが難点です。
一方で、Processingを使うと次のように書けます。
void setup() {
size(700, 400);
frameRate(60);
}
void draw() {
line(0, 0, random(700), random(700));
}
コードの分量も減りましたが、何より構造がシンプルになりましたよね。
2つの関数を定義するだけで、今のアニメーションを作れるんです。
Processingを使った作品
アニメーションに特化したProcessingだからこそできるのが大規模な幾何学アニメーションです。
YouTubeにはProcessingを使って作られた幾何学アニメーションがたくさん存在しています。
直線だけでなく、曲線や形が複雑な図形、時には抽象化された画像を用いて作られていることがあります。
それらの中から僕のお気に入りの幾何学アニメーションを紹介します。
映像?アニメーション?
まずはこちら↓。
これは映像なのか?それとも幾何学アニメーションなのか?と思わせてくれる作品です。
アナログとデジタルの境目で表現したような模様が好きです。
これがプログラミング言語一つで作られていることがなんとも不思議ですよね。
シャー芯
お次はこちらです↓。
開始早々「シャー芯が落っこちてきた!」って思いました。
その後、次第にリズムを刻み始めちゃうところ、好きです。
終始不気味な雰囲気が漂っていますよね。
まるで砂絵
3つ目はこちら↓です。
デジタルアートなのに、砂絵を彷彿とさせるアニメーションです。
小さい粒子のようなものが動き回っている様子が面白いですよね。
人の模様をどうやって作ってるのか気になります。
Processingを使ったゲーム
こちら↓はアニメーションではなくゲームですが、Processingを使って作られているようです。
ゲームが完成するのは16:00ごろです。
ゲーム作成と聞くとUnityなどのゲームエンジンを思い浮かべますが、そのようなゲームエンジを使わないで、Processingを使うことで比較的に簡単にゲームを作っているところが驚きですよね。
さいごに
知らないプログラミング言語って初めて名前を聞いときは、なんか怪しいって思ってしまうと思います。
しかし、ちょっと触れてみたり、その言語で作られた作品を見たりすると、その言語の良さがわかるのかもしれませんね。
今回ご紹介したProcessingも初めは聞いたことがなかったため期待していなかったのですが、だんだん良さがわかってきました。
興味があれば、ぜひ使ってみてください。
コメント