鄭祥+謝作如
制作一個鏤空花瓶的想法,最初源于學校開設甌窯課程的蔣老師。他想做一個瓶身由扭轉的柱子構成,看起來特別有創意和藝術感的花瓶,如圖1所示。但是,這種扭轉的柱子結構很難用手捏出來,即使捏出來了一時半會兒也很難定型,只能通過灌漿法向模具中灌漿來完成定型。于是,他希望我們能用創客空間里的3D打印機來制作模具。但由于當時的3D建模水平比較弱,我們覺得沒法做出這種扭曲旋轉的效果,只好放棄了。直到現在看到了IME3D提供的3D程序員軟件,才想到了解決的方案。
創意分析
一個瓶身由柱子扭轉而成的鏤空花瓶,主要由底盤和瓶身兩個部分組成。其中,瓶身是由多根柱子扭轉而成的,“如何讓這些柱子均勻地分布在底盤(圓形)的邊緣”成了這個想法能否實現的關鍵,而在3D建模中柱子與底盤的位置關系用平面坐標(x,y)就可確定,要想確定柱子的平面坐標(x,y)就需要一定的數學知識的支持。
3D程序員軟件是一款用代碼編程的形式來實現三維建模的軟件,支持以各種數學公式生成模型的方式。只要找到柱子旋轉的規律,就能用一個循環來批量生成旋轉的柱子,從而實現這個花瓶的建模。3D程序員學習版的下載地址是http://www.ime3d.com/。
數學分析
設定底盤的半徑為30,柱子的平面坐標為(x,y),柱子的數量為16根,可考慮從以下幾方面思考問題。
思路一:通過圓的函數公式來尋找柱子的平面坐標(x,y)
圓的函數公式是(x-a)2+(y-b)2=r2,由于模型的中心位置為原點(0,0),因此該圓的公式可以簡化為x2+y2=r2。設定底盤的半徑為30,則x的范圍為[-30,30],y坐標則可用x來表示,y=。
然而,思路一中根據x坐標無法簡單有效地實現柱子在底盤上的均勻分布,如上頁圖2圓的函數曲線所示,因此放棄思路一。
思路二:通過角度來確定柱子的平面坐標(x,y)
要實現柱子在底盤上位置的均勻分布,其實就是在底盤上進行16等分,而這16個坐標位置則可以用角度θ來表示。通過三角函數即可得出柱子的橫坐標x=rcosθ,縱坐標y=rsinθ,r為底盤的半徑,θ的范圍是[0,360],如圖3所示。
按照思路二的分析,在編程過程中代表角度的循環變量θ的變化范圍是0至360度,步長為22.5(即360/16)度,柱子的平面坐標為(rcosθ,rsinθ),r=30。
編程實現
按照以上分析進行編程建模,采用的建模軟件為3D程序員。
步驟一:創建半徑為30,高度為3的底盤
模型拉伸的模型居中屬性設為:不居中,制作花瓶底盤的效果如圖4所示。
步驟二:通過循環模塊確定16根柱子的平面坐標
根據數學分析中的思路二,可以確定循環模塊的幾個參數設置,循環變量θ的變化范圍:0~360,循環步長:22.5(即360/16)度,16根柱子所在平面上的坐標公式:(rcosθ,rsinθ),半徑r:30。
以下是通過以上參數,設置的尋找16根柱子坐標的編程腳本,柱子截面以圓形為例,編程確定16根柱子的平面坐標具體設置如圖5所示。
步驟三:通過高級拉伸模塊完成對16根柱子的扭曲拉伸
通過編程腳本中的循環模塊確定16根柱子的平面坐標后,就可通過高級拉伸模塊完成這16根柱子的添加。
高級拉伸模塊的屬性設置可自行調整,高級拉伸制作螺旋結構的瓶身的設置如圖6所示。
步驟四:通過布爾合并完成底盤和瓶身的合并,如圖7所示。
步驟五:修改參數,調整模型
根據生成模型的外觀,適當地進行調整,如將底盤半徑適當擴大為32,效果如圖8所示。
拓展升級
以上是利用三角函數和圓軌跡的關系,制作瓶身螺旋結構的花瓶的基本過程。除此之外,可以對模型的高度層數、扭曲角度,以及循環體中的循環步長等參數進行設置,可以調整出不同的效果。其中,高度層數的參數設置為1~5,會展現不同的拉伸效果,而循環步長則可以改柱子的數量。
圖9的3D模型是不是很像一個藝術花瓶,其高度層數為4。這個螺旋花瓶的腳本代碼如圖10所示。不過,學生說這不像花瓶,倒像果籃,也有學生說這是一個藝術垃圾桶。但不管如何,這種有規律的模型結構,很適合用3D程序員來實現。
如果對相關內容感興趣,請關注主持人博客。