[Grasshopper]鳥の巣のような小屋の作成方法[データも配布]

[Grasshopper]鳥の巣のような小屋の作成方法[データも配布] grasshopper
本サイトはプロモーションが含まれています

今回は、グラスホッパーで鳥の巣のような小屋の作成方法について解説します。

本記事では、コンポーネントはアイコン表示になっています。


↑YouTube始めました。

本サイトIArchwayでは、GrasshopperやRhinocerousのサポートや相談をココナラで受け付けています。


動画で見る

全体の様子

全体の様子1
全体の様子2
全体の様子3
全体の様子4

上4枚の画像は、グラスホッパーの様子です。

全体の様子5
全体の様子6
全体の様子7
全体の様子8

上4枚の画像は、ライノセラス上に書き出した様子です。

レンダリング

上の画像は、最終的にレンダリングした様子です。

それでは、順番に解説していきます。

今回使用したグラスホッパーとライノセラスのデータダウンロードはこちら

ダウンロードできるデータのご利用に関しては、利用規約をご覧ください。

全体コンポーネント

全体コンポーネント:①CircleSeriesUnit ZMoveDivisionGraph MapperBoundsConstruct DomainRemap NumbersAreaScaleLoftDivide CurveLineList LengthRandomIntegerSort List ⑲Delete Consecutive ⑳Cull IndexProjectMergePipe

全体コンポーネント1
画像をクリックして拡大して見る
全体コンポーネント2
画像をクリックして拡大して見る

複数の円を真上に配列コピーする

最初に、複数の円を真上に配列コピーしていきます。

円

CircleのR端子に、半径の数値を入力します。

今回は、5000の数値を入力しています。

すると、上の画像のように、円の線データが作成されました。

移動させる数値

その後、移動させる間隔の数値を、SeriesのN端子につなげます。

今回は、1000の数値を入力しています。

さらに、配列コピーする個数の数値を、SeriesのC端子につなげます。

今回は、10の数値を入力しています。

すると、0から1000ずつ増加する数値が、10個作成されます。

配列コピー

その後、Seriesを、Unit Zにつなげます。

その後、Unit Zを、MoveのT端子につなげます。

さらに、Circleを、MoveのG端子につなげます。

すると、上の画像のように、円の線データが真上に配列コピーされました。

これで、複数の円を真上に配列コピーすることができました。

円のスケールを変えて各円をつなぐサーフェスを作成する

次に、円のスケールを変えて各円をつなぐサーフェスを作成していきます。

中心点

MoveのG端子を、Areaにつなげます。

すると、上の画像のように、各円の中心点が取得されます。

スケールを変える数値1

次に、スケールを変える数値を作成していきます。

先程の個数の数値の10を、DivisionのB端子につなげます。

さらに、1の数値を、DivisionのA端子につなげます。

すると、1÷10=0.1の数値が出力されます。

その後、Divisionを、SeriesのN端子につなげます。

さらに、先程の個数の数値の10を、SeriesのC端子につなげます。

すると、0から0.1ずつ増加する数値が、10個作成されます。

この数値を、次に使うグラフのX軸の数値になります。

Conic

その後、Seriesを、Graph Mapperにつなげます。

その後、Graph Mapperを右クリックし、Graph typesからConicに設定してください。

さらに、上の画像を参考に、グラフの形を設定してください。

スケールを変える数値2

すると、Graph Mapperから入力したX軸の数値に該当する、Y軸の数値が出力されます。

その後、Graph Mapperを、Boundsにつなげます。

すると、Graph Mapperから出力される数値の、最小値と最大値からできる数値範囲が作成されます。

その後、Construct DomainのA端子に、任意の倍率の数値を入力します。

今回は、0.2の数値を入力しています。

さらに、1の数値を、Construct DomainのB端子につなげます。

すると、0.2 To 1という数値範囲が作成されます。

Reverse

その後、Graph Mapperを、Remap NumbersのV端子につなげます。

さらに、Boundsを、Remap NumbersのS端子につなげます。

さらに、Construct Domainを、Remap NumbersのT端子につなげます。

この際に、Remap NumbersのR端子を右クリックし、Reverseに設定してください。

