操作3、ブレンド
さて、3つ目の操作は、ブレンドだ。ドーナッツ形状をピラミッド形状とブレンドして、新しい形状を作るのを、見て欲しい。これまで以上に強力なやり方で幾何学的な変形を行なっているのが分かるだろう。君たちは、こういう操作を行うことが可能なんだ。
最初に戻ってGUIを使ってみよう。これであれば、クリックしてドラッグして出来上がりってな感じだ。ここで、構成物のデータフローグラフを作ってみる。しかし、真にパワフルなのは、それぞれのグラフのそれぞれのノードが、小さくまとまったプログラムだということだ。そして、君たちはこれらのプログラムを手に入れて直接操作することができる。 ちょっと見て欲しい。ピラミッド形状を移動させたら、ドーナッツ形状も動く。すると、なんか愉快な形状になった。しかし、それだけでなく、変数同士を接続することもできる。 ドーナッツ形状をピラミッド形状側に動かすと、ドーナッツ形状は動く。なぜなら、リンクさせたからだ。これらの形状はまた、名前と紐づけることができる。ピラミッドという形状を定義して、表現としてこれを入力して、Y軸を動かしてみる。もしくは、ここに数式を設定することもできる。そうすれば、YはXの2倍の速さで動く。そして、最終的に僕がやろうとしていることは新しいノードを追加することだ。 そして、このノードに対して僕は変数を定義することができる。変数の定義して、これをYとしよう。まず、このスクリプトノードが表示し、変数Yを定義した。これをポイント1としよう。そして、この変数をここで使ってみよう。この変数を変更すると、そのYの値も変更され、同じ表現になる。 今、僕はノードを変数で定義し、それを変更した。これは僕のデザインを通した探求の旅をしているようなものだ。これはシステム全てに及ぶ設定だ。板厚やレーザービームの幅なんかに適用できる。そして、僕はこれをデザインを通してSpring Expressionとして使うことができる。 これまで僕は、全てのブロックをつなぎ合わせるやり方をお見せした。これこそが関数表現なんだ。GUIインターフェースでも操作できるし、データフローグラフでも操作できる。それぞれのノードに対してプログラムを書くことができる。それにアルゴリズムを追加することもできるし、変数を定義し、それを色んなデザインに適用することもできる。 これが計算固体幾何学の特徴の全てということになる。これは、アルゴリズム的であり、変数的でだ。これはSolidWorksやFusion360などで決定的に欠けている要素でもある。これらのソフトウェアにはソルバが搭載されていないのだ。しかし、将来的には、ABのタンジェントを表現するなどの関係性を表現できるものが普及するようになるだろう。一番大きな問題は、過拘束の解消などの機能がないことだ。しかし、関数表現を用いれば可能なことなんだ。
2.5Dデータのエクスポート さらに続けよう。今回、3つの形状を作ったが、これらの形状を結合された形状にマージしてみる。もう一度やってみよう。そして、この形状をエクスポートしてファブリケートするとしよう。僕たちは2Dもしくは、2.5Dのビットマップを書き出す。接続すれば、これはメッシュの切ってくれる。 受講者: 質問です。2.5Dの意味がよく分かりません。 そうだね。これは三軸のミリングマシンのようなもので扱うデータのことを指していて、X軸、Y軸、そして高さ方向の軸を使う。しかし、高さはXとYに依存している。これが2.5Dである所以だ。これは言ってみれば3Dのようなものだが、球状のものを内包しているものは作れない。つまりベアリングと車軸みたいなものは作れないってことだ。なぜなら、このような形状にはひとつのXとYの座標に複数のZの値が存在するからだ。もし、XとYの関数において、Z軸の値が1つしか取れないのであれば、それは2.5次元ってことだ。 受講者:よく分かりました。ありがとうございます。 では、データをデスクトップにエクスポートしよう。そして、デスクトップを見てみよう。今僕がやったのは、Antimonyから、STLメッシュを書き出すという作業だ。ここでのポイントは、吐き出された形状は単なる三角形の集合体だということだ。設計情報は失われてしまったんだ。だが、今ここにあるメッシュは、ほとんどの3Dプリンタで読み込める形式のものになっている。これが、Antimonyを用いたファブリケーションのプロセスだ。
デフォーメーション さて、Antimonyの説明を終える前に、もうひとつ操作を加えてみよう。デフォーメーションだ。Repelして(弾いて)みよう。僕が作ったこの形状を掴んで、元に戻す。そして、出来たのがこれ。こいつを動かし回すと…このモデルはこれが嫌いなように振る舞う。つまり、弾かれるんだ。これがRepellingだ。
僕は、Antimonyを使うときは、常にこの設定を適用している。デフォーメーションをすることだ、複雑な設計を行うときも混沌とした状況を洗い流すかのようにクリアにしてくれる。これは、例の1つに過ぎない。関数領域を用いて形状を作りやり方には、境界表現のようなアナログさは微塵もない。 ただし、Antimonyには完全なレンダラーが搭載されていない。でも、オブジェクトの色を設定することはできる。色をデザインの一部として使用することはできるんだ。さて、これでAntimonyに関する説明を終えよう。
(つづく)
講義の目次は【和訳版】FabAcademy 2016からご覧ください。
※この記事はFabAcademy 2016 におけるニール・ガーシェンフェルド教授(MIT)による講義動画をもとに作成しました。正確な訳ではないので間違っていたら指摘いただけるとありがたいです。