はじめに: 傾斜面ボロノイの挑戦

RhinoとGrasshopperを使って、傾斜した面にボロノイパターンを適用し、そこから個々のマリオン(方立)を生成するデザインは、非常に魅力的ですよね。しかし、いざ実装しようとすると、一部のボロノイセルに対してオフセットや押し出しがうまくいかず、エラーで止まってしまう、という経験はありませんか?今回の記事では、このよくある課題を解決し、どんな形状のボロノイセルでも確実にマリオンを作成するためのロジックと、具体的なGrasshopperコンポーネントの使い方を詳しく解説していきます。

問題点: オフセットと押し出しの壁

元のユーザーが直面した問題は、傾斜面にボロノイパターンを生成した後、個々のボロノイセルに対してオフセットを適用し、その後、内側に150mm押し出すというプロセスでした。しかし、この方法では、特に複雑な形状や非常に小さなセルで、オフセットが自己交差を起こしたり、無効なジオメトリを生成したりすることが多々あります。結果として、Offsetコンポーネントがエラーを吐き、その後のExtrudeコンポーネントも正常に動作しない、という状況に陥ってしまうのです。デザインの意図通りに全てのセルにマリオンを適用できないのは、大きなストレスですよね。

解決策: 「Scale」コンポーネントの活用

この問題を解決する鍵となるのが、Scaleコンポーネントです。従来のOffsetコンポーネントが曲線やサーフェスの法線方向に距離を指定して移動させるのに対し、Scaleコンポーネントは、各ボロノイセルの重心を基準にして、形状を均一に拡大・縮小します。これにより、どんなに複雑な形状のセルであっても、自己交差を起こすことなく、元の形状と相似な内部の形状を安定して作成できるのです。この「スケールされた内部の形状」と「元の形状」の間の領域が、マリオンの断面となります。

実装ステップ: Grasshopperでの構築

では、具体的なGrasshopperのワークフローを見ていきましょう。まず、傾斜したRhinoジオメトリ上にVoronoiパターンを生成します。次に、生成された個々のボロノイセル(境界曲線または平面サーフェス)を取得します。ここからが重要です。

1. 各ボロノイセルの重心をAreaコンポーネントで計算します。
2. この重心を基準点として、各セルの境界曲線をScaleコンポーネントで縮小します。スケールファクター(例: 0.9)を調整することで、マリオンの厚みをコントロールできます。
3. 元のセルの境界曲線と、スケールによって縮小された内側の境界曲線の両方を使って、Boundary Surfaceコンポーネントでマリオンの2D断面(フレーム状のサーフェス)を作成します。
4. 最後に、このマリオンの2D断面サーフェスを、Extrudeコンポーネントで内側に150mm押し出します。押し出す方向は、元の傾斜サーフェスの法線方向を反転させることで、正確に内側に向けることができます。

この方法であれば、Offsetコンポーネントでのエラーに悩まされることなく、安定して美しいボロノイマリオンを作成することが可能です。

まとめ: 複雑な形状への応用

Scaleコンポーネントを使うことで、複雑な傾斜面上のボロノイパターンに対しても、エラーなく確実にマリオンを生成できることがお分かりいただけたでしょうか。このロジックは、建築ファサードのデザインだけでなく、プロダクトデザインやアート作品など、様々な分野で応用が可能です。スケールファクターや押し出し深さを調整することで、デザインのバリエーションも無限に広がります。ぜひこのTipsを活用して、あなたのデザインワークフローをよりスムーズで堅牢なものにしてくださいね。