此為開封博物館中的某牆面

很有隈研吾的感覺

不是這個wei yan wu!

本文將介紹如何使用grasshopper建立模型和應用。

觀察圖片,發現它是由橫豎交錯的木條組成。不同位置木條的長度不同,堆疊的層數不同,形成了宏觀層面上的圖案,十分巧妙。

據此,我們有了構思:1.首先建立一個曲面作為基本曲面,依據其uv方向在曲面上取等分點;2.導入一張圖片,將曲面上的點對應到圖片的像素點上,並獲取它的灰度

值;3.將uv方向相鄰的點連線,作為木條,利用灰度值控制木條堆疊層數。

只有三步,思路很簡單,只需要在grasshopper裏復現即可。過程中會有幾點需要注意。

正式開始

建立基本曲面,重建並調整uv方向,使得v方向與世界z軸平行,u方向與世界xy平面平行

本例對該曲面的uv方向要求較高,同向結構線必須平行;但不一定需要是未修剪的曲面。

拾取曲面至grasshopper,取等分點;為方便調整點間距,建立數學關係,用間距控制等分段數。

之後,使用image sampler導入一張圖片,點擊「蒙娜麗莎」獲取圖片定義域

使用該定義域建立矩形,並使用之前的數據求矩形曲面上的等分點

沿著曲面法線方向移動曲面等分點,移動的距離是一個等差數列,和該點代表的灰度相關。

為了實現木條橫豎交疊的效果,所有曲面上的等分點都要移動偶數次。

為了方便之後的數據處理,這裡對代表不同方向的木條分別進行移動。

nearest expression: x+1

之後,使用path mapper對代表不同方向木條的點進行數據結構處理。使得在同一個方向,同一個高度上的一列點在同一個列表內。

之後,用稍大於點間距的距離,對這些點進一步分組,使得距離過遠的點不屬於一個組內,這樣就能避免過長木條的出現。

經過這一步操作,可能會出現某個組內只有一個點的情況,使用prune tree 修剪樹 刪除這些數據。

最後用polyline連多段線,再略微延長各多段線,以保證各層木條之間有交點。

這時可見,立面已經初具雛形

之後我們只需要把多段線轉換為網格方管即可。

對於v方向的線,我們需要讓方管的一面平行於最近的曲面切平面。依此,在多段線端點作滿足要求的正方形。

對於u方向的線,則需要在多段線的 所有非連續的點和端點處 建立以曲面法線為x軸,世界z軸為y軸的平面,並建立正方形。

依據這些畫好的正方形,建立網格,統一方向並組合。

調整參數,獲得更佳效果:

由於所有幾何物件都是網格,所以文件很小,下圖所示模型只有1MB

可以直接應用至其它曲面,只要該曲面符合上述要求。

渲染:wzh 繪圖:lzx zzh
渲染:wzh 繪圖:lzx zzh

文件下載:pan.baidu.com/s/1YY9a7c

提取碼:k73t


推薦閱讀:
相關文章