Voronoi 形態研究 161216

不知道上篇文章的開題大家是否感興趣,Voronoi相信對於很多從事設計或是計算機圖形等職業的人來講並不陌生。它又稱之為泰森多邊形,是拓撲學中最基本的一種拓撲邏輯。 有趣的是,它能夠反映出自然界中很多動植物種類特徵的最基本的數學邏輯。讓我們來看看下面幾張圖就能幫助大家體會:

1.)

(圖1:鱷魚皮肌理)

2.)

(圖2:烏龜殼)

3.)

(圖3:樹葉微觀肌理)

當然,這些自然界所形成的拓撲形態遠比我們想像得要複雜很多,但是通過總結歸納,與Voronoi的形態十分相似,可以說最基本的Voronoi加上其他一些特殊的參數變化就能夠形成比基礎Voronoi更加複雜的拓撲紋理。

今天想和大家交流的是Voronoi+曲線干擾,所形成的的類似鱷魚皮的肌理(本文封面圖片),以下我們將通過Rhinoceros + GrasshopperScript ,並先以程序截圖+形成模型效果,再輔以文字描述來給大家具體呈現。

(總體程序+總體效果)

Step1.

步驟1:我們在grasshopper當中創建一組平面隨機分布的散點,並建立一個矩形,通過x y的區間去限定矩形大小來控制這組散點的分布範圍。(所用的電池名:Rectangle | ConstructDomain | Pop2D)

Step2.

步驟2:運用電池Voronoi 2D並連接之前所創建的那組散點得到一個最基本的Voronoi拓撲圖形,(此處只是為了觀看最基礎的Voronoi圖樣,之後所連接的電池還是用到之前所創建的Pop2D)

Step3.

步驟3:我們再在這組散點的附近畫出一條樣條曲線(可以在Rhino中運用Spline直接畫出)並計算出散點在樣條曲線上的最近點(每個散點都會對應一個在樣條曲線上的最近點),從而進一步得出,散點向樣條曲線上的最近點的移動向量。(此部分用到的電池名:closestpoint | distance |line 2PT | remap numbers | bounds | graph mapper(這個電池是通過運用數學函數計算來控制每個點移動的距離) | multiple | SDL)

Step4.

步驟4:之後我們就可以運用Move電池塊來進行點的移動,並且套用Voronoi電池塊,得到以上效果,所呈現的圖形已經具有初步的鱷魚皮的感覺~

Step5.

步驟5:運用Fillit電池塊進行每一個voronoi核的倒角處理,使得它們看上去更加有機。

Step6.

步驟6:我們將每一個voronoi核offset處理,並且將offset的線進行重新描繪。這樣可以讓offset的線看上去更加流暢。(所用電池名:Offset| Rebuild Curve)

Step7.

步驟7:此步驟就比較簡單了,相當於是將之前所生成的網路往z軸方向向下移動,之後改變offset大小,將每個voronoi的核做出「盆」的感覺,最後loft邊界即可。

Rhino模型效果

附上材質效果去渲染即可。

其實,本案還可以通過更換graph mapper去做不同的形式研究,或者將干擾曲線換做空間三維的形式等等。

希望此次探究可以引發更多讀者的興趣,上文其實還有很多細節沒有細講,我認為通過文字描述很難表述清楚,不過,我覺得大家在玩GH的時候自己試驗才會更加有趣,也會得到更多的可能性。此外,在此文中仍有很多不足之處,歡迎大家來交流,互相學習。

祝好

voronoi話題會繼續探究到極致,盡請期待。


推薦閱讀:

TAG:參數化設計 | 建築 | 建築設計 |