すると、Graph Mapperから出力される数値が、1~0.2の数値範囲内の数値に変換されました。

スケールが変わった

その後、Remap NumbersのR端子を、ScaleのF端子につなげます。

さらに、AreaのC端子を、ScaleのC端子につなげます。

さらに、MoveのG端子を、ScaleのG端子につなげます。

すると、上の画像のように、円の線データのスケールが変わりました。

サーフェス

その後、ScaleのG端子を、LoftのC端子につなげます。

すると、上の画像のように、各円をつなぐサーフェスが作成されました。

これで、円のスケールを変えて各円をつなぐサーフェスを作成することができました。

一番下の円の分割点をつなぐ線を作成する

次に、一番下の円の分割点をつなぐ線を作成していきます。

中心点

一番最初のCircleを、Areaにつなげます。

すると、上の画像のように、一番下の円の中心点を取得できました。

スケールを大きくした

その後、Circleを、ScaleのG端子につなげます。

さらに、AreaのC端子を、ScaleのC端子につなげます。

さらに、1より大きい倍率の数値を、ScaleのF端子につなげます。

今回は、1.5の数値を入力しています。

すると、上の画像のように、一番下の円のスケールが大きくなりました。

分割点

その後、ScaleのG端子を、Divide CurveのC端子につなげます。

さらに、分割数の数値を、Divide CurveのN端子につなげます。

今回は、50の数値を入力しています。

すると、上の画像のように、円の線を50に分割する位置に、点が作成されました。

Graft

その後、Divide CurveのP端子を、LineのAとB端子につなげます。

この際に、LineのB端子を右クリックし、Graftに設定してください。

分割点をつなぐ線

すると、上の画像のように、分割点をつなぐ線が作成されました。

Flatten

この際に、LineのL端子を右クリックし、Flattenに設定してください。

これで、一番下の円の分割点をつなぐ線を作成することができました。

ランダムに線を削除する

次に、ランダムに線を削除していきます。

ランダムに線を削除する数値

ランダムに線を削除する数値を作成していきます。

Lineを、List Lengthにつなげます。

すると、線データの個数の数値が出力されます。

今回の場合、2500の数値が出力されています。

その後、0の数値を、Construct DomainのA端子につなげます。

さらに、List Lengthを、Construct DomainのB端子につなげます。

すると、0 To 2500の数値範囲が作成されました。

その後、Construct Domainを、RandomのR端子につなげます。

さらに、作成するランダムな数値の個数の数値を、RandomのN端子につなげます。

今回は、2000の数値を入力しています。

さらに、任意のランダムさを変えるシード値を、RandomのS端子につなげます。

今回は、100の数値を入力しています。

すると、0~2500の数値範囲で、ランダムな数値が2000個作成されました。

その後、Randomを、Integerにつなげます。

すると、少数点の数値が、整数に変換されました。

その後、Integerを、Sort ListのK端子につなげます。

すると、数値が小さい順に並び替えられます。

その後、Sort ListのK端子を、Delete ConsecutiveのS端子につなげます。

すると、重複してる数値を削除することができました。

その後、Delete ConsecutiveのS端子を、Cull IndexのI端子につなげます。

さらに、Lineを、Cull IndexのL端子につなげます。

ランダムに線を削除できた

すると、上の画像のように、ランダムに線を削除することができました。

線をサーフェスに投影する

最後に、線をサーフェスに投影していきます。

投影

Cull Indexを、ProjectのC端子につなげます。

さらに、Loftを、ProjectのB端子につなげます。

すると、上の画像のように、サーフェス上に線が投影されました。

円の線データも結合

その後、ProjectScaleのG端子を、Mergeにつなげます。

すると、上の画像のように、線と円の線データを結合することができました。

パイプ

その後、Mergeを、PipeのC端子につなげます。

さらに、半径の数値を、PipeのR端子につなげます。

今回は、10の数値をつなげています。

すると、線からパイプが作成されました。

最後に、1の数値を、PipeのE端子につなげます。

すると、パイプの穴が閉じます。

これで完成です。

今回は以上になります。

コメント

Translate »
タイトルとURLをコピーしました