エンジニアtype - エンジニアのシゴト人生を考えるWebマガジン

ビーズデザイン設計に見る、「今の当たり前を疑う」ことの大切さ【連載:五十嵐悠紀⑯】

公開

 
天才プログラマー・五十嵐 悠紀のほのぼの研究生活
先読み(5)五十嵐さん_100px.jpg

筑波大学  システム情報工学研究科  コンピュータサイエンス専攻  非数値処理アルゴリズム研究室(NPAL)
五十嵐 悠紀

2004年度下期、2005年度下期とIPA未踏ソフトに採択された、『天才プログラマー/スーパークリエータ』。筑波大学 システム情報工学研究科 コンピュータサイエンス専攻 非数値処理アルゴリズム研究室(NPAL)に在籍し、CG/UIの研究・開発に従事する。プライベートでは二児の母でもある

ビーズ細工で作られた作品

ビーズ細工で作られた作品

右のような作品を、見たことがありますか?

これは”ビーズ細工”と呼ばれるもので、小さなビーズ一つ一つを1本のワイヤー(テグス)でつないで立体的な作品を作っていきます。

以下の図のような制作手順が書かれたイラストを頼りに作っていくもので、手芸関連のショップなどに制作キットが売っていたりします。

制作キットを購入してきて作る。これまではこれが手芸を趣味として嗜む人の常でした。はたして、初心者が自分だけのオリジナル作品をデザインすることはできないのでしょうか?

専門家がデザインした制作キットの作り方説明図。通常はこれを見ながら1つ1つのビーズをワイヤーに通して作っていく

専門家がデザインした制作キットの作り方説明図。通常はこれを見ながら1つ1つのビーズをワイヤーに通して作っていく

わたしが最近行った研究は、コンピュータを用いることで、ビーズ細工初心者の方でも簡単に設計できるようにするというものです。

コンピュータで設計をしたいので、3次元メッシュと呼ばれる、頂点、辺、面の組み合わせで形状を表現していきます。

当たり前のことを逆にしてみると何が起こる?

ここで一番簡単に思い付くのが、頂点をビーズ、辺をワイヤーとして3次元メッシュを作ればいいのでは?ということです。しかし、試行錯誤を繰り返していくうちに、少し違和感があるかもしれませんが、辺をビーズに対応させるとうまくいくことが分かりました。

##

図のように配置するだけで、より自由度の高いデザインの作品が生み出せる

また、3次元メッシュというと、通常、面が三角形から成るものが多く使われています。シミュレーションのために四角形メッシュをわざと使う、ということもありますが、たいていが三角形メッシュです。

三角形である理由は、3点決めれば平面が1つ決まるため、形状が歪むこともなく一意に決まるからです。よって、多角形のものをモデリングする時にも、わざと三角形の集合としてデザインすることがほとんどです。

しかし、わたしはあえて六角形を主とした構造を用いました。そうすることで、ハチの巣でも知られている、「ハニカム構造」というものに近づきます。1つ1つの面は平面ではなくなってしまいますが、その代わりに「自由度の高い形状を少ない辺の総数でデザインできる構造」になります。

##

従来の発想から思考を停止させるのではなく、「もっと良い方法があるかも」と疑問を持つことで、新たな技術を発見するかもしれない

ビーズは辺に対応させたので、形状を表現するための辺の数はなるべく減らしたい。六角形を使うことで自由度が高くなるので、表面が滑らかな形状を少ない辺の本数で作ることも可能になります。

従来の三角形メッシュで作られた3次元モデルも頂点と面の対応関係を入れ替えることで、簡単にこの構造へと変換することができます。

一見当たり前のように思われていることを、入れ替えてみる。そうすると、そこには新たな構造が生まれ、違った意味を持ち始める。今回の研究では、これをいろんな箇所に適用することができました。当たり前のことを疑ってかかる、これが技術の新発見につながる第一歩です。

ヒトとコンピュータ、それぞれの「得意」を活かす

