見出し画像

Celtic String

いつの頃からか、「古代ケルト」に興味を持つようになっていた。ブリテン島、エリン島に点在するメンヒル、ドルメン、そしてストーンサークルの謎と、古代ケルトとが、思考の中で結びついてしまったからだろうと思われる。巨石遺構は、ケルト民族が、ブリテン島、エリン島に上陸する以前のものと言われているので、実際は、関連はないのだろうと思われる。

そして、いつしか、ケルトの民の芸術や文化に触れるようになっていった。20年以上前に、アイルランドへ行ったのだが、あちらこちらに聳え立つ、ケルト・ハイクロスに刻まれたケルト文様を見て感動し、ダブリンのトリニティ・カレッジではケルズの書を見て感動したものだった。

ケルトの組紐文様「Celtic Knot」は、ケルトの絵師が、技巧を凝らして描いたものだが、なんとなく、あれをコンピュータで描けないか、と思って、10年くらい前から、あれこれとやっている。

最初は、Windows の上で、C#でアルゴリズムを作ってみた。ある特定の条件ではうまく描けるが、それ以外の条件ではうまくできないことがわかって、それっきりになっていた。

最近、Houdiniを使ってできないか、と思って、少しやってみていた。

結果としては、C#でやったときと同様に、ある特定の条件ではうまく描いてくれるが、それ以外の条件では、やはりうまくないことがわかった。

「Celtic Knot」は、一筆描きで描かれるので、タートル・グラフィックを応用して描くように設計してある。そして、亀「タートル」は、簡単なコマンド・インタプリタで動くように設計してある。ところが、この処理の負荷が思いのほか大きくて、少し大きな絵を描こうとすると、数十秒程度の時間がかかる。

うまくできない条件としては、紐と紐が接近しすぎる場合、紐同士が交差する角度が小さい場合、1箇所で何本もの紐が交差する場合、などがある。

亀「タートル」を動かすコマンドは、C#では、いくつも用意してあって、ベジエ曲線を引くコマンドまであったが、Houdiniに実装したコマンドは、いまのところ「円弧を描く」ひとつだけ。だが、この「円弧を描く」コマンドが、結構役に立つ。

出来上がりは、平面的な、しかも2〜3色で構成される絵になるわけで、こんなことに高性能な3DCGソフトウエアのHoudiniを使うのはどうか、というところだが、以前より、Houdiniを使って平面的な絵を描くことをやってきているので、これは、僕のひとつの個性と言っていいのかもしれない、と思う。

今は、とりあえず、思いついたことをやってみて、「Celtic Knot」を描く「コツ」や「ノウハウ」を得ようと思っているところ。

しかし、その昔、ケルトの絵師たちが描いたような、見事な「Celtic Knot」を描くことまでは、おそらくできない。

なので、僕のタイトルは「Celtic Knot」ではなく「Celtic String」ということにしてある。

いや、「Celtic」を使うことはおこがましいから、「Pontic String」がせいぜいかもしれない。


この記事が気に入ったらサポートをしてみませんか?