Grasshopperでボロノイについてお探しですね。
広告
Grasshopperでボロノイパターンを3D化しよう!穴あきフレームの作り方
建築デザインやプロダクトデザインでよく見かける、有機的で美しい網目状の「ボロノイ(Voronoi)パターン」。
Grasshopperを使えば、ランダムな点から自動でこの複雑なパターンを作ることができます。
でも、平面の線を描くところまではできても、実際に厚みのある立体データ(3Dモデル)にする段階で「あれ?どうすればいいの?」と悩んでしまう人も多いんじゃないでしょうか。
この記事では、Grasshopperでボロノイパターンを作って、さらに穴の空いた立体フレームとして3D化するまでの手順を、できるだけわかりやすく説明していきます。
1. まずはボロノイパターンの基本を作ってみよう
ボロノイパターンを作る最初のステップは、パターンを描く範囲(枠)と、その中にランダムに配置する点を用意することです。
Grasshopperなら、いくつかのパーツ(コンポーネント)をつなぐだけで、あっという間に複雑なボロノイ図が完成します。
まず、パターンの外枠になる四角形を作ります。
「Rectangle」コンポーネントをキャンバスに置きましょう。
この四角形のサイズが、最終的なボロノイパターン全体の大きさになります。
次に、この枠の中にランダムな点をばらまきます。
ここで使うのが「Populate 2D」というコンポーネント。
「Rectangle」の出力を「Populate 2D」の「Region」につなげば、指定した枠の中に点が自動で生成されます。
点の数は「Count」のところにNumber Slider(スライダー)をつなぐと、パターンの細かさを自由に調整できて便利ですよ。
点の準備ができたら、いよいよメインの「Voronoi」コンポーネントの出番です。
「Populate 2D」で作った点を「Voronoi」の「Points」につなぎ、同時に外枠を揃えるために「Rectangle」を「Boundary」につなぎます。
たったこれだけで、ランダムな点を中心とした美しいボロノイ分割の線(セル)がRhinoの画面に現れるはずです。
まずはこの平面パターンの作成が、すべての土台になります。
2. フレームっぽく見せるために隙間を作ろう
平面上にボロノイの線ができても、このままだとただの線の集まりですよね。
これを建築のデザインや3Dプリント用のオブジェクトみたいな「フレーム状」にするには、各セル(多角形)の間に隙間を空けて、枠線を作る必要があります。
この隙間を作るには、各セルを少しだけ小さくする方法を使います。
セルを小さくするには「Scale」コンポーネントを使うのが一般的です。
「Scale」は形を好きな大きさに拡大したり縮小したりできる機能を持っています。
「Voronoi」から出てきた各セルの線を「Scale」の「Geometry」につなぎましょう。
ここで大事なのが、縮小の基準になる中心点です。
ボロノイの各セルは形も位置もバラバラなので、それぞれのセルの真ん中(重心)を中心にして縮小しないとうまくいきません。
そこで「Area」コンポーネントを使って、ボロノイのセルからそれぞれの重心(Centroid)を取り出します。
この重心を「Scale」の「Center」につなげば、各セルが自分の中心に向かって縮むようになります。
縮小率(Factor)には、0.8とか1より小さい数字をNumber Sliderで入力します。
これで、元のボロノイの線と縮小された内側の線の間に余白ができて、これが後でフレームの太さになるわけです。
ちなみに「Scale」の代わりに「Offset Curve」というコンポーネントで、一定の距離だけ内側にずらす方法もあります。
でも、セルの形によっては線が変になりやすいので、最初のうちは全体を均等な比率で小さくできる「Scale」を使う方がおすすめです。
3. 平面のパターンを立体にしてみよう
フレームの輪郭線ができたら、次はいよいよ面を張って、厚みをつけて立体化(3D化)していきます。
ここでは、外枠の四角形から、さっき縮小したボロノイの各セルをくり抜いたような「穴の空いた一枚の板」を作ることを目指します。
まず、面を張るために「Boundary Surfaces」コンポーネントを使います。
これは、閉じた線を入れると、その内側に面(サーフェス)を作ってくれる便利なやつです。
穴の空いた面を作るには、「一番外側の枠線(Rectangle)」と「内側の縮小されたボロノイセル(Scaleで作った線)」を両方とも「Boundary Surfaces」に入れる必要があります。
キーボードのShiftキーを押しながら複数の線をつなぐと、外枠と内枠を1つのコンポーネントにまとめられます。
もしここでうまく面ができない場合は、データの構造(Tree構造)が原因かもしれません。
入力部分を右クリックして「Flatten」を選ぶと、データの階層が平らになって解決することが多いです。
外枠の中に内枠の線がある状態として正しく認識されれば、きれいな網目状の面ができあがります。
面ができたら、最後に「Extrude」コンポーネントで面を押し出して厚みをつけます。
「Extrude」の「Base」に作った面をつなぎ、「Direction」には押し出す向きを指定するベクトルを入れます。
今回は上向き(Z軸方向)に厚みをつけたいので、「Unit Z」コンポーネントを使いましょう。
「Unit Z」にNumber Sliderをつないで厚みの数値を決めて、それを「Extrude」につなげば、立体的で存在感のあるボロノイフレームの完成です!
4. もっと面白いボロノイを作るためのテクニック
基本的なボロノイの立体化ができるようになったら、もっと複雑で実用的なデザインに挑戦したくなりますよね。
Grasshopperの良いところは、後からパラメータ(数値)を変えるだけで、形全体が自動的に変わってくれる点です。
ここでは、デザインをもう一段レベルアップさせるための応用テクニックを紹介します。
**点の密度をコントロールしてグラデーションをつける**
普通の「Populate 2D」だと点が均等にばらまかれますが、Image Samplerコンポーネントなどを使うと、画像の明るさから点の密度をコントロールしたり、特定の線(アトラクターカーブ)に近づくほど点が密集するように設定したりできます。
これで、単調なパターンじゃなくて、有機的で動きのある見た目を作ることができるんです。
**曲面にボロノイパターンを貼り付ける**
ここまでの説明は平面(2D)をベースにしていましたが、「Map to Surface」や「Sporph」というコンポーネントを使えば、平面で作ったボロノイの網目を、球体やうねりのある自由曲面(NURBSサーフェス)に貼り付けることもできます。
建築のドーム屋根とか、プロダクトの流線型のボディなんかによく使われる手法です。
さらに、Rhino7以降に入っている「SubD(細分割曲面)」機能や「Quad Remesh」を組み合わせると、角張ったボロノイのフレームを、滑らかで骨格みたいな有機的な立体に変えることもできちゃいます。
まとめ
ボロノイ分割は見た目が複雑で難しそうですが、基本の仕組みがわかれば意外と応用が効くパターンです。
まずは今回紹介した平面から立体への流れをマスターして、そこから自分なりのアレンジを加えて、自由なデジタルデザインを楽しんでみてください!
広告