辺をビーズに対応させたことで、同じ大きさのビーズを使って作成する場合には「すべての辺の長さが等しいメッシュをモデリングすること」が問題となります。

3次元モデリングで大変なことの一つに、「頂点の位置の決定」が挙げられます。頂点をどこに置くかによって、形状の見栄えが変わってきますが、この頂点の位置を3次元座標(x,y,z)を使ってユーザーがいちいち指定するのがとても大変なのです。しかもすべての辺の長さが等しくなるように人間がモデリングすることは到底できません。

どのような形状にしたいかをユーザーがジェスチャーで操作していくと、コンピュータが自動で頂点の位置を計算して対応する形状を作っていく

どのような形状にしたいかをユーザーがジェスチャーで操作していくと、コンピュータが自動で頂点の位置を計算して対応する形状を作っていく

そこで、辺の長さ、頂点座標をコンピュータがシミュレーションして自動計算できるようにしました。一方、どのような形状にしたいかのデザインはユーザーにしかできません。逆に言えば、ユーザーはこの形状デザインだけを指定すれば良いのです。

コンピュータがやるべきことと、ユーザーがやるべきこと。これをはっきり分けて考えることでこのアイデアが生まれました。ユーザーは明確に頂点の位置を指定しなくて良いことから、ジェスチャーだけで編集操作ができると判断したわけです。ジェスチャー操作だと、直感的にデザインできますし、PCだけでなく、スマートフォンでも簡単に操作できそうですね。

実は大切な、ビーズと数学の意外な関係

ビーズを実際に制作するためには1本のワイヤーでつないでいきます。つまり、一筆書きですね。一筆書きは「オイラー経路問題」といって、一筆書きできる図形(オイラーグラフ)とできない図形が数学的に証明されています。ビーズを辺に対応させておき少し工夫をすることで、オイラーグラフに帰着させることができたのです。これで実際に制作するためのワイヤー経路も自動計算できます。

1本のワイヤーで制作するということは、一筆書きと同じ

1本のワイヤーで制作するということは、一筆書きと同じ

このように、数学は手芸などの一見関係なさそうな構造にも隠されていることが分かります。

ここに述べたアイデアは簡単に思い付きそうですが、実際には2年ほど掛けてやっとたどり着いたものです。裏には多くの試行錯誤とボツになったアイデアがたくさんあります。

既存のビーズ作品をひたすら観察したり、プロのビーズデザイナーの方にインタビューをしたり。ワークショップで研究途中のシステムを発表したり、デモ展示をしてシステムを実際に触ってもらったり。たくさんのご意見をもらいました。ワークショップの際の様子はニコニコ動画でも生放送で配信されたので、ご存じの方もいらっしゃるかもしれません。

パーソナル・ファブリケーションで、「欲しいものは自作」が当たり前?

特に近年「パーソナル・ファブリケーション」という概念が急速に注目を浴びるようになりました。これは個人レベルで欲しいものを何でも作れる社会を実現することを意味しており、レーザーカッターや3次元プリンタなどの個人利用を前提とした技術開発や施設も増えてきています。

ビーズデザインシステム「Beady」でデザインしたオリジナルなビーズ作品

ビーズデザインシステム「Beady」でデザインしたオリジナルなビーズ作品

コンピュータがパーソナル化しPCとして一般家庭に普及したように、ファブリケーションもパーソナル・ファブリケーションとなり、当たり前のものになる社会がもうやってきているわけです。

大量生産された商品の中から欲しいものを「選択」するのではなく、自分が欲しいものを自分で「製造」することが当たり前の世の中になる。そんな時こそ、自分の欲しいものを設計・制作する支援ツール・技術は必要不可欠になるでしょう。

今の当たり前が未来の当たり前とは限らない。わたしたち研究者は、そのような5年先、10年先の世の中を想像しながら日々研究を行っています。

本研究の詳細にご興味がある方は、こちらのサイトをご覧ください。システムの動く様子など動画も掲載しています